import { URLPayload } from '../../commonPayloadTypes/urlPayload'; import { SegregatedReimbursementLineWithRecommendation } from '../../view/spendManagement/reimbursement/editRemiView/editRemiViewState'; import { AccountBasePayload } from '../account/accountPayload'; import { BillAccountPayload, BillPaymentMethodPayload, BillPaymentStatusPayload, BillStagePayload, BillStatusPayload, BulkOperationDetailPayload, DeletionInfoPayload } from '../billPay/billTransaction/billTransactionPayload'; import { ClassBasePayload } from '../class/classPayload'; import { CustomerBasePayload } from '../customer/customerPayload'; import { MerchantBasePayload } from '../merchant/merchantPayload'; import { AttachmentPayload } from '../transaction/payloadTypes/attachmentPayload'; import { LineDetail, Reimbursement, ReimbursementTypeCode } from './reimbursementState'; export interface ReimbursementPayload { bulk_operation_detail: BulkOperationDetailPayload | null; created_by_user_id: string; currency_code: string; currency_symbol: string; deletion_info: DeletionInfoPayload; document_id: string | null; due_date: string | null; entity_approval_id: string; is_deleted: boolean; logo: URLPayload; processing_status: string | null; reimbursee_user_id: string; reimbursement_date: string; reimbursement_info: ReimbursementInfoPayload; reimbursement_provider: string; reimbursement_types_included: ReimbursementTypeCode[]; report_title: string; sync_token: string; total_amount: number; transaction_create_time: string; transaction_id: string; transaction_type: string; update_time: string; updated_by_json: Record; attachments?: AttachmentPayload[]; last_updated_by_user_id?: string; lines?: ReimbursementLinePayload[]; qbo_id?: string | null; } export type ReimbursementLinePayload = MilageReimbursementLinePayload | OutofPocketReimbursementLinePayload; interface ReimbursementLineBasePayload extends AmountPayload { file_id: string | null; home_currency_conversions: AmountPayload; line_description: string; line_detail: LineDetailPayload; line_id: string; reimbursement_type: ReimbursementTypePayload; transaction_date: string; } interface MilageReimbursementLinePayload extends ReimbursementLineBasePayload { distance_mileage: DistanceMilagePayload; } interface DistanceMilagePayload { unit: string; value: number; } interface OutofPocketReimbursementLinePayload extends ReimbursementLineBasePayload { merchant: MerchantBasePayload; } export interface AmountPayload { amount: number; currency_code: string; currency_symbol: string; } interface ReimbursementTypePayload { code: string; name?: string; } export interface LineDetailPayload { class: ClassBasePayload; account?: AccountBasePayload; customer?: CustomerBasePayload; } interface ReimbursementInfoPayload { actual_deposit_date: string | null; expected_deposit_date: string | null; from_account: BillAccountPayload; inbound_transfer_id: string | null; outbound_payment_id: string | null; reimbursement_payment_method_type: BillPaymentMethodPayload; reimbursement_payment_status: BillPaymentStatusPayload; reimbursement_status: BillStatusPayload; stage: BillStagePayload; to_account: BillAccountPayload; payment_date?: string; reimbursement_payment_status_update_time?: string | null; reimbursement_status_update_time?: string | null; stage_update_time?: string | null; } export declare const toReimbursement: (payload: ReimbursementPayload) => Reimbursement; export declare const toReimbursementLinePayload: (line: SegregatedReimbursementLineWithRecommendation) => ReimbursementLinePayload; export declare const toLineDetailPayload: (lineDetail: LineDetail) => LineDetailPayload; export {};