import { EventEmitter } from 'web3-utils'; export type Web3EventMap = Record; export type Web3EventKey = string & keyof T; export type Web3EventCallback = (params: T) => void | Promise; export interface Web3Emitter { on>(eventName: K, fn: Web3EventCallback): void; once>(eventName: K, fn: Web3EventCallback): void; off>(eventName: K, fn: Web3EventCallback): void; emit>(eventName: K, params: T[K]): void; } export declare class Web3EventEmitter implements Web3Emitter { private readonly _emitter; on>(eventName: K, fn: Web3EventCallback): void; once>(eventName: K, fn: Web3EventCallback): void; off>(eventName: K, fn: Web3EventCallback): void; emit>(eventName: K, params: T[K]): void; listenerCount>(eventName: K): number; listeners>(eventName: K): ((...args: any[]) => void)[]; eventNames(): (string | symbol)[]; removeAllListeners(): EventEmitter; setMaxListenerWarningThreshold(maxListenersWarningThreshold: number): void; getMaxListeners(): number; }