import { ETHConfig, ETHTransactionRequest, ETHTypedData, IETHProvider, NetworkInfo } from '../../../types';
/**
 * AppKitProvider - ETH wallet provider using AppKit/Wagmi
 *
 * This provider integrates with Reown's AppKit to provide:
 * - Connection to 600+ ETH wallets (MetaMask, Rainbow, WalletConnect, etc.)
 * - Message signing (personal_sign)
 * - Typed data signing (eth_signTypedData_v4)
 * - Transaction sending and gas estimation
 * - Network switching and information
 *
 * IMPORTANT: Requires shared wagmi config to be set via initializeAppKitModal()
 * before this provider is instantiated. This ensures single wagmi instance.
 */
export declare class AppKitProvider implements IETHProvider {
    private config;
    private address?;
    private chainId?;
    private eventHandlers;
    private unwatchFunctions;
    constructor(config: ETHConfig);
    /**
     * Get the shared wagmi config (throws if not set)
     * This ensures we never create multiple wagmi instances
     */
    private getWagmiConfig;
    private setupEventWatchers;
    private emit;
    connectWallet(): Promise<void>;
    disconnect(): Promise<void>;
    getAddress(): Promise<string>;
    getPublicKeyHex(): Promise<string>;
    signMessage(message: string): Promise<string>;
    signTypedData(typedData: ETHTypedData): Promise<string>;
    sendTransaction(tx: ETHTransactionRequest): Promise<string>;
    estimateGas(tx: ETHTransactionRequest): Promise<bigint>;
    getChainId(): Promise<number>;
    switchChain(chainId: number): Promise<void>;
    getBalance(): Promise<bigint>;
    getNonce(): Promise<number>;
    getNetworkInfo(): Promise<NetworkInfo>;
    getWalletProviderName(): string;
    getWalletProviderIcon(): string;
    on(eventName: string, handler: (...args: any[]) => void): void;
    off(eventName: string, handler: (...args: any[]) => void): void;
    destroy(): void;
}
