import type { Eip1193Provider, WalletAdapter, WalletAdapterConnectResult } from '../types';
export interface Eip1193WalletAdapterConfig {
    provider?: Eip1193Provider;
    enforceChainId?: boolean;
    autoSwitchChain?: boolean;
    chainConfig?: {
        chainName?: string;
        nativeCurrency?: {
            name: string;
            symbol: string;
            decimals: number;
        };
        rpcUrls?: string[];
        blockExplorerUrls?: string[];
    };
}
declare global {
    interface Window {
        ethereum?: Eip1193Provider;
    }
}
/**
 * Default adapter for injected wallets (MetaMask, Rabby, etc.) using EIP-1193.
 */
export declare class Eip1193WalletAdapter implements WalletAdapter {
    readonly id: "eip1193";
    private readonly configProvider?;
    private readonly enforceChainId;
    private readonly autoSwitchChain;
    private readonly chainConfig?;
    /** Provider resolved after connect, used for event subscriptions. */
    private resolvedProvider;
    /** Bound handlers tracked for cleanup on disconnect. */
    private boundHandlers;
    constructor(config?: Eip1193WalletAdapterConfig);
    private getProvider;
    private switchChain;
    connect(args: {
        expectedChainId?: number;
        rpcUrl?: string;
    }): Promise<WalletAdapterConnectResult>;
    tryReconnect(args: {
        expectedChainId?: number;
        rpcUrl?: string;
    }): Promise<WalletAdapterConnectResult | null>;
    onAccountsChanged(handler: (accounts: string[]) => void): () => void;
    onChainChanged(handler: (chainId: number) => void): () => void;
    disconnect(): void;
}
//# sourceMappingURL=Eip1193WalletAdapter.d.ts.map