import { type ReactNode } from "react";
import type { PayApi } from "@fluid-app/portal-core/pay-api";
import type { ConfirmApprovedResult, ThreeDsRequiredCreateResult } from "@fluid-app/portal-core/pay-types";
export interface UsePortalCardAdd3DSFlowOptions {
    payApi: PayApi;
    onApproved: (approved: ConfirmApprovedResult) => void | Promise<void>;
    onFailed: (message: string) => void;
    onCanceled: () => void;
    t: (key: string) => string;
}
export interface PortalCardAdd3DSFlow {
    begin: (created: ThreeDsRequiredCreateResult) => Promise<void>;
    modal: ReactNode;
    isActive: boolean;
}
export declare function usePortalCardAdd3DSFlow({ payApi, onApproved, onFailed, onCanceled, t }: UsePortalCardAdd3DSFlowOptions): PortalCardAdd3DSFlow;
//# sourceMappingURL=use-portal-card-add-3ds-flow.d.ts.map