import React, { type ReactNode } from 'react';
import type { SelectedHomeTab } from '../modals/ProfileDetails/FunProfileViews/Home';
import type { FunkitWithdrawalConfig } from './FunkitCheckoutContext';
interface ModalProviderProps {
    children: ReactNode;
}
export declare function ModalProvider({ children }: ModalProviderProps): React.JSX.Element;
export declare function useModalState(): {
    accountModalOpen: boolean;
    chainModalOpen: boolean;
    connectModalOpen: boolean;
};
export declare function useAccountModal(): {
    accountModalOpen: boolean;
    openAccountModal: ((tab?: SelectedHomeTab | null) => void) | undefined;
};
export declare function useChainModal(): {
    chainModalOpen: boolean;
    openChainModal: (() => void) | undefined;
};
export declare function useWalletConnectOpenState(): {
    isWalletConnectModalOpen: boolean;
    setIsWalletConnectModalOpen: (isWalletConnectModalOpen: boolean) => void;
};
export declare function useConnectModal(onClose?: () => void): {
    connectModalOpen: boolean;
    openConnectModal: (() => void) | undefined;
};
export declare function useFunCheckoutModal(): {
    funCheckoutModalOpen: boolean;
    openFunCheckoutModal: ((checkoutId: string) => void) | undefined;
};
export declare function useWithdrawalModal(): {
    openWithdrawalModal: ((config: FunkitWithdrawalConfig & {
        withdrawalId: string;
    }) => void) | undefined;
};
export declare function useSoftHiddenCheckout(): {
    hasSoftHiddenCheckout: boolean;
    softHiddenCheckoutId: string | null;
    softHide: () => void;
    resume: () => void;
    discard: () => void;
};
export {};
