import { FetchState, ID } from '../../../commonStateTypes/common'; import { ZeniAPIStatus } from '../../../responsePayload'; import { InvoicingInvoiceActionBody } from './invoiceDetailPayload'; import { InvoiceDetail, InvoiceDetailState } from './invoiceDetailState'; export type InvoicingInvoiceActionKind = 'apply-excess' | 'collect' | 'issue-credit-note' | 'record-payment' | 'refund-excess' | 'regenerate' | 'remove-payment' | 'payment-schedule' | 'send' | 'send-reminder' | 'void' | 'write-off'; export interface RunInvoicingInvoiceActionPayload { action: InvoicingInvoiceActionKind; invoiceId: ID; /** Optional JSON body for actions that take parameters (e.g. record-payment). */ body?: InvoicingInvoiceActionBody; } export interface UpdateInvoicingInvoicePayload { data: Record; invoiceId: ID; } export declare const initialState: InvoiceDetailState; /** Build a per-invoice detail fetch-state entry. */ export declare function buildInvoiceDetail(id: ID, fetchState: FetchState, error?: ZeniAPIStatus): InvoiceDetail; export declare const fetchInvoiceDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ invoiceId: ID; }, "invoicingInvoiceDetail/fetchInvoiceDetail">, runInvoicingInvoiceAction: import("@reduxjs/toolkit").ActionCreatorWithPayload, runInvoicingInvoiceActionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ error: ZeniAPIStatus; invoiceId: ID; }, "invoicingInvoiceDetail/runInvoicingInvoiceActionFailure">, runInvoicingInvoiceActionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ invoiceId: ID; }, "invoicingInvoiceDetail/runInvoicingInvoiceActionSuccess">, updateInvoicingInvoice: import("@reduxjs/toolkit").ActionCreatorWithPayload, fetchInvoiceDetailPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: { invoiceId: ID; cacheOverride?: boolean; }], { cacheOverride: boolean; invoiceId: string; }, "invoicingInvoiceDetail/fetchInvoiceDetailPage", never, never>, updateInvoiceDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ invoiceId: ID; }, "invoicingInvoiceDetail/updateInvoiceDetail">, updateInvoiceDetailFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ invoiceId: ID; status: ZeniAPIStatus; }, "invoicingInvoiceDetail/updateInvoiceDetailFailure">; declare const _default: import("redux").Reducer; export default _default;