export default class EventEmitter { /** * Stop emitting events and clear internal state. */ shutdown(): void; /** * Destroy this emitter. */ destroy(): void; /** * Get a list of event names with registered listeners. */ eventNames(): (string | symbol)[]; /** * Get listeners for an event. * @param event - Event name. */ listeners(event: string | symbol): Function[]; /** * Get listener count for an event. * @param event - Event name. */ listenerCount(event: string | symbol): number; /** * Emit an event. * @param event - Event name. * @param args - Event arguments. * @returns True if any listeners were called. */ emit(event: string | symbol, ...args: any[]): boolean; /** * Register a listener. * @param event - Event name. * @param fn - Callback function. * @param context - Callback context. */ on(event: string | symbol, fn: Function, context?: any): this; /** * Register a listener. * @param event - Event name. * @param fn - Callback function. * @param context - Callback context. */ addListener(event: string | symbol, fn: Function, context?: any): this; /** * Register a one-time listener. * @param event - Event name. * @param fn - Callback function. * @param context - Callback context. */ once(event: string | symbol, fn: Function, context?: any): this; /** * Remove a listener. * @param event - Event name. * @param fn - Callback function. * @param context - Callback context. * @param once - True to remove only once listeners. */ removeListener(event: string | symbol, fn?: Function, context?: any, once?: boolean): this; /** * Remove a listener. * @param event - Event name. * @param fn - Callback function. * @param context - Callback context. * @param once - True to remove only once listeners. */ off(event: string | symbol, fn?: Function, context?: any, once?: boolean): this; /** * Remove all listeners for an event or all events. * @param event - Event name. */ removeAllListeners(event?: string | symbol): this; }