import { A as SetNameAction, D as Reducer, E as RedoAction, M as UndoAction, N as UpgradeManifest, S as PHDocument, _ as NOOPAction, b as PHAuthState, j as SignalDispatch, k as SchemaPruneAction, l as DocumentModelUtils, m as LoadStateAction, o as DocumentModelGlobalState, r as PHDocumentController, t as ActionMap, w as PHDocumentState, x as PHBaseState } from "../../index-BWXRiGBX.js";
import { a as ZodString, c as $strip, i as ZodObject, n as ZodEnum, o as ZodType, r as ZodLiteral, s as $ZodTypeInternals, t as ZodAny } from "../../schemas-CBgWAPtq.js";
import { t as DocumentDispatch } from "../../index-B72y5VYK.js";
import { $ as Scalars, A as IntermediaryBank, At as EditPayerBankAction, B as MakeEmpty, C as EditPayerWalletInput, Ct as InvoiceItemsAction, D as ExportedData, Dt as EditIssuerBankAction, E as Exact, Et as EditIssuerAction, F as InvoiceTag, Ft as EditPaymentDataAction, G as PaymentRouting, H as MakeOptional, I as InvoiceWallet, It as EditStatusAction, J as ReinstateInput, K as ReapprovePaymentInput, L as IssueInput, Lt as InvoiceGeneralAction, M as InvoiceAccountTypeInput, Mt as InvoicePartiesAction, N as InvoiceLineItem, Nt as AddPaymentAction, O as Incremental, Ot as EditIssuerWalletAction, P as InvoiceState, Pt as EditInvoiceAction, Q as ResetInput, R as LegalEntity, Rt as SetExportedDataAction, S as EditPayerInput, St as EditLineItemAction, T as EditStatusInput, Tt as SetLineItemTagAction, U as Maybe, V as MakeMaybe, W as Payment, X as Rejection, Y as RejectInput, Z as ReportPaymentIssueInput, _ as EditIssuerBankInput, _t as ReportPaymentIssueAction, a as AddLineItemInput, at as Token, b as EditLineItemInput, bt as AddLineItemAction, c as Bank, ct as CancelAction, d as ClosureReason, dt as InvoiceTransitionsAction, et as SchedulePaymentInput, f as ClosureReasonInput, ft as IssueAction, g as EditInvoiceInput, gt as RejectAction, h as DeleteLineItemInput, ht as ReinstateAction, i as AcceptInput, it as Status, j as InvoiceAccountType, jt as EditPayerWalletAction, k as InputMaybe, kt as EditPayerAction, l as CancelInput, lt as ClosePaymentAction, m as ContactInfo, mt as RegisterPaymentTxAction, n as InvoiceLocalState, nt as SetInvoiceTagInput, o as AddPaymentInput, ot as InvoiceAction, p as ConfirmPaymentInput, pt as ReapprovePaymentAction, q as RegisterPaymentTxInput, r as InvoicePHState, rt as SetLineItemTagInput, s as Address, st as AcceptAction, t as InvoiceDocument, tt as SetExportedDataInput, u as ClosePaymentInput, ut as ConfirmPaymentAction, v as EditIssuerInput, vt as ResetAction, w as EditPaymentDataInput, wt as SetInvoiceTagAction, x as EditPayerBankInput, xt as DeleteLineItemAction, y as EditIssuerWalletInput, yt as SchedulePaymentAction, z as LegalEntityId } from "../../types-Du9Gramh.js";

