import { EventEmitter } from 'events'; import type { Address } from 'viem'; import { IEthereumProvider, IEthereumProviderEvents, ProviderAccounts, RequestArguments } from './types'; export interface EthereumProviderOptions { chains: number[]; methods?: string[]; events?: string[]; } export declare class KryptogoEthereumProvider implements IEthereumProvider { events: EventEmitter<[never]>; namespace: string; accounts: Address[]; chainId: number; constructor(opts: EthereumProviderOptions); request(args: RequestArguments): Promise; getAccounts(): string[]; requestAccounts(): Promise; getChainId(): string; sendTransaction(req: RequestArguments): Promise; switchEthereumChain(chainId: number): Promise; enable(): Promise; connect({ chainId }?: { chainId?: number; }): Promise; disconnect(): Promise; isConnected(): Promise; protected setChainId(chainId: number): void; protected setAccounts(accounts: Address[]): void; protected reset(): void; on: IEthereumProviderEvents['on']; once: IEthereumProviderEvents['once']; removeListener: IEthereumProviderEvents['removeListener']; off: IEthereumProviderEvents['off']; }