import type { Address } from 'viem';
import type { ErrorNotification } from '~/components/FunNotification/FunNotification';
import { type PaymentMethodInfo } from '~/domains/paymentMethods';
export interface MoonpayDepositData {
    depositToken: string;
    depositTokenAmount: number;
    depositTokenChainId: string;
}
export interface PostCheckoutError extends ErrorNotification {
    disableContinue: boolean;
    durationMs?: number;
}
export interface PostCheckoutSuccessData {
    depositAddress: Address;
    moonpayData: MoonpayDepositData;
    paymentMethodInfo: PaymentMethodInfo;
}
interface UsePostCheckoutOptions {
    onSuccess(data: PostCheckoutSuccessData): void;
}
interface UsePostCheckoutResult {
    handlePostCheckout(depositAddress: Address): Promise<void>;
    isPostCheckoutLoading: boolean;
    postCheckoutError: PostCheckoutError | null;
    postCheckoutStepMessage: string | null;
}
export declare function usePostCheckout({ onSuccess, }: UsePostCheckoutOptions): UsePostCheckoutResult;
export {};
