import { ActionsObservable, StateObservable } from 'redux-observable'; import { AccountState } from '../../../../../entity/account/accountState'; import { updateBillTransaction } from '../../../../../entity/billPay/billTransaction/billTransactionReducer'; import { BillStageCodeType, BillTransactionState } from '../../../../../entity/billPay/billTransaction/billTransactionState'; import { RecurringBillConfigBodyPayload } from '../../../../../entity/billPay/recurringBills/recurringBillsPayload'; import { updateRecurringBillConfigs, updateRecurringBills } from '../../../../../entity/billPay/recurringBills/recurringBillsReducer'; import { RecurringBillState } from '../../../../../entity/billPay/recurringBills/recurringBillsState'; import { PaymentAccountState } from '../../../../../entity/paymentAccount/paymentAccountState'; import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer'; import { TransactionWithAccountAndClassLinePayload } from '../../../../../entity/transaction/payloadTypes/transactionLinePayload'; import { RootState } from '../../../../../rootStateTypes'; import { ZeniAPI } from '../../../../../zeniAPI'; import { ZeniAccountPaymentMethod } from '../../../zeniAccounts/zeniAccountsConfig/zeniAccountsConfigState'; import { BillPayConfig, BillPaymentConfigCodeType, BillPaymentSubConfigCodeType } from '../../billPayConfig/billPayConfigState'; import { saveBillDetail, saveBillSuccessOrFailure } from '../editBillViewReducer'; import { EditBillDetail } from '../editBillViewState'; export type ActionType = ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType; export declare const saveBillDetailEpic: (actions$: ActionsObservable, state$: StateObservable, zeniAPI: ZeniAPI) => import("rxjs").Observable; export declare function prepareSaveBillPayload(accountState: AccountState, billTransactionState: BillTransactionState, paymentAccountState: PaymentAccountState, recurringBillState: RecurringBillState, billDetail: EditBillDetail, billStageCode: BillStageCodeType, isForMarkAsPaid: boolean, isApproverMarkingAsPaid: boolean): Partial; export declare const getBillPaymentMethodTypePayload: (paymentType?: BillPayConfig | ZeniAccountPaymentMethod) => BillPaymentMethodTypePayload; interface BillPaymentMethodTypePayload { code: BillPaymentConfigCodeType | null; name: string; sub_code: BillPaymentSubConfigCodeType | null; } interface SaveBillPayload { account_id: string; bill_pay_info: { bill_payment_method_type: { code: BillPaymentConfigCodeType | null; name: string; sub_code: BillPaymentSubConfigCodeType | null; }; bill_payment_status: { code: string | null; }; from_account: { account_id: string; account_type: string; }; is_cancelled: boolean; payment_date: string | null; stage: { code: string; }; to_account: { account_id?: string | null; payment_instrument_id?: string | null; }; international_transfer_fee_bearer_payment_method?: string | null; is_collect_to_account_info_from_vendor_contact?: boolean; outside_zeni_transaction_payment_mode?: string | null; to_account_vendor_email?: string | null; }; bill_pay_provider: string; candidate_vendor_name: string; currency_code: string | null; document_id: string; due_date: string | null; exchange_rate: number | null; file_id: string; lines: TransactionWithAccountAndClassLinePayload[]; ocr_parsed_vendor_term: string | null; recipient_currency_code: string | null; recipient_total_amount: number; sync_token: string | null; total_amount: number; transaction_date: string | null; transaction_memo: string; transaction_type: string; update_time: string | null; vendor_id: string; are_approvals_serialized?: boolean; future_recurring_bill_instances?: RecurringBillInstancePayload[] | null; is_outside_zeni_bill_marked_as_paid_by_approver?: boolean | null; is_recurring?: boolean | null; is_update_future_recurring_bills?: boolean | null; is_update_recurring_bill_config?: boolean | null; recurring_bill_config?: RecurringBillConfigBodyPayload | null; recurring_bill_instances?: RecurringBillInstancePayload[] | null; vendor_name?: string | null; } interface RecurringBillInstancePayload { instance: number; payment_date: string; vendor_receive_date: string; vendor_receive_date_notes: string; } export {};