import { ID } from '../../../commonStateTypes/common'; import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { InvoicingFieldHelpByCode, InvoicingNamedOption } from '../../../entity/invoicing/invoicingCommonPayload'; import { RootState } from '../../../rootStateTypes'; import { RecordPaymentFormLocalData } from './recordPaymentState'; export interface InvoicingRecordPaymentView extends SelectorView { recordedInvoiceId?: ID; recordedTransactionId?: ID; } /** * Single bundled view for the record-payment submit lifecycle — carries the * submit fetch state/error and the ids produced on success. */ export declare const getRecordPaymentView: (state: RootState) => InvoicingRecordPaymentView; /** * Bundled view for the Record Payment form screen: the draft `localData`, the * CES-owned payment-method / gateway value sets, and the submit fetch state. */ export interface RecordPaymentFormView extends SelectorView { /** * Backend help copy for this screen's field group, keyed by field code. * Folded in here so the screen never reaches for the config view itself. */ fieldHelp: InvoicingFieldHelpByCode; gatewayOptions: InvoicingNamedOption[]; localData: RecordPaymentFormLocalData; paymentMethodOptions: InvoicingNamedOption[]; contextInvoiceId?: ID; } export declare const getRecordPaymentFormView: (state: RootState) => RecordPaymentFormView; export interface RecordPaymentInvoiceOption { amountDue: number; id: ID; invoiceNumber: string; } export declare const getRecordPaymentInvoiceOptions: (state: RootState, customerId: ID) => RecordPaymentInvoiceOption[];