// @generated
// This file is automatically generated by Kanel. Do not modify manually.

import type { UsersId } from './Users';
import type { PrezziarioIdprezziario } from './Prezziario';
import type { ServizioServizioId } from './Servizio';
import type { default as OrderTypeEnum } from './OrderTypeEnum';
import type { default as PaymentStatusEnum } from './PaymentStatusEnum';
import type { RinnoviId } from './Rinnovi';
import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely';

/** Identifier type for public.ordini */
export type OrdiniOrdineId = string & { __brand: 'public.ordini' };

/** Represents the table public.ordini */
export default interface OrdiniTable {
  ordine_id: ColumnType<OrdiniOrdineId, OrdiniOrdineId | undefined, OrdiniOrdineId>;

  userid: ColumnType<UsersId, UsersId, UsersId>;

  created_at: ColumnType<Date, Date | string | undefined, Date | string>;

  packid: ColumnType<PrezziarioIdprezziario, PrezziarioIdprezziario, PrezziarioIdprezziario>;

  servizio_id: ColumnType<ServizioServizioId | null, ServizioServizioId | null, ServizioServizioId | null>;

  type: ColumnType<OrderTypeEnum, OrderTypeEnum, OrderTypeEnum>;

  isActive: ColumnType<boolean, boolean | undefined, boolean>;

  amount_cent: ColumnType<number, number, number>;

  paymentmethod: ColumnType<string | null, string | null, string | null>;

  paid_at: ColumnType<Date | null, Date | string | null, Date | string | null>;

  intent_id: ColumnType<string | null, string | null, string | null>;

  paymentstatus: ColumnType<PaymentStatusEnum | null, PaymentStatusEnum | null, PaymentStatusEnum | null>;

  sconto: ColumnType<number, number | undefined, number>;

  rinnovo_id: ColumnType<RinnoviId | null, RinnoviId | null, RinnoviId | null>;
}

export type Ordini = Selectable<OrdiniTable>;

export type NewOrdini = Insertable<OrdiniTable>;

export type OrdiniUpdate = Updateable<OrdiniTable>;
