import type { Address } from 'viem';
import type { ErrorNotification } from '~/components/FunNotification/FunNotification';
export interface CheckoutConfirmationError extends ErrorNotification {
    durationMs?: number;
    code: ConfirmationErrorCode;
}
export declare enum ConfirmationErrorCode {
    QUOTE_EXPIRED = "QUOTE_EXPIRED",
    GENERIC_ERROR = "GENERIC_ERROR",
    RISK_ERROR = "RISK_ERROR",
    SIGNATURE_DENIED = "SIGNATURE_DENIED"
}
interface UseCheckoutConfirmationOptions {
    onError(error: CheckoutConfirmationError): void;
    onSuccess(depositAddress: Address): void;
}
interface UseCheckoutConfirmationResult {
    confirmationError: CheckoutConfirmationError | null;
    confirmationStepMessage: string | null;
    handleCheckoutConfirmation(): Promise<void>;
    isConfirming: boolean;
}
export declare function useCheckoutConfirmation({ onError, onSuccess, }: UseCheckoutConfirmationOptions): UseCheckoutConfirmationResult;
export {};