//#region document-models/invoice/v1/gen/document-model.d.ts
declare const documentModel: DocumentModelGlobalState;
declare namespace creators_d_exports {
  export { addPayment, editInvoice, editPaymentData, editStatus, setExportedData };
}
declare const editInvoice: (input: EditInvoiceInput) => EditInvoiceAction;
declare const addPayment: (input: AddPaymentInput) => AddPaymentAction;
declare const editPaymentData: (input: EditPaymentDataInput) => EditPaymentDataAction;
declare const editStatus: (input: EditStatusInput) => EditStatusAction;
declare const setExportedData: (input: SetExportedDataInput) => SetExportedDataAction;
declare namespace creators_d_exports$2 {
  export { editIssuer, editIssuerBank, editIssuerWallet, editPayer, editPayerBank, editPayerWallet };
}
declare const editIssuerBank: (input: EditIssuerBankInput) => EditIssuerBankAction;
declare const editIssuer: (input: EditIssuerInput) => EditIssuerAction;
declare const editIssuerWallet: (input: EditIssuerWalletInput) => EditIssuerWalletAction;
declare const editPayerBank: (input: EditPayerBankInput) => EditPayerBankAction;
declare const editPayer: (input: EditPayerInput) => EditPayerAction;
declare const editPayerWallet: (input: EditPayerWalletInput) => EditPayerWalletAction;
declare namespace creators_d_exports$1 {
  export { addLineItem, deleteLineItem, editLineItem, setInvoiceTag, setLineItemTag };
}
declare const addLineItem: (input: AddLineItemInput) => AddLineItemAction;
declare const deleteLineItem: (input: DeleteLineItemInput) => DeleteLineItemAction;
declare const editLineItem: (input: EditLineItemInput) => EditLineItemAction;
declare const setInvoiceTag: (input: SetInvoiceTagInput) => SetInvoiceTagAction;
declare const setLineItemTag: (input: SetLineItemTagInput) => SetLineItemTagAction;
declare namespace creators_d_exports$3 {
  export { accept, cancel, closePayment, confirmPayment, issue, reapprovePayment, registerPaymentTx, reinstate, reject, reportPaymentIssue, reset, schedulePayment };
}
declare const accept: (input: AcceptInput) => AcceptAction;
declare const cancel: (input: CancelInput) => CancelAction;
declare const closePayment: (input: ClosePaymentInput) => ClosePaymentAction;
declare const confirmPayment: (input: ConfirmPaymentInput) => ConfirmPaymentAction;
declare const issue: (input: IssueInput) => IssueAction;
declare const reapprovePayment: (input: ReapprovePaymentInput) => ReapprovePaymentAction;
declare const registerPaymentTx: (input: RegisterPaymentTxInput) => RegisterPaymentTxAction;
declare const reinstate: (input: ReinstateInput) => ReinstateAction;
declare const reject: (input: RejectInput) => RejectAction;
declare const reportPaymentIssue: (input: ReportPaymentIssueInput) => ReportPaymentIssueAction;
declare const reset: (input: ResetInput) => ResetAction;
declare const schedulePayment: (input: SchedulePaymentInput) => SchedulePaymentAction;
//#endregion
//#region document-models/invoice/v1/gen/ph-factories.d.ts
declare function defaultGlobalState(): InvoiceState;
declare function defaultLocalState(): InvoiceLocalState;
declare function defaultPHState(): InvoicePHState;
declare function createState(baseState?: Partial<PHBaseState>, globalState?: Partial<InvoiceState>, localState?: Partial<InvoiceLocalState>): InvoicePHState;
/**
 * Creates a InvoiceDocument with custom global and local state
 * This properly handles the PHBaseState requirements while allowing
 * document-specific state to be set.
 */
