/** * Minimal EIP-1193 provider shape. Every browser EVM wallet implements * `request({ method, params })`; `on`/`removeListener` are optional (used for * chain/account change events, which this path does not require). */ export interface InjectedEvmProvider { request(args: { method: string; params?: any[] | Record; }): Promise; on?(event: string, listener: (...args: any[]) => void): void; removeListener?(event: string, listener: (...args: any[]) => void): void; isMetaMask?: boolean; } /** EIP-6963 provider metadata announced by a wallet. */ export interface Eip6963ProviderInfo { uuid: string; name: string; icon: string; rdns: string; } /** EIP-6963 `eip6963:announceProvider` detail payload. */ export interface Eip6963ProviderDetail { info: Eip6963ProviderInfo; provider: InjectedEvmProvider; } export interface InjectedEvmWalletConfig { /** * Resolve/pick the injected EVM provider. Defaults to EIP-6963 discovery * (first announced wallet) then `window.ethereum`. Pass this to point at a * specific wallet, or to bridge a custom/mock provider. */ getProvider?: () => InjectedEvmProvider | null | undefined; /** * EIP-155 chain id used for the SIWE `Chain ID` line. When unset, login * reads the wallet's current chain. */ chainId?: number; /** * Optional assertion of the SIWE `domain`. It must equal * window.location.host; cross-origin overrides are rejected. */ domain?: string; /** Optional assertion of the SIWE URI. Its origin must equal window.location.origin. */ uri?: string; } /** * Request + collect EIP-6963 providers. Dispatches `eip6963:requestProvider` * (synchronous — already-loaded wallets announce in the same tick) and returns * every wallet announced so far. Kept synchronous so it works inside a user * gesture and can be eagerly exported from the SDK entry. */ export declare function requestEip6963Providers(): Eip6963ProviderDetail[]; /** * Default EVM provider discovery: EIP-6963 first (multi-wallet, collision-free), * then legacy `window.ethereum`. Returns null when no injected wallet is present. */ export declare function defaultInjectedEvmProvider(): InjectedEvmProvider | null;