/** * Auto-detection for wallet connections (EIP-1193 providers) * Supports MetaMask, Coinbase Wallet, and other injected providers */ declare global { interface Window { ethereum?: WalletProvider; } } export interface WalletProvider { request: (args: { method: string; params?: any[]; }) => Promise; on?: (event: string, handler: (...args: any[]) => void) => void; removeListener?: (event: string, handler: (...args: any[]) => void) => void; isMetaMask?: boolean; isCoinbaseWallet?: boolean; } export interface WalletInfo { address: string; chainId: number; walletType: string; } export type WalletEventHandler = (info: WalletInfo) => void; export type WalletDisconnectHandler = () => void; /** * WalletDetector - Auto-detects wallet connections and changes * * Simple, auditable implementation: * 1. Checks for window.ethereum * 2. Listens to standard EIP-1193 events * 3. Calls handlers when wallets connect/disconnect */ export declare class WalletDetector { private onConnect; private onDisconnect; private onChainChanged?; private provider; private currentAddress; private listeners; constructor(onConnect: WalletEventHandler, onDisconnect: WalletDisconnectHandler, onChainChanged?: ((chainId: number) => void) | undefined); /** * Start detecting wallet events */ start(): Promise; /** * Stop detecting and clean up listeners */ stop(): void; /** * Check if wallet is already connected */ private checkCurrentConnection; /** * Setup event listeners for wallet changes */ private setupListeners; /** * Handle account changes (connect/disconnect/switch) */ private handleAccountsChanged; /** * Handle chain changes */ private handleChainChanged; /** * Handle wallet disconnection */ private handleDisconnect; /** * Get current connected address */ getCurrentAddress(): string | null; } /** * Check if wallet provider is available */ export declare function isWalletAvailable(): boolean; /** * Get wallet provider if available */ export declare function getWalletProvider(): WalletProvider | null; //# sourceMappingURL=wallet-detection.d.ts.map