import type { LibraryOptions, PublicStateControllerState, Token } from '@web3modal/scaffold'; import { Web3ModalScaffold } from '@web3modal/scaffold'; import type { ProviderType } from './utils/types.js'; export interface Web3ModalClientOptions extends Omit { ethersConfig: ProviderType; chains?: number[]; defaultChain?: number; chainImages?: Record; tokens?: Record; enableEIP6963?: boolean; } export type Web3ModalOptions = Omit; declare global { interface Window { ethereum?: Record; } } interface Web3ModalState extends PublicStateControllerState { selectedNetworkId: number | undefined; } export declare class Web3Modal extends Web3ModalScaffold { private hasSyncedConnectedAccount; constructor(options: Web3ModalClientOptions); getState(): { selectedNetworkId: number | undefined; open: boolean; }; subscribeState(callback: (state: Web3ModalState) => void): () => void; private syncRequestedNetworks; privateCheckActive6963Provider(): void; private setWalletConnectProvider; private setInjectedProvider; private setEIP6963Provider; private setCoinbaseProvider; private watchWalletConnect; private watchInjected; private watchEIP6963; private watchCoinbase; private syncAccount; private syncNetwork; private syncProfile; private syncBalance; private switchNetwork; private syncConnectors; private listenConnectors; } export {};