import type { LibraryOptions, PublicStateControllerState, Token } from '@web3modal/scaffold'; import { Web3ModalScaffold } from '@web3modal/scaffold'; import type { Web3ModalSIWEClient } from '@web3modal/siwe'; import { type Eip1193Compatible } from 'web3-types'; import { type ProviderType, type Chain, type SimpleChain } from './scaffold-utils/Web3TypesUtil.js'; import type { Web3StoreUtilState } from './scaffold-utils/Web3StoreUtil.js'; export interface Web3ModalClientOptions extends Omit { web3Config: ProviderType; chains: Chain[] | SimpleChain[]; siweConfig?: Web3ModalSIWEClient; defaultChain?: Chain; chainImages?: Record; connectorImages?: Record; tokens?: Record; } 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; private EIP6963Providers; private walletConnectProvider?; private walletConnectProviderInitPromise?; private projectId; private chains; private metadata?; private options; private emailProvider?; constructor(options: Web3ModalClientOptions); getState(): { selectedNetworkId: number | undefined; loading: boolean; open: boolean; }; subscribeState(callback: (state: Web3ModalState) => void): () => void; setAddress(address?: string): void; getAddress(): string | undefined; getError(): unknown; getChainId(): number | undefined; getIsConnected(): boolean; getWalletProvider(): Eip1193Compatible | undefined; getWalletProviderType(): "walletConnect" | "injected" | "coinbaseWallet" | "eip6963" | "w3mEmail" | undefined; subscribeProvider(callback: (newState: Web3StoreUtilState) => void): () => void; disconnect(): Promise; private createProvider; private initWalletConnectProvider; private getWalletConnectProvider; private syncRequestedNetworks; private checkActiveWalletConnectProvider; private checkActiveInjectedProvider; private checkActiveCoinbaseProvider; private checkActive6963Provider; private setWalletConnectProvider; private setInjectedProvider; private setEIP6963Provider; private setCoinbaseProvider; private setEmailProvider; private watchWalletConnect; private watchInjected; private watchEIP6963; private watchCoinbase; private watchEmail; private watchModal; private syncAccount; private syncNetwork; private syncProfile; private syncBalance; private syncConnectedWalletInfo; switchNetwork(chainId: number): Promise; private syncConnectors; private syncEmailConnector; private eip6963EventHandler; private listenConnectors; } export {};