import type { WalletAdapter, WalletAdapterConfig, WalletId, WalletConnectConfig } from './types.js'; /** * Wallet metadata for display purposes. */ export interface WalletInfo { id: WalletId; name: string; icon: string; supportsAuth: boolean; isWatchOnly: boolean; } /** * Registry for managing wallet adapters. * Handles initialization and provides access to adapters. */ export declare class WalletRegistry { private adapters; private config; private wcConfig; private enabledWallets; private initPromise; private readonly scopeId; constructor(scopeId?: string); /** * Initialize the registry with network configuration. * If already initialized with compatible config, reuses existing adapters. * Multiple concurrent calls will wait for the first initialization to complete. * @param config - Network configuration * @param enabledWallets - List of wallet IDs to enable * @param wcConfig - Optional WalletConnect configuration */ initialize(config: WalletAdapterConfig, enabledWallets: WalletId[], wcConfig?: WalletConnectConfig): Promise; /** * Internal initialization logic. */ private doInitialize; /** * Check if the provided config is compatible with current initialization. * Returns true if we can reuse existing adapters. */ private isCompatibleConfig; /** * Get an adapter by wallet ID. */ getAdapter(walletId: WalletId): WalletAdapter | undefined; /** * Get all initialized adapters. */ getAllAdapters(): WalletAdapter[]; /** * Get list of enabled wallet IDs. */ getEnabledWalletIds(): WalletId[]; /** * Get wallet info for all enabled wallets. */ getWalletInfo(): WalletInfo[]; /** * Attempt to reconnect all wallets that support session restoration. * Returns accounts that were restored. */ reconnectAll(): Promise>; /** * Disconnect all connected wallets. */ disconnectAll(): Promise; /** * Check if the registry has been initialized. */ isInitialized(): boolean; /** * Get the network configuration. */ getConfig(): WalletAdapterConfig | null; /** * Get the scope ID for this registry. */ getScopeId(): string; /** * Clean up all adapters and reset the registry. * Should be called before reinitializing or when the component unmounts. */ destroy(): Promise; } /** * Default registry instance. * Can be used directly or create custom instances. */ export declare const registry: WalletRegistry;