import { StatusCodeWithLabelPayload } from '../../../commonPayloadTypes/statusPayload'; import { AccountBasePayload } from '../../../entity/account/accountPayload'; import { ClassBasePayload } from '../../../entity/class/classPayload'; import { JEScheduleOtherAttributesPayload } from '../../../entity/jeSchedules/jeSchedulesPayload'; import { JEScheduledTransaction } from '../../../entity/jeSchedules/jeSchedulesSelector'; import { JEScheduleTransactionKey, ScheduleTypes } from '../../../entity/jeSchedules/jeSchedulesTypes'; import { TransactionIDPayload } from '../../../entity/transaction/payloadTypes/transactionIDPayload'; import { ScheduleTransaction } from '../../../entity/transaction/stateTypes/scheduleTransaction'; import { VendorBasePayload } from '../../../entity/vendor/vendorPayload'; import { Vendor, VendorState } from '../../../entity/vendor/vendorState'; import { RootState } from '../../../rootStateTypes'; import { ScheduleDetailsLocalData, ScheduleDetailsLocalDataFixedAssets } from './scheduleDetailState'; type BaseScheduleTransactionPayload = SaveScheduleTransactionPayload; export interface JESchedulePayload { balance: number | null; base_transaction: BaseScheduleTransactionPayload; currency_code: string; currency_symbol: string; end_date: string | null; je_credit_account_id: string | null; je_credit_accounting_class_id: string | null; je_debit_account_id: string | null; je_debit_accounting_class_id: string | null; je_schedule_type: string; other_attributes: JEScheduleOtherAttributesPayload; period: number | null; posting_date: number | null; start_date: string | null; status: StatusCodeWithLabelPayload; vendor: VendorBasePayload; is_deleted?: boolean; is_reviewed?: boolean; is_update_vendor_category_or_class?: boolean; je_schedule_id?: string; } export interface SaveJESchedulePayload { actual_post_date: string | null; amount: number | null; balance: number | null; create_time: string | null; expected_post_date: string | null; is_platform_generated: boolean | null; je_schedule_id: string | null; scheduled_journal_entry_id: string | null; status: StatusCodeWithLabelPayload; third_party_id: string | null; transaction_memo: string | null; update_time: string | null; actual_reversal_post_date?: string | null; is_bill_linked?: boolean | null; is_deleted?: boolean; reversal_transaction_details?: TransactionIDPayload | null; } interface SaveScheduleTransactionPayload extends TransactionIDPayload, Omit, Omit { line_id: string | null; third_party_transaction_id: string | null; total_amount: number | null; transaction_date: string | null; transaction_memo: string | null; } interface SaveScheduleDetailPayload { je_schedules: JESchedulePayload[]; scheduled_journal_entries: SaveJESchedulePayload[]; } export declare const mapVendorToVendorPayload: (payload: Vendor) => VendorBasePayload; export declare const mapScheduleTransactionToBaseScheduleTransactionPayload: (payload: ScheduleTransaction) => BaseScheduleTransactionPayload; export declare const mapAccruedExpenseJEScheduleTransactionToPayload: (jeScheduleTransactionState: JEScheduledTransaction, vendorState: VendorState, scheduleDetailsLocalData: ScheduleDetailsLocalDataFixedAssets, isDelete?: boolean, isMarkAsComplete?: boolean) => JESchedulePayload; export declare const prepareScheduleDetailPayload: (state: RootState, scheduleDetailsLocalData: ScheduleDetailsLocalData, selectedJEScheduleKey: JEScheduleTransactionKey, jeScheduleType: ScheduleTypes, isDelete?: boolean, isMarkAsComplete?: boolean, isUpdatingVendorCategoryOrClass?: boolean) => SaveScheduleDetailPayload; export {};