import { PropsWithChildren } from 'react';
export interface ETHWalletLifecycleCallbacks {
    onConnect?: (address: string) => void | Promise<void>;
    onDisconnect?: () => void | Promise<void>;
    onAddressChange?: (newAddress: string) => void | Promise<void>;
    onError?: (error: Error, context?: {
        address?: string;
    }) => void;
}
interface ETHWalletContextType {
    loading: boolean;
    connected: boolean;
    address: string | undefined;
    disconnect: () => void;
    open: () => void;
}
export interface ETHWalletProviderProps extends PropsWithChildren {
    callbacks?: ETHWalletLifecycleCallbacks;
}
export declare const ETHWalletProvider: ({ children, callbacks }: ETHWalletProviderProps) => import("react/jsx-runtime").JSX.Element;
export declare const useETHWallet: () => ETHWalletContextType;
export {};
