export declare class EventEmitter> { protected eventMap: Record void>>; on(eventName: K, listener: (...args: T[K]) => void): this; once(eventName: K, listener: (...args: T[K]) => void): this; emit(eventName: K, ...args: T[K]): boolean; off(eventName: K, listener?: (...args: T[K]) => void): this; }