/** Types generated for queries found in "src/modules/financial-entities/providers/tax-categories.provider.ts" */
export type currency = 'AUD' | 'CAD' | 'ETH' | 'EUR' | 'GBP' | 'GRT' | 'ILS' | 'JPY' | 'SEK' | 'USD' | 'USDC';

/** 'GetTaxCategoryByBusinessIDs' parameters type */
export interface IGetTaxCategoryByBusinessIDsParams {
  BusinessIds: readonly (string | null | void)[];
}

/** 'GetTaxCategoryByBusinessIDs' return type */
export interface IGetTaxCategoryByBusinessIDsResult {
  business_id: string;
  created_at: Date;
  hashavshevet_name: string | null;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string;
  sort_code: number | null;
  tax_excluded: boolean;
  type: string | null;
  updated_at: Date;
}

/** 'GetTaxCategoryByBusinessIDs' query type */
export interface IGetTaxCategoryByBusinessIDsQuery {
  params: IGetTaxCategoryByBusinessIDsParams;
  result: IGetTaxCategoryByBusinessIDsResult;
}

/** 'GetTaxCategoryBySortCodes' parameters type */
export interface IGetTaxCategoryBySortCodesParams {
  sortCodes: readonly (number | null | void)[];
}

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

/** 'GetTaxCategoryBySortCodes' query type */
export interface IGetTaxCategoryBySortCodesQuery {
  params: IGetTaxCategoryBySortCodesParams;
  result: IGetTaxCategoryBySortCodesResult;
}

/** 'GetTaxCategoryByFinancialAccountIdsAndCurrencies' parameters type */
export interface IGetTaxCategoryByFinancialAccountIdsAndCurrenciesParams {
  Currencies: readonly (currency | null | void)[];
  FinancialAccountIds: readonly (string | null | void)[];
}

/** 'GetTaxCategoryByFinancialAccountIdsAndCurrencies' return type */
export interface IGetTaxCategoryByFinancialAccountIdsAndCurrenciesResult {
  created_at: Date;
  currency: currency;
  financial_account_id: string;
  hashavshevet_name: string | null;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string | null;
  sort_code: number | null;
  tax_excluded: boolean;
  type: string | null;
  updated_at: Date;
}

/** 'GetTaxCategoryByFinancialAccountIdsAndCurrencies' query type */
export interface IGetTaxCategoryByFinancialAccountIdsAndCurrenciesQuery {
  params: IGetTaxCategoryByFinancialAccountIdsAndCurrenciesParams;
  result: IGetTaxCategoryByFinancialAccountIdsAndCurrenciesResult;
}

/** 'GetTaxCategoryByFinancialAccountOwnerIds' parameters type */
export interface IGetTaxCategoryByFinancialAccountOwnerIdsParams {
  ownerIds: readonly (string | null | void)[];
}

/** 'GetTaxCategoryByFinancialAccountOwnerIds' return type */
export interface IGetTaxCategoryByFinancialAccountOwnerIdsResult {
  created_at: Date;
  currency: currency;
  financial_account_id: string;
  financial_account_owner_id: string | null;
  hashavshevet_name: string | null;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string | null;
  sort_code: number | null;
  tax_excluded: boolean;
  type: string | null;
  updated_at: Date;
}

/** 'GetTaxCategoryByFinancialAccountOwnerIds' query type */
export interface IGetTaxCategoryByFinancialAccountOwnerIdsQuery {
  params: IGetTaxCategoryByFinancialAccountOwnerIdsParams;
  result: IGetTaxCategoryByFinancialAccountOwnerIdsResult;
}

/** 'GetTaxCategoryByFinancialAccountIds' parameters type */
export interface IGetTaxCategoryByFinancialAccountIdsParams {
  financialAccountIds: readonly (string | null | void)[];
}

/** 'GetTaxCategoryByFinancialAccountIds' return type */
export interface IGetTaxCategoryByFinancialAccountIdsResult {
  created_at: Date;
  currency: currency;
  financial_account_id: string;
  hashavshevet_name: string | null;
  id: string;
  irs_code: number | null;
  is_active: boolean;
  name: string;
  owner_id: string | null;
  sort_code: number | null;
  tax_excluded: boolean;
  type: string | null;
  updated_at: Date;
}

/** 'GetTaxCategoryByFinancialAccountIds' query type */
export interface IGetTaxCategoryByFinancialAccountIdsQuery {
  params: IGetTaxCategoryByFinancialAccountIdsParams;
  result: IGetTaxCategoryByFinancialAccountIdsResult;
}

/** 'GetTaxCategoryByIDs' parameters type */
export interface IGetTaxCategoryByIDsParams {
  Ids: readonly (string | null | void)[];
}

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

