import type { FiatStepResponse, Transition } from '@fun-xyz/fiat-contract/types'; import type { IdentityAssertionProvider } from '../../domains/fiat/identityAssertion'; import { type CollectedInputs, type SurfaceResult } from '../../domains/fiat/submitBody'; import type { FunLogger } from '../../utils/funLogger'; export interface FireParams { transition: Transition; collected?: CollectedInputs; surfaceResult?: SurfaceResult; } export interface UseSubmitterParams { apiKey: string; logger: FunLogger; identityAssertionProvider?: IdentityAssertionProvider; depositAddress?: string; onStepResponse: (stepResponse: FiatStepResponse) => void; } export interface Submitter { /** Fires a transition. Resolves to the next step response, or `undefined` if it failed. */ fire: (params: FireParams) => Promise; /** Re-fires the last attempt under its original idempotency key. */ retry: () => Promise; isInFlight: boolean; /** Cleared when the next fire starts. `retry` is only meaningful while it is set. */ error?: unknown; } /** Fires one transition at a time and safely reuses its key on retry. */ export declare function useSubmitter({ apiKey, logger, identityAssertionProvider, depositAddress, onStepResponse, }: UseSubmitterParams): Submitter; //# sourceMappingURL=useSubmitter.d.ts.map