import { ReactNode } from 'react';
import type { StateStorage } from 'zustand/middleware';
import { SupportChain, SupportWallet } from '../feature/index.js';
type WalletProviderProps = {
    enableLocal?: boolean;
    preferredWallets?: SupportWallet[];
    chain?: SupportChain;
    /** Enables automatically reconnecting to the most recently used wallet account upon mounting. */
    autoConnect?: boolean;
    /** Configures how the most recently connected to wallet account is stored. Defaults to using localStorage. */
    storage?: StateStorage;
    /** The key to use to store the most recently connected wallet account. */
    storageKey?: string;
    children: ReactNode;
};
export declare const WalletContext: import("react").Context<(Omit<import("zustand").StoreApi<import("./walletStore.js").WalletStoreState>, "persist"> & {
    persist: {
        setOptions: (options: Partial<import("zustand/middleware.js").PersistOptions<import("./walletStore.js").WalletStoreState, unknown>>) => void;
        clearStorage: () => void;
        rehydrate: () => Promise<void> | void;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: import("./walletStore.js").WalletStoreState) => void) => () => void;
        onFinishHydration: (fn: (state: import("./walletStore.js").WalletStoreState) => void) => () => void;
        getOptions: () => Partial<import("zustand/middleware.js").PersistOptions<import("./walletStore.js").WalletStoreState, unknown>>;
    };
}) | null>;
export declare function WalletProvider({ enableLocal, preferredWallets, chain, storage, storageKey, autoConnect, children, }: WalletProviderProps): import("react/jsx-runtime.js").JSX.Element;
export {};
