import { EventEmitter } from 'node:events'; type Events = Record; export declare class EnhancedEventEmitter extends EventEmitter { constructor(); /** * Empties all stored event listeners. */ close(): void; emit(eventName: K, ...args: E[K]): boolean; /** * Special addition to the EventEmitter API. */ safeEmit(eventName: K, ...args: E[K]): boolean; on(eventName: K, listener: (...args: E[K]) => void): this; off(eventName: K, listener: (...args: E[K]) => void): this; addListener(eventName: K, listener: (...args: E[K]) => void): this; prependListener(eventName: K, listener: (...args: E[K]) => void): this; once(eventName: K, listener: (...args: E[K]) => void): this; prependOnceListener(eventName: K, listener: (...args: E[K]) => void): this; removeListener(eventName: K, listener: (...args: E[K]) => void): this; removeAllListeners(eventName?: K): this; listenerCount(eventName: K): number; listeners(eventName: K): Function[]; rawListeners(eventName: K): Function[]; } /** * TypeScript version of events.once(): * https://nodejs.org/api/events.html#eventsonceemitter-name-options * * Usage example: * ```ts * await enhancedOnce(videoConsumer, 'producerpause'); * ```` */ export declare function enhancedOnce(emmiter: EnhancedEventEmitter, eventName: keyof E & string, options?: any): Promise; export {}; //# sourceMappingURL=enhancedEvents.d.ts.map