// Type definitions for the Node.js events module // Project: https://nodejs.org/api/events.html type EventEmitterArgs = Events[K] extends Array ? Events[K] : unknown[]; type EventEmitterCallback = (...args: Events[K] extends Array ? Events[K] : unknown[]) => void declare class EventEmitter { on(event: K, callback: EventEmitterCallback): void; once(event: K, callback: EventEmitterCallback): void; off(event: K, callback: EventEmitterCallback): void; removeListener(event: K, callback: EventEmitterCallback): void; listeners(event: K): EventEmitterCallback[]; emit(event: K, ...args: EventEmitterArgs): void; }