/** 'GetTaxCategoryByIDs' query type */
export interface IGetTaxCategoryByIDsQuery {
  params: IGetTaxCategoryByIDsParams;
  result: IGetTaxCategoryByIDsResult;
}

/** 'GetAllTaxCategories' parameters type */
export type IGetAllTaxCategoriesParams = void;

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

/** 'GetAllTaxCategories' query type */
export interface IGetAllTaxCategoriesQuery {
  params: IGetAllTaxCategoriesParams;
  result: IGetAllTaxCategoriesResult;
}

/** 'UpdateTaxCategory' parameters type */
export interface IUpdateTaxCategoryParams {
  hashavshevetName?: string | null | void;
  taxCategoryId?: string | null | void;
  taxExcluded?: boolean | null | void;
}

/** 'UpdateTaxCategory' return type */
export interface IUpdateTaxCategoryResult {
  hashavshevet_name: string | null;
  id: string;
  owner_id: string;
  tax_excluded: boolean;
}

/** 'UpdateTaxCategory' query type */
export interface IUpdateTaxCategoryQuery {
  params: IUpdateTaxCategoryParams;
  result: IUpdateTaxCategoryResult;
}

/** 'UpdateBusinessTaxCategory' parameters type */
export interface IUpdateBusinessTaxCategoryParams {
  businessId?: string | null | void;
  ownerId?: string | null | void;
  taxCategoryId?: string | null | void;
}

/** 'UpdateBusinessTaxCategory' return type */
export interface IUpdateBusinessTaxCategoryResult {
  business_id: string;
  owner_id: string;
  tax_category_id: string;
}

/** 'UpdateBusinessTaxCategory' query type */
export interface IUpdateBusinessTaxCategoryQuery {
  params: IUpdateBusinessTaxCategoryParams;
  result: IUpdateBusinessTaxCategoryResult;
}

/** 'InsertTaxCategory' parameters type */
export interface IInsertTaxCategoryParams {
  hashavshevetName?: string | null | void;
  id?: string | null | void;
  ownerId?: string | null | void;
  taxExcluded?: boolean | null | void;
}

/** 'InsertTaxCategory' return type */
export interface IInsertTaxCategoryResult {
  hashavshevet_name: string | null;
  id: string;
  owner_id: string;
  tax_excluded: boolean;
}

/** 'InsertTaxCategory' query type */
export interface IInsertTaxCategoryQuery {
  params: IInsertTaxCategoryParams;
  result: IInsertTaxCategoryResult;
}

/** 'InsertBusinessTaxCategory' parameters type */
export interface IInsertBusinessTaxCategoryParams {
  businessId?: string | null | void;
  ownerId?: string | null | void;
  taxCategoryId?: string | null | void;
}

/** 'InsertBusinessTaxCategory' return type */
export interface IInsertBusinessTaxCategoryResult {
  business_id: string;
  owner_id: string;
  tax_category_id: string;
}

/** 'InsertBusinessTaxCategory' query type */
export interface IInsertBusinessTaxCategoryQuery {
  params: IInsertBusinessTaxCategoryParams;
  result: IInsertBusinessTaxCategoryResult;
}

/** 'DeleteBusinessTaxCategory' parameters type */
export interface IDeleteBusinessTaxCategoryParams {
  businessId?: string | null | void;
  ownerId?: string | null | void;
}

/** 'DeleteBusinessTaxCategory' return type */
export interface IDeleteBusinessTaxCategoryResult {
  business_id: string;
  owner_id: string;
  tax_category_id: string;
}

/** 'DeleteBusinessTaxCategory' query type */
export interface IDeleteBusinessTaxCategoryQuery {
  params: IDeleteBusinessTaxCategoryParams;
  result: IDeleteBusinessTaxCategoryResult;
}

/** 'DeleteTaxCategory' parameters type */
export interface IDeleteTaxCategoryParams {
  taxCategoryId?: string | null | void;
}

/** 'DeleteTaxCategory' return type */
export interface IDeleteTaxCategoryResult {
  hashavshevet_name: string | null;
  id: string;
  owner_id: string;
  tax_excluded: boolean;
}

/** 'DeleteTaxCategory' query type */
export interface IDeleteTaxCategoryQuery {
  params: IDeleteTaxCategoryParams;
  result: IDeleteTaxCategoryResult;
}

/** 'ReplaceTaxCategories' parameters type */
export interface IReplaceTaxCategoriesParams {
  targetTaxCategoryId?: string | null | void;
  taxCategoryIdToReplace?: string | null | void;
}

/** 'ReplaceTaxCategories' return type */
export interface IReplaceTaxCategoriesResult {
  id: string;
}

/** 'ReplaceTaxCategories' query type */
export interface IReplaceTaxCategoriesQuery {
  params: IReplaceTaxCategoriesParams;
  result: IReplaceTaxCategoriesResult;
}

