/** Types generated for queries found in "src/modules/financial-entities/providers/financial-entities.provider.ts" */

/** 'GetFinancialEntitiesByIds' parameters type */
export interface IGetFinancialEntitiesByIdsParams {
  ids: readonly (string | null | void)[];
}

/** 'GetFinancialEntitiesByIds' return type */
export interface IGetFinancialEntitiesByIdsResult {
  created_at: Date;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string | null;
  sort_code: number | null;
  type: string | null;
  updated_at: Date;
}

/** 'GetFinancialEntitiesByIds' query type */
export interface IGetFinancialEntitiesByIdsQuery {
  params: IGetFinancialEntitiesByIdsParams;
  result: IGetFinancialEntitiesByIdsResult;
}

/** 'GetAllFinancialEntities' parameters type */
export type IGetAllFinancialEntitiesParams = void;

/** 'GetAllFinancialEntities' return type */
export interface IGetAllFinancialEntitiesResult {
  created_at: Date;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string | null;
  sort_code: number | null;
  type: string | null;
  updated_at: Date;
}

/** 'GetAllFinancialEntities' query type */
export interface IGetAllFinancialEntitiesQuery {
  params: IGetAllFinancialEntitiesParams;
  result: IGetAllFinancialEntitiesResult;
}

/** 'UpdateFinancialEntity' parameters type */
export interface IUpdateFinancialEntityParams {
  financialEntityId?: string | null | void;
  irsCode?: number | null | void;
  isActive?: boolean | null | void;
  name?: string | null | void;
  sortCode?: number | null | void;
  type?: string | null | void;
}

/** 'UpdateFinancialEntity' return type */
export interface IUpdateFinancialEntityResult {
  created_at: Date;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string | null;
  sort_code: number | null;
  type: string | null;
  updated_at: Date;
}

/** 'UpdateFinancialEntity' query type */
export interface IUpdateFinancialEntityQuery {
  params: IUpdateFinancialEntityParams;
  result: IUpdateFinancialEntityResult;
}

/** 'InsertFinancialEntities' parameters type */
export interface IInsertFinancialEntitiesParams {
  financialEntities: readonly ({
    type: string | null | void,
    ownerId: string | null | void,
    name: string | null | void,
    sortCode: number | null | void,
    irsCode: number | null | void,
    isActive: boolean | null | void
  })[];
}

/** 'InsertFinancialEntities' return type */
export interface IInsertFinancialEntitiesResult {
  created_at: Date;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string | null;
  sort_code: number | null;
  type: string | null;
  updated_at: Date;
}

/** 'InsertFinancialEntities' query type */
export interface IInsertFinancialEntitiesQuery {
  params: IInsertFinancialEntitiesParams;
  result: IInsertFinancialEntitiesResult;
}

/** 'DeleteFinancialEntity' parameters type */
export interface IDeleteFinancialEntityParams {
  financialEntityId?: string | null | void;
}

/** 'DeleteFinancialEntity' return type */
export interface IDeleteFinancialEntityResult {
  id: string;
}

/** 'DeleteFinancialEntity' query type */
export interface IDeleteFinancialEntityQuery {
  params: IDeleteFinancialEntityParams;
  result: IDeleteFinancialEntityResult;
}

/** 'ReplaceFinancialEntities' parameters type */
export interface IReplaceFinancialEntitiesParams {
  entityIdToReplace?: string | null | void;
  targetEntityId?: string | null | void;
}

/** 'ReplaceFinancialEntities' return type */
export interface IReplaceFinancialEntitiesResult {
  id: string;
}

/** 'ReplaceFinancialEntities' query type */
export interface IReplaceFinancialEntitiesQuery {
  params: IReplaceFinancialEntitiesParams;
  result: IReplaceFinancialEntitiesResult;
}

