/** Types generated for queries found in "src/modules/corporate-taxes/providers/corporate-taxes.provider.ts" */
export type DateOrString = Date | string;

export type NumberOrString = number | string;

/** 'GetCorporateTaxesByCorporateIds' parameters type */
export interface IGetCorporateTaxesByCorporateIdsParams {
  corporateIds: readonly (string | null | void)[];
}

/** 'GetCorporateTaxesByCorporateIds' return type */
export interface IGetCorporateTaxesByCorporateIdsResult {
  corporate_id: string;
  date: Date;
  original_tax_rate: string;
  owner_id: string;
  tax_rate: string;
}

/** 'GetCorporateTaxesByCorporateIds' query type */
export interface IGetCorporateTaxesByCorporateIdsQuery {
  params: IGetCorporateTaxesByCorporateIdsParams;
  result: IGetCorporateTaxesByCorporateIdsResult;
}

/** 'UpdateCorporateTax' parameters type */
export interface IUpdateCorporateTaxParams {
  corporateId?: string | null | void;
  date?: DateOrString | null | void;
  originalDate?: DateOrString | null | void;
  originalTaxRate?: NumberOrString | null | void;
  taxRate?: NumberOrString | null | void;
}

/** 'UpdateCorporateTax' return type */
export interface IUpdateCorporateTaxResult {
  corporate_id: string;
  date: Date;
  original_tax_rate: string;
  owner_id: string;
  tax_rate: string;
}

/** 'UpdateCorporateTax' query type */
export interface IUpdateCorporateTaxQuery {
  params: IUpdateCorporateTaxParams;
  result: IUpdateCorporateTaxResult;
}

/** 'InsertCorporateTax' parameters type */
export interface IInsertCorporateTaxParams {
  corporateId?: string | null | void;
  date?: DateOrString | null | void;
  originalTaxRate?: NumberOrString | null | void;
  ownerId?: string | null | void;
  taxRate?: NumberOrString | null | void;
}

/** 'InsertCorporateTax' return type */
export interface IInsertCorporateTaxResult {
  corporate_id: string;
  date: Date;
  original_tax_rate: string;
  owner_id: string;
  tax_rate: string;
}

/** 'InsertCorporateTax' query type */
export interface IInsertCorporateTaxQuery {
  params: IInsertCorporateTaxParams;
  result: IInsertCorporateTaxResult;
}

/** 'DeleteCorporateTax' parameters type */
export interface IDeleteCorporateTaxParams {
  corporateId?: string | null | void;
  date?: DateOrString | null | void;
}

/** 'DeleteCorporateTax' return type */
export interface IDeleteCorporateTaxResult {
  corporate_id: string;
  date: Date;
  original_tax_rate: string;
  owner_id: string;
  tax_rate: string;
}

/** 'DeleteCorporateTax' query type */
export interface IDeleteCorporateTaxQuery {
  params: IDeleteCorporateTaxParams;
  result: IDeleteCorporateTaxResult;
}

