/** * * Usage: * * ```tsx * const myEmitter = new EventEmitter(); * * // Register a listener for the 'update' event * myEmitter.on('update', data => { * console.log(`An update event was emitted with data: ${data}`); * }); * * // Emit the 'update' event with some data * myEmitter.emit('update', 'This is the emitted data.'); * * // Remove the listener * myEmitter.off('update', listener); * ``` */ export interface Listeners { [event: string]: ((data?: any) => void)[]; } export declare class EventEmitter { private listeners; constructor(); on(event: string, listener: (data?: any) => void): () => void; off(event: string, listenerToRemove: (data?: any) => void): void; emit(event: string, data?: any): void; }