/** * EIP-6963: Multi Injected Provider Discovery * https://eips.ethereum.org/EIPS/eip-6963 */ import type { WalletMetadata } from '@meshconnect/uwc-types'; export interface EthereumProvider { request: (args: { method: string; params?: unknown[]; }) => Promise; on?: (event: string, handler: (...args: any[]) => void) => void; removeListener?: (event: string, handler: (...args: any[]) => void) => void; } /** * EIP-1193 compatible provider interface extending the base EthereumProvider * This interface includes the standard EIP-1193 methods and properties */ export interface EIP1193Provider extends EthereumProvider { request: (args: { method: string; params?: unknown[]; }) => Promise; on: (event: string, handler: (...args: any[]) => void) => void; removeListener: (event: string, handler: (...args: any[]) => void) => void; [key: string]: any; } export interface EIP6963ProviderInfo { uuid: string; name: string; icon: string; rdns: string; } export interface EIP6963ProviderDetail { info: EIP6963ProviderInfo; provider: EthereumProvider; } export interface EIP6963AnnounceProviderEvent extends CustomEvent { type: 'eip6963:announceProvider'; detail: EIP6963ProviderDetail; } export interface EIP6963RequestProviderEvent extends Event { type: 'eip6963:requestProvider'; } export interface DetectedWallet { uuid: string; name: string; icon: string; rdns: string; provider: EthereumProvider; } /** * Discovers wallets using EIP-6963 protocol * @returns Promise that resolves to an array of detected wallets */ export declare function discoverWallets(): Promise; /** * Gets available wallets by discovering them via EIP-6963 * This function can be called multiple times to refresh the list */ export declare function getAvailableWallets(expectedWallets?: WalletMetadata[]): Promise; //# sourceMappingURL=eip6963-discovery.d.ts.map