/** Types generated for queries found in "src/modules/financial-entities/providers/clients.provider.ts" */
export type document_type = 'CREDIT_INVOICE' | 'INVOICE' | 'INVOICE_RECEIPT' | 'OTHER' | 'PROFORMA' | 'RECEIPT' | 'UNPROCESSED';

export type Json = null | boolean | number | string | Json[] | { [key: string]: Json };

export type stringArray = (string)[];

/** 'GetAllClients' parameters type */
export type IGetAllClientsParams = void;

/** 'GetAllClients' return type */
export interface IGetAllClientsResult {
  business_id: string;
  document_type: document_type;
  emails: stringArray | null;
  green_invoice_id: string;
  hive_id: string | null;
  integrations: Json | null;
  owner_id: string;
  remark: string | null;
}

/** 'GetAllClients' query type */
export interface IGetAllClientsQuery {
  params: IGetAllClientsParams;
  result: IGetAllClientsResult;
}

/** 'GetClientsByIds' parameters type */
export interface IGetClientsByIdsParams {
  businessIds: readonly (string | null | void)[];
}

/** 'GetClientsByIds' return type */
export interface IGetClientsByIdsResult {
  business_id: string;
  document_type: document_type;
  emails: stringArray | null;
  green_invoice_id: string;
  hive_id: string | null;
  integrations: Json | null;
  owner_id: string;
  remark: string | null;
}

/** 'GetClientsByIds' query type */
export interface IGetClientsByIdsQuery {
  params: IGetClientsByIdsParams;
  result: IGetClientsByIdsResult;
}

/** 'GetClientsByGreenInvoiceIds' parameters type */
export interface IGetClientsByGreenInvoiceIdsParams {
  greenInvoiceBusinessIds: readonly (string | null | void)[];
}

/** 'GetClientsByGreenInvoiceIds' return type */
export interface IGetClientsByGreenInvoiceIdsResult {
  business_id: string;
  document_type: document_type;
  emails: stringArray | null;
  green_invoice_business_id: string | null;
  green_invoice_id: string;
  hive_id: string | null;
  integrations: Json | null;
  owner_id: string;
  remark: string | null;
}

/** 'GetClientsByGreenInvoiceIds' query type */
export interface IGetClientsByGreenInvoiceIdsQuery {
  params: IGetClientsByGreenInvoiceIdsParams;
  result: IGetClientsByGreenInvoiceIdsResult;
}

/** 'UpdateClient' parameters type */
export interface IUpdateClientParams {
  businessId?: string | null | void;
  emails?: stringArray | null | void;
  integrations?: Json | null | void;
  newBusinessId?: string | null | void;
}

/** 'UpdateClient' return type */
export interface IUpdateClientResult {
  business_id: string;
  document_type: document_type;
  emails: stringArray | null;
  green_invoice_id: string;
  hive_id: string | null;
  integrations: Json | null;
  owner_id: string;
  remark: string | null;
}

/** 'UpdateClient' query type */
export interface IUpdateClientQuery {
  params: IUpdateClientParams;
  result: IUpdateClientResult;
}

/** 'DeleteClient' parameters type */
export interface IDeleteClientParams {
  businessId?: string | null | void;
}

/** 'DeleteClient' return type */
export interface IDeleteClientResult {
  business_id: string;
}

/** 'DeleteClient' query type */
export interface IDeleteClientQuery {
  params: IDeleteClientParams;
  result: IDeleteClientResult;
}

/** 'InsertClient' parameters type */
export interface IInsertClientParams {
  businessId?: string | null | void;
  emails?: stringArray | null | void;
  integrations?: Json | null | void;
  ownerId?: string | null | void;
}

/** 'InsertClient' return type */
export interface IInsertClientResult {
  business_id: string;
  document_type: document_type;
  emails: stringArray | null;
  green_invoice_id: string;
  hive_id: string | null;
  integrations: Json | null;
  owner_id: string;
  remark: string | null;
}

/** 'InsertClient' query type */
export interface IInsertClientQuery {
  params: IInsertClientParams;
  result: IInsertClientResult;
}

