import { BigNumber } from 'ethers';
import { ReactNode } from 'react';
import { FlowStepContainerProps } from '../../molecules';
import { ApprovalPermit } from './machine/utils';
export declare type ApprovalFlowStepProps = FlowStepContainerProps;
export declare const ApprovalFlowStep: {
    ({ ...props }: ApprovalFlowStepProps): import("theme-ui/jsx-runtime").JSX.Element;
    Allowance({ stepLabel, actionText, actionIcon, stepTooltip, requestedAmount, userAllowanceAmount, handleAllowAmount, active, disabled, status, isMultisig, }: ApprovalFlowStepAllowanceProps): import("theme-ui/jsx-runtime").JSX.Element;
    Action({ stepLabel, actionText, actionIcon, handleAction, active, disabled, status, actionAmount, userAllowanceAmount, approvalPermit, loadingProgress, isMultisig, }: ApprovalFlowStepActionProps): import("theme-ui/jsx-runtime").JSX.Element;
    Permit({ stepLabel, actionText, actionIcon, handleAllowAmount, active, disabled, status, requestedAmount, userAllowanceAmount, stepTooltip, }: ApprovalFlowStepAllowanceProps): import("theme-ui/jsx-runtime").JSX.Element;
};
export declare type ApprovalFlowStepAllowanceProps = {
    stepLabel: ReactNode;
    actionText: ReactNode;
    actionIcon?: ReactNode;
    stepTooltip?: {
        title?: ReactNode;
        text: ReactNode;
    };
    requestedAmount: BigNumber;
    userAllowanceAmount: BigNumber;
    handleAllowAmount: (amount: BigNumber) => void | Promise<void>;
    active?: boolean;
    disabled?: boolean;
    status?: 'loading' | 'success' | 'error';
    isMultisig?: boolean;
};
export declare type ApprovalFlowStepActionProps = {
    stepLabel: ReactNode;
    actionText: ReactNode;
    actionIcon?: ReactNode;
    handleAction: (amount: BigNumber, approvalPermit?: ApprovalPermit) => void | Promise<void>;
    active?: boolean;
    disabled?: boolean;
    status?: 'loading' | 'success' | 'success-final' | 'error' | 'loading-progress';
    actionAmount: BigNumber;
    userAllowanceAmount: BigNumber;
    approvalPermit?: ApprovalPermit;
    loadingProgress?: number;
    isMultisig?: boolean;
};
