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