/** * Browser Event Emitter * * Browser-compatible event emitter that provides the same API as Node.js EventEmitter * but works in both browser and Node.js environments without external dependencies. */ export type EventListener = (...args: any[]) => void; export interface EventEmitterInterface { on(event: string, listener: EventListener): this; once(event: string, listener: EventListener): this; off(event: string, listener: EventListener): this; emit(event: string, ...args: any[]): boolean; removeAllListeners(event?: string): this; listenerCount(event: string): number; listeners(event: string): EventListener[]; } export declare class BrowserEventEmitter implements EventEmitterInterface { private events; private onceEvents; private maxListeners; /** * Add a listener for the specified event */ on(event: string, listener: EventListener): this; /** * Add a one-time listener for the specified event */ once(event: string, listener: EventListener): this; /** * Remove a listener for the specified event */ off(event: string, listener: EventListener): this; /** * Emit an event to all listeners */ emit(event: string, ...args: any[]): boolean; /** * Remove all listeners for a specific event or all events */ removeAllListeners(event?: string): this; /** * Get the number of listeners for an event */ listenerCount(event: string): number; /** * Get all listeners for an event */ listeners(event: string): EventListener[]; /** * Set the maximum number of listeners before warning */ setMaxListeners(n: number): this; /** * Get the maximum number of listeners */ getMaxListeners(): number; /** * Get all event names that have listeners */ eventNames(): string[]; /** * Add listener (alias for on) */ addListener(event: string, listener: EventListener): this; /** * Remove listener (alias for off) */ removeListener(event: string, listener: EventListener): this; /** * Prepend listener to the beginning of the listeners array */ prependListener(event: string, listener: EventListener): this; /** * Prepend one-time listener */ prependOnceListener(event: string, listener: EventListener): this; /** * Emit error event safely */ private emitError; } export declare const defaultEventEmitter: BrowserEventEmitter; export default BrowserEventEmitter; //# sourceMappingURL=BrowserEventEmitter.d.ts.map