import type { AnyActorLogic, InspectionEvent, Observer } from "xstate"; import type { TxError } from "#src/errors/index.js"; import type { GasLimitOverflow, TxMachineContext, TxMachineEvents } from "#src/machines/index.js"; type TxMachineSnapshot = { value: string; context: TxMachineContext; }; type UseTxWorkflowReturn = { state: string; context: TxMachineContext; snapshot: TxMachineSnapshot; send: (event: TxMachineEvents) => void; error: TxError | null; errorMessage: string | null; gasLimit: bigint | undefined; gasLimitOverflow: GasLimitOverflow | null; hash: string | null; preprocess: TPreprocess | null; signResult: TSignResult | null; result: TResult | null; status: { isIdle: boolean; isValidating: boolean; isCheckingGas: boolean; isSimulating: boolean; isSigning: boolean; isPending: boolean; isSuccess: boolean; isFailure: boolean; isGasLimitOverflow: boolean; isLoading: boolean; }; submit: (payload: TPayload) => void; reset: () => void; }; type UseTxWorkflowOptions = { inspect?: Observer | ((event: InspectionEvent) => void); }; export declare function useTxWorkflow(machine: AnyActorLogic, options?: UseTxWorkflowOptions): UseTxWorkflowReturn; export {}; //# sourceMappingURL=useTxWorkflow.d.ts.map