declare function createInvoiceDocument(state?: Partial<{
  auth?: Partial<PHAuthState>;
  document?: Partial<PHDocumentState>;
  global?: Partial<InvoiceState>;
  local?: Partial<InvoiceLocalState>;
}>): InvoiceDocument;
//#endregion
//#region document-models/invoice/v1/gen/utils.d.ts
declare const initialGlobalState: InvoiceState;
declare const initialLocalState: InvoiceLocalState;
//#endregion
//#region document-models/invoice/v1/gen/reducer.d.ts
declare const reducer: Reducer<InvoicePHState>;
//#endregion
//#region document-models/invoice/v1/gen/controller.d.ts
declare const InvoiceController: new (initialDocument?: PHDocument<InvoicePHState> | undefined) => PHDocumentController<InvoicePHState> & ActionMap<InvoiceAction, PHDocumentController<InvoicePHState>>;
//#endregion
//#region document-models/invoice/v1/gen/schema/zod.d.ts
type Properties<T> = Required<{ [K in keyof T]: ZodType<T[K]> }>;
type definedNonNullAny = {};
declare const isDefinedNonNullAny: (v: any) => v is definedNonNullAny;
declare const definedNonNullAnySchema: ZodAny & ZodType<definedNonNullAny, any, $ZodTypeInternals<definedNonNullAny, any>>;
declare const ClosureReasonSchema: ZodEnum<{
  CANCELLED: "CANCELLED";
  OVERPAID: "OVERPAID";
  UNDERPAID: "UNDERPAID";
}>;
declare const ClosureReasonInputSchema: ZodEnum<{
  CANCELLED: "CANCELLED";
  OVERPAID: "OVERPAID";
  UNDERPAID: "UNDERPAID";
}>;
declare const InvoiceAccountTypeSchema: ZodEnum<{
  CHECKING: "CHECKING";
  SAVINGS: "SAVINGS";
  TRUST: "TRUST";
  WALLET: "WALLET";
}>;
declare const InvoiceAccountTypeInputSchema: ZodEnum<{
  CHECKING: "CHECKING";
  SAVINGS: "SAVINGS";
  TRUST: "TRUST";
  WALLET: "WALLET";
}>;
declare const StatusSchema: ZodEnum<{
  ACCEPTED: "ACCEPTED";
  DRAFT: "DRAFT";
  ISSUED: "ISSUED";
  REJECTED: "REJECTED";
  CANCELLED: "CANCELLED";
  PAYMENTCLOSED: "PAYMENTCLOSED";
  PAYMENTISSUE: "PAYMENTISSUE";
  PAYMENTRECEIVED: "PAYMENTRECEIVED";
  PAYMENTSCHEDULED: "PAYMENTSCHEDULED";
  PAYMENTSENT: "PAYMENTSENT";
}>;
declare function AcceptInputSchema(): ZodObject<Properties<AcceptInput>>;
declare function AddLineItemInputSchema(): ZodObject<Properties<AddLineItemInput>>;
declare function AddPaymentInputSchema(): ZodObject<Properties<AddPaymentInput>>;
declare function AddressSchema(): ZodObject<Properties<Address>>;
declare function BankSchema(): ZodObject<Properties<Bank>>;
declare function CancelInputSchema(): ZodObject<Properties<CancelInput>>;
declare function ClosePaymentInputSchema(): ZodObject<Properties<ClosePaymentInput>>;
declare function ConfirmPaymentInputSchema(): ZodObject<Properties<ConfirmPaymentInput>>;
declare function ContactInfoSchema(): ZodObject<Properties<ContactInfo>>;
declare function DeleteLineItemInputSchema(): ZodObject<Properties<DeleteLineItemInput>>;
declare function EditInvoiceInputSchema(): ZodObject<Properties<EditInvoiceInput>>;
declare function EditIssuerBankInputSchema(): ZodObject<Properties<EditIssuerBankInput>>;
declare function EditIssuerInputSchema(): ZodObject<Properties<EditIssuerInput>>;
declare function EditIssuerWalletInputSchema(): ZodObject<Properties<EditIssuerWalletInput>>;
declare function EditLineItemInputSchema(): ZodObject<Properties<EditLineItemInput>>;
declare function EditPayerBankInputSchema(): ZodObject<Properties<EditPayerBankInput>>;
declare function EditPayerInputSchema(): ZodObject<Properties<EditPayerInput>>;
declare function EditPayerWalletInputSchema(): ZodObject<Properties<EditPayerWalletInput>>;
declare function EditPaymentDataInputSchema(): ZodObject<Properties<EditPaymentDataInput>>;
declare function EditStatusInputSchema(): ZodObject<Properties<EditStatusInput>>;
declare function ExportedDataSchema(): ZodObject<Properties<ExportedData>>;
declare function IntermediaryBankSchema(): ZodObject<Properties<IntermediaryBank>>;
declare function InvoiceLineItemSchema(): ZodObject<Properties<InvoiceLineItem>>;
declare function InvoiceStateSchema(): ZodObject<Properties<InvoiceState>>;
declare function InvoiceTagSchema(): ZodObject<Properties<InvoiceTag>>;
declare function InvoiceWalletSchema(): ZodObject<Properties<InvoiceWallet>>;
declare function IssueInputSchema(): ZodObject<Properties<IssueInput>>;
declare function LegalEntitySchema(): ZodObject<Properties<LegalEntity>>;
declare function LegalEntityIdSchema(): ZodObject<Properties<LegalEntityId>>;
declare function PaymentSchema(): ZodObject<Properties<Payment>>;
declare function PaymentRoutingSchema(): ZodObject<Properties<PaymentRouting>>;
declare function ReapprovePaymentInputSchema(): ZodObject<Properties<ReapprovePaymentInput>>;
declare function RegisterPaymentTxInputSchema(): ZodObject<Properties<RegisterPaymentTxInput>>;
declare function ReinstateInputSchema(): ZodObject<Properties<ReinstateInput>>;
declare function RejectInputSchema(): ZodObject<Properties<RejectInput>>;
declare function RejectionSchema(): ZodObject<Properties<Rejection>>;
declare function ReportPaymentIssueInputSchema(): ZodObject<Properties<ReportPaymentIssueInput>>;
declare function ResetInputSchema(): ZodObject<Properties<ResetInput>>;
declare function SchedulePaymentInputSchema(): ZodObject<Properties<SchedulePaymentInput>>;
declare function SetExportedDataInputSchema(): ZodObject<Properties<SetExportedDataInput>>;
declare function SetInvoiceTagInputSchema(): ZodObject<Properties<SetInvoiceTagInput>>;
declare function SetLineItemTagInputSchema(): ZodObject<Properties<SetLineItemTagInput>>;
declare function TokenSchema(): ZodObject<Properties<Token>>;
//#endregion
//#region document-models/invoice/v1/gen/document-type.d.ts
declare const invoiceDocumentType = "powerhouse/invoice";
//#endregion
//#region document-models/invoice/v1/gen/document-schema.d.ts
/** Schema for validating the header object of a Invoice document */
declare const InvoiceDocumentHeaderSchema: ZodObject<{
  id: ZodString;
  name: ZodString;
  createdAtUtcIso: ZodString;
  lastModifiedAtUtcIso: ZodString;
  documentType: ZodLiteral<"powerhouse/invoice">;
}, $strip>;
/** Schema for validating the state object of a Invoice document */
declare const InvoicePHStateSchema: ZodObject<{
  global: ZodObject<Required<{
    closureReason: ZodType<Maybe<ClosureReason>, unknown, $ZodTypeInternals<Maybe<ClosureReason>, unknown>>;
    currency: ZodType<string, unknown, $ZodTypeInternals<string, unknown>>;
    dateDelivered: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
    dateDue: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
    dateIssued: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
    exported: ZodType<ExportedData, unknown, $ZodTypeInternals<ExportedData, unknown>>;
    invoiceNo: ZodType<string, unknown, $ZodTypeInternals<string, unknown>>;
    invoiceTags: ZodType<InvoiceTag[], unknown, $ZodTypeInternals<InvoiceTag[], unknown>>;
    issuer: ZodType<LegalEntity, unknown, $ZodTypeInternals<LegalEntity, unknown>>;
    lineItems: ZodType<InvoiceLineItem[], unknown, $ZodTypeInternals<InvoiceLineItem[], unknown>>;
    notes: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
    payAfter: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
    payer: ZodType<LegalEntity, unknown, $ZodTypeInternals<LegalEntity, unknown>>;
    payments: ZodType<Payment[], unknown, $ZodTypeInternals<Payment[], unknown>>;
    rejections: ZodType<Rejection[], unknown, $ZodTypeInternals<Rejection[], unknown>>;
    status: ZodType<Status, unknown, $ZodTypeInternals<Status, unknown>>;
    totalPriceTaxExcl: ZodType<number, unknown, $ZodTypeInternals<number, unknown>>;
    totalPriceTaxIncl: ZodType<number, unknown, $ZodTypeInternals<number, unknown>>;
  }>, $strip>;
}, $strip>;
declare const InvoiceDocumentSchema: ZodObject<{
  header: ZodObject<{
    id: ZodString;
    name: ZodString;
    createdAtUtcIso: ZodString;
    lastModifiedAtUtcIso: ZodString;
    documentType: ZodLiteral<"powerhouse/invoice">;
  }, $strip>;
  state: ZodObject<{
    global: ZodObject<Required<{
      closureReason: ZodType<Maybe<ClosureReason>, unknown, $ZodTypeInternals<Maybe<ClosureReason>, unknown>>;
      currency: ZodType<string, unknown, $ZodTypeInternals<string, unknown>>;
      dateDelivered: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      dateDue: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      dateIssued: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      exported: ZodType<ExportedData, unknown, $ZodTypeInternals<ExportedData, unknown>>;
      invoiceNo: ZodType<string, unknown, $ZodTypeInternals<string, unknown>>;
      invoiceTags: ZodType<InvoiceTag[], unknown, $ZodTypeInternals<InvoiceTag[], unknown>>;
      issuer: ZodType<LegalEntity, unknown, $ZodTypeInternals<LegalEntity, unknown>>;
      lineItems: ZodType<InvoiceLineItem[], unknown, $ZodTypeInternals<InvoiceLineItem[], unknown>>;
      notes: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      payAfter: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      payer: ZodType<LegalEntity, unknown, $ZodTypeInternals<LegalEntity, unknown>>;
      payments: ZodType<Payment[], unknown, $ZodTypeInternals<Payment[], unknown>>;
      rejections: ZodType<Rejection[], unknown, $ZodTypeInternals<Rejection[], unknown>>;
      status: ZodType<Status, unknown, $ZodTypeInternals<Status, unknown>>;
      totalPriceTaxExcl: ZodType<number, unknown, $ZodTypeInternals<number, unknown>>;
      totalPriceTaxIncl: ZodType<number, unknown, $ZodTypeInternals<number, unknown>>;
    }>, $strip>;
  }, $strip>;
  initialState: ZodObject<{
    global: ZodObject<Required<{
      closureReason: ZodType<Maybe<ClosureReason>, unknown, $ZodTypeInternals<Maybe<ClosureReason>, unknown>>;
      currency: ZodType<string, unknown, $ZodTypeInternals<string, unknown>>;
      dateDelivered: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      dateDue: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      dateIssued: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      exported: ZodType<ExportedData, unknown, $ZodTypeInternals<ExportedData, unknown>>;
      invoiceNo: ZodType<string, unknown, $ZodTypeInternals<string, unknown>>;
      invoiceTags: ZodType<InvoiceTag[], unknown, $ZodTypeInternals<InvoiceTag[], unknown>>;
      issuer: ZodType<LegalEntity, unknown, $ZodTypeInternals<LegalEntity, unknown>>;
      lineItems: ZodType<InvoiceLineItem[], unknown, $ZodTypeInternals<InvoiceLineItem[], unknown>>;
      notes: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      payAfter: ZodType<Maybe<string>, unknown, $ZodTypeInternals<Maybe<string>, unknown>>;
      payer: ZodType<LegalEntity, unknown, $ZodTypeInternals<LegalEntity, unknown>>;
      payments: ZodType<Payment[], unknown, $ZodTypeInternals<Payment[], unknown>>;
      rejections: ZodType<Rejection[], unknown, $ZodTypeInternals<Rejection[], unknown>>;
      status: ZodType<Status, unknown, $ZodTypeInternals<Status, unknown>>;
      totalPriceTaxExcl: ZodType<number, unknown, $ZodTypeInternals<number, unknown>>;
      totalPriceTaxIncl: ZodType<number, unknown, $ZodTypeInternals<number, unknown>>;
    }>, $strip>;
  }, $strip>;
}, $strip>;
/** Simple helper function to check if a state object is a Invoice document state object */
declare function isInvoiceState(state: unknown): state is InvoicePHState;
/** Simple helper function to assert that a document state object is a Invoice document state object */
declare function assertIsInvoiceState(state: unknown): asserts state is InvoicePHState;
/** Simple helper function to check if a document is a Invoice document */
declare function isInvoiceDocument(document: unknown): document is InvoiceDocument;
/** Simple helper function to assert that a document is a Invoice document */
declare function assertIsInvoiceDocument(document: unknown): asserts document is InvoiceDocument;
//#endregion
//#region document-models/invoice/v1/gen/general/operations.d.ts
interface InvoiceGeneralOperations {
  editInvoiceOperation: (state: InvoiceState, action: EditInvoiceAction, dispatch?: SignalDispatch) => void;
  addPaymentOperation: (state: InvoiceState, action: AddPaymentAction, dispatch?: SignalDispatch) => void;
  editPaymentDataOperation: (state: InvoiceState, action: EditPaymentDataAction, dispatch?: SignalDispatch) => void;
  editStatusOperation: (state: InvoiceState, action: EditStatusAction, dispatch?: SignalDispatch) => void;
  setExportedDataOperation: (state: InvoiceState, action: SetExportedDataAction, dispatch?: SignalDispatch) => void;
}
//#endregion
//#region document-models/invoice/v1/gen/parties/operations.d.ts
interface InvoicePartiesOperations {
  editIssuerBankOperation: (state: InvoiceState, action: EditIssuerBankAction, dispatch?: SignalDispatch) => void;
  editIssuerOperation: (state: InvoiceState, action: EditIssuerAction, dispatch?: SignalDispatch) => void;
  editIssuerWalletOperation: (state: InvoiceState, action: EditIssuerWalletAction, dispatch?: SignalDispatch) => void;
  editPayerBankOperation: (state: InvoiceState, action: EditPayerBankAction, dispatch?: SignalDispatch) => void;
  editPayerOperation: (state: InvoiceState, action: EditPayerAction, dispatch?: SignalDispatch) => void;
  editPayerWalletOperation: (state: InvoiceState, action: EditPayerWalletAction, dispatch?: SignalDispatch) => void;
}
//#endregion
//#region document-models/invoice/v1/gen/items/operations.d.ts
interface InvoiceItemsOperations {
  addLineItemOperation: (state: InvoiceState, action: AddLineItemAction, dispatch?: SignalDispatch) => void;
  deleteLineItemOperation: (state: InvoiceState, action: DeleteLineItemAction, dispatch?: SignalDispatch) => void;
  editLineItemOperation: (state: InvoiceState, action: EditLineItemAction, dispatch?: SignalDispatch) => void;
  setInvoiceTagOperation: (state: InvoiceState, action: SetInvoiceTagAction, dispatch?: SignalDispatch) => void;
  setLineItemTagOperation: (state: InvoiceState, action: SetLineItemTagAction, dispatch?: SignalDispatch) => void;
}
//#endregion
//#region document-models/invoice/v1/gen/transitions/operations.d.ts
interface InvoiceTransitionsOperations {
  acceptOperation: (state: InvoiceState, action: AcceptAction, dispatch?: SignalDispatch) => void;
  cancelOperation: (state: InvoiceState, action: CancelAction, dispatch?: SignalDispatch) => void;
  closePaymentOperation: (state: InvoiceState, action: ClosePaymentAction, dispatch?: SignalDispatch) => void;
  confirmPaymentOperation: (state: InvoiceState, action: ConfirmPaymentAction, dispatch?: SignalDispatch) => void;
  issueOperation: (state: InvoiceState, action: IssueAction, dispatch?: SignalDispatch) => void;
  reapprovePaymentOperation: (state: InvoiceState, action: ReapprovePaymentAction, dispatch?: SignalDispatch) => void;
  registerPaymentTxOperation: (state: InvoiceState, action: RegisterPaymentTxAction, dispatch?: SignalDispatch) => void;
  reinstateOperation: (state: InvoiceState, action: ReinstateAction, dispatch?: SignalDispatch) => void;
  rejectOperation: (state: InvoiceState, action: RejectAction, dispatch?: SignalDispatch) => void;
  reportPaymentIssueOperation: (state: InvoiceState, action: ReportPaymentIssueAction, dispatch?: SignalDispatch) => void;
  resetOperation: (state: InvoiceState, action: ResetAction, dispatch?: SignalDispatch) => void;
  schedulePaymentOperation: (state: InvoiceState, action: SchedulePaymentAction, dispatch?: SignalDispatch) => void;
}
//#endregion
//#region document-models/invoice/v1/hooks.d.ts
/** Hook to get a Invoice document by its id */
declare function useInvoiceDocumentById(documentId: string | null | undefined): [InvoiceDocument, DocumentDispatch<InvoiceAction>] | [undefined, undefined];
/** Hook to get the selected Invoice document */
declare function useSelectedInvoiceDocument(): [InvoiceDocument, DocumentDispatch<InvoiceAction>];
/** Hook to get all Invoice documents in the selected drive */
declare function useInvoiceDocumentsInSelectedDrive(): InvoiceDocument[] | undefined;
/** Hook to get all Invoice documents in the selected folder */
declare function useInvoiceDocumentsInSelectedFolder(): InvoiceDocument[] | undefined;
//#endregion
//#region document-models/invoice/v1/actions.d.ts
/** Actions for the Invoice document model */
declare const actions: {
  accept: (input: AcceptInput) => AcceptAction;
  cancel: (input: CancelInput) => CancelAction;
  closePayment: (input: ClosePaymentInput) => ClosePaymentAction;
  confirmPayment: (input: ConfirmPaymentInput) => ConfirmPaymentAction;
  issue: (input: IssueInput) => IssueAction;
  reapprovePayment: (input: ReapprovePaymentInput) => ReapprovePaymentAction;
  registerPaymentTx: (input: RegisterPaymentTxInput) => RegisterPaymentTxAction;
  reinstate: (input: ReinstateInput) => ReinstateAction;
  reject: (input: RejectInput) => RejectAction;
  reportPaymentIssue: (input: ReportPaymentIssueInput) => ReportPaymentIssueAction;
  reset: (input: ResetInput) => ResetAction;
  schedulePayment: (input: SchedulePaymentInput) => SchedulePaymentAction;
  addLineItem: (input: AddLineItemInput) => AddLineItemAction;
  deleteLineItem: (input: DeleteLineItemInput) => DeleteLineItemAction;
  editLineItem: (input: EditLineItemInput) => EditLineItemAction;
  setInvoiceTag: (input: SetInvoiceTagInput) => SetInvoiceTagAction;
  setLineItemTag: (input: SetLineItemTagInput) => SetLineItemTagAction;
  editIssuerBank: (input: EditIssuerBankInput) => EditIssuerBankAction;
  editIssuer: (input: EditIssuerInput) => EditIssuerAction;
  editIssuerWallet: (input: EditIssuerWalletInput) => EditIssuerWalletAction;
  editPayerBank: (input: EditPayerBankInput) => EditPayerBankAction;
  editPayer: (input: EditPayerInput) => EditPayerAction;
  editPayerWallet: (input: EditPayerWalletInput) => EditPayerWalletAction;
  editInvoice: (input: EditInvoiceInput) => EditInvoiceAction;
  addPayment: (input: AddPaymentInput) => AddPaymentAction;
  editPaymentData: (input: EditPaymentDataInput) => EditPaymentDataAction;
  editStatus: (input: EditStatusInput) => EditStatusAction;
  setExportedData: (input: SetExportedDataInput) => SetExportedDataAction;
  setName: (name: string | {
    name: string;
  }) => SetNameAction;
  undo: (count?: number, scope?: string) => UndoAction;
  redo: (count?: number, scope?: string) => RedoAction;
  prune: (start?: number, end?: number, scope?: string) => SchemaPruneAction;
  loadState: <TState extends PHBaseState = PHBaseState>(state: TState & {
    name: string;
  }, operations: number) => LoadStateAction;
  noop: (scope?: string) => NOOPAction;
};
//#endregion
//#region document-models/invoice/v1/utils.d.ts
/** Utils for the Invoice document model */
declare const utils: DocumentModelUtils<InvoicePHState>;
//#endregion
//#region document-models/invoice/upgrades/versions.d.ts
declare const supportedVersions: readonly [1];
declare const latestVersion: 1;
//#endregion
//#region document-models/invoice/upgrades/upgrade-manifest.d.ts
declare const invoiceUpgradeManifest: UpgradeManifest<typeof supportedVersions>;
//#endregion
export { AcceptAction, AcceptInput, AcceptInputSchema, AddLineItemAction, AddLineItemInput, AddLineItemInputSchema, AddPaymentAction, AddPaymentInput, AddPaymentInputSchema, Address, AddressSchema, Bank, BankSchema, CancelAction, CancelInput, CancelInputSchema, ClosePaymentAction, ClosePaymentInput, ClosePaymentInputSchema, ClosureReason, ClosureReasonInput, ClosureReasonInputSchema, ClosureReasonSchema, ConfirmPaymentAction, ConfirmPaymentInput, ConfirmPaymentInputSchema, ContactInfo, ContactInfoSchema, DeleteLineItemAction, DeleteLineItemInput, DeleteLineItemInputSchema, EditInvoiceAction, EditInvoiceInput, EditInvoiceInputSchema, EditIssuerAction, EditIssuerBankAction, EditIssuerBankInput, EditIssuerBankInputSchema, EditIssuerInput, EditIssuerInputSchema, EditIssuerWalletAction, EditIssuerWalletInput, EditIssuerWalletInputSchema, EditLineItemAction, EditLineItemInput, EditLineItemInputSchema, EditPayerAction, EditPayerBankAction, EditPayerBankInput, EditPayerBankInputSchema, EditPayerInput, EditPayerInputSchema, EditPayerWalletAction, EditPayerWalletInput, EditPayerWalletInputSchema, EditPaymentDataAction, EditPaymentDataInput, EditPaymentDataInputSchema, EditStatusAction, EditStatusInput, EditStatusInputSchema, Exact, ExportedData, ExportedDataSchema, Incremental, InputMaybe, IntermediaryBank, IntermediaryBankSchema, InvoiceAccountType, InvoiceAccountTypeInput, InvoiceAccountTypeInputSchema, InvoiceAccountTypeSchema, InvoiceAction, InvoiceController, InvoiceDocument, InvoiceDocumentHeaderSchema, InvoiceDocumentSchema, InvoiceGeneralAction, InvoiceGeneralOperations, InvoiceState as InvoiceGlobalState, InvoiceState, InvoiceItemsAction, InvoiceItemsOperations, InvoiceLineItem, InvoiceLineItemSchema, InvoiceLocalState, InvoicePHState, InvoicePHStateSchema, InvoicePartiesAction, InvoicePartiesOperations, InvoiceStateSchema, InvoiceTag, InvoiceTagSchema, InvoiceTransitionsAction, InvoiceTransitionsOperations, InvoiceWallet, InvoiceWalletSchema, IssueAction, IssueInput, IssueInputSchema, LegalEntity, LegalEntityId, LegalEntityIdSchema, LegalEntitySchema, MakeEmpty, MakeMaybe, MakeOptional, Maybe, Payment, PaymentRouting, PaymentRoutingSchema, PaymentSchema, ReapprovePaymentAction, ReapprovePaymentInput, ReapprovePaymentInputSchema, RegisterPaymentTxAction, RegisterPaymentTxInput, RegisterPaymentTxInputSchema, ReinstateAction, ReinstateInput, ReinstateInputSchema, RejectAction, RejectInput, RejectInputSchema, Rejection, RejectionSchema, ReportPaymentIssueAction, ReportPaymentIssueInput, ReportPaymentIssueInputSchema, ResetAction, ResetInput, ResetInputSchema, Scalars, SchedulePaymentAction, SchedulePaymentInput, SchedulePaymentInputSchema, SetExportedDataAction, SetExportedDataInput, SetExportedDataInputSchema, SetInvoiceTagAction, SetInvoiceTagInput, SetInvoiceTagInputSchema, SetLineItemTagAction, SetLineItemTagInput, SetLineItemTagInputSchema, Status, StatusSchema, Token, TokenSchema, accept, actions, addLineItem, addPayment, assertIsInvoiceDocument, assertIsInvoiceState, cancel, closePayment, confirmPayment, createInvoiceDocument, createState, defaultGlobalState, defaultLocalState, defaultPHState, definedNonNullAnySchema, deleteLineItem, documentModel, editInvoice, editIssuer, editIssuerBank, editIssuerWallet, editLineItem, editPayer, editPayerBank, editPayerWallet, editPaymentData, editStatus, initialGlobalState, initialLocalState, invoiceDocumentType, creators_d_exports as invoiceGeneralActions, creators_d_exports$1 as invoiceItemsActions, creators_d_exports$2 as invoicePartiesActions, creators_d_exports$3 as invoiceTransitionsActions, invoiceUpgradeManifest, isDefinedNonNullAny, isInvoiceDocument, isInvoiceState, issue, latestVersion, reapprovePayment, reducer, registerPaymentTx, reinstate, reject, reportPaymentIssue, reset, schedulePayment, setExportedData, setInvoiceTag, setLineItemTag, supportedVersions, useInvoiceDocumentById, useInvoiceDocumentsInSelectedDrive, useInvoiceDocumentsInSelectedFolder, useSelectedInvoiceDocument, utils };
//# sourceMappingURL=index.d.ts.map