import MetaMaskSDK, { MetaMaskSDKOptions } from '@metamask/sdk'; import { Chain } from 'viem'; import { Connector, WalletClient } from './types'; type Options = Omit & { /** * Fallback Ethereum JSON RPC URL * @default "" */ jsonRpcUrl?: string; /** * Fallback Ethereum Chain ID * @default 1 */ chainId?: number; /** * Whether or not to reload dapp automatically after disconnect. */ reloadOnDisconnect?: boolean; shimDisconnect?: boolean; }; export declare class MMSKWalletConnector extends Connector { #private; readonly id = "mmskWallet"; readonly name = "MetaMask Wallet"; readonly ready = true; constructor({ chains, options }: { chains?: Chain[]; options: Options; }); connect({ chainId }?: { chainId?: number; }): Promise<{ account: `0x${string}`; chain: { id: number; unsupported: boolean; }; }>; disconnect(): Promise; getAccount(): Promise<`0x${string}`>; getChainId(): Promise; getProvider(): Promise; isAuthorized(): Promise; switchChain(chainId: number): Promise; watchAsset({ address, decimals, image, symbol, }: { address: string; decimals?: number; image?: string; symbol: string; }): Promise; protected onAccountsChanged: (accounts: any) => void; protected onChainChanged: (chainId: any) => void; protected onDisconnect: () => void; protected onMessage: () => void; protected isUserRejectedRequestError(error: unknown): boolean; getWalletClient({ chainId, }?: { chainId?: number; }): Promise; } export {};