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

/** 'GetFinancialBankAccountsByIds' parameters type */
export interface IGetFinancialBankAccountsByIdsParams {
  bankAccountIds: readonly (string | null | void)[];
}

/** 'GetFinancialBankAccountsByIds' return type */
export interface IGetFinancialBankAccountsByIdsResult {
  account_agreement_opening_date: number | null;
  account_closing_reason_code: number | null;
  account_deal_date: number | null;
  account_update_date: number | null;
  bank_number: number;
  branch_number: number;
  branch_type_code: number | null;
  extended_bank_number: number | null;
  iban: string | null;
  id: string;
  kod_harshaat_peilut: number | null;
  meteg_doar_net: number | null;
  mymail_entitlement_switch: number | null;
  party_account_involvement_code: number | null;
  party_preferred_indication: number | null;
  product_label: string | null;
  service_authorization_desc: string | null;
  swift_code: string | null;
}

/** 'GetFinancialBankAccountsByIds' query type */
export interface IGetFinancialBankAccountsByIdsQuery {
  params: IGetFinancialBankAccountsByIdsParams;
  result: IGetFinancialBankAccountsByIdsResult;
}

/** 'GetAllFinancialBankAccounts' parameters type */
export type IGetAllFinancialBankAccountsParams = void;

/** 'GetAllFinancialBankAccounts' return type */
export interface IGetAllFinancialBankAccountsResult {
  account_agreement_opening_date: number | null;
  account_closing_reason_code: number | null;
  account_deal_date: number | null;
  account_update_date: number | null;
  bank_number: number;
  branch_number: number;
  branch_type_code: number | null;
  extended_bank_number: number | null;
  iban: string | null;
  id: string;
  kod_harshaat_peilut: number | null;
  meteg_doar_net: number | null;
  mymail_entitlement_switch: number | null;
  party_account_involvement_code: number | null;
  party_preferred_indication: number | null;
  product_label: string | null;
  service_authorization_desc: string | null;
  swift_code: string | null;
}

/** 'GetAllFinancialBankAccounts' query type */
export interface IGetAllFinancialBankAccountsQuery {
  params: IGetAllFinancialBankAccountsParams;
  result: IGetAllFinancialBankAccountsResult;
}

/** 'UpdateBankAccount' parameters type */
export interface IUpdateBankAccountParams {
  accountAgreementOpeningDate?: number | null | void;
  accountClosingReasonCode?: number | null | void;
  accountDealDate?: number | null | void;
  accountUpdateDate?: number | null | void;
  bankAccountId?: string | null | void;
  bankNumber?: number | null | void;
  branchNumber?: number | null | void;
  branchTypeCode?: number | null | void;
  extendedBankNumber?: number | null | void;
  iban?: string | null | void;
  kodHarshaatPeilut?: number | null | void;
  metegDoarNet?: number | null | void;
  mymailEntitlementSwitch?: number | null | void;
  partyAccountInvolvementCode?: number | null | void;
  partyPreferredIndication?: number | null | void;
  productLabel?: string | null | void;
  serviceAuthorizationDesc?: string | null | void;
  swiftCode?: string | null | void;
}

/** 'UpdateBankAccount' return type */
export interface IUpdateBankAccountResult {
  account_agreement_opening_date: number | null;
  account_closing_reason_code: number | null;
  account_deal_date: number | null;
  account_update_date: number | null;
  bank_number: number;
  branch_number: number;
  branch_type_code: number | null;
  extended_bank_number: number | null;
  iban: string | null;
  id: string;
  kod_harshaat_peilut: number | null;
  meteg_doar_net: number | null;
  mymail_entitlement_switch: number | null;
  owner_id: string;
  party_account_involvement_code: number | null;
  party_preferred_indication: number | null;
  product_label: string | null;
  service_authorization_desc: string | null;
  swift_code: string | null;
}

/** 'UpdateBankAccount' query type */
export interface IUpdateBankAccountQuery {
  params: IUpdateBankAccountParams;
  result: IUpdateBankAccountResult;
}

/** 'InsertBankAccounts' parameters type */
export interface IInsertBankAccountsParams {
  bankAccounts: readonly ({
    id: string | null | void,
    bankNumber: number | null | void,
    branchNumber: number | null | void,
    iban: string | null | void,
    swiftCode: string | null | void,
    extendedBankNumber: number | null | void,
    partyPreferredIndication: number | null | void,
    partyAccountInvolvementCode: number | null | void,
    accountDealDate: number | null | void,
    accountUpdateDate: number | null | void,
    metegDoarNet: number | null | void,
    kodHarshaatPeilut: number | null | void,
    accountClosingReasonCode: number | null | void,
    accountAgreementOpeningDate: number | null | void,
    serviceAuthorizationDesc: string | null | void,
    branchTypeCode: number | null | void,
    mymailEntitlementSwitch: number | null | void,
    productLabel: string | null | void,
    ownerId: string | null | void
  })[];
}

/** 'InsertBankAccounts' return type */
export interface IInsertBankAccountsResult {
  account_agreement_opening_date: number | null;
  account_closing_reason_code: number | null;
  account_deal_date: number | null;
  account_update_date: number | null;
  bank_number: number;
  branch_number: number;
  branch_type_code: number | null;
  extended_bank_number: number | null;
  iban: string | null;
  id: string;
  kod_harshaat_peilut: number | null;
  meteg_doar_net: number | null;
  mymail_entitlement_switch: number | null;
  owner_id: string;
  party_account_involvement_code: number | null;
  party_preferred_indication: number | null;
  product_label: string | null;
  service_authorization_desc: string | null;
  swift_code: string | null;
}

/** 'InsertBankAccounts' query type */
export interface IInsertBankAccountsQuery {
  params: IInsertBankAccountsParams;
  result: IInsertBankAccountsResult;
}

/** 'DeleteBankAccount' parameters type */
export interface IDeleteBankAccountParams {
  bankAccountId?: string | null | void;
}

/** 'DeleteBankAccount' return type */
export interface IDeleteBankAccountResult {
  id: string;
}

/** 'DeleteBankAccount' query type */
export interface IDeleteBankAccountQuery {
  params: IDeleteBankAccountParams;
  result: IDeleteBankAccountResult;
}

