/** * Platform-free EventEmitter implementation. * * The DI container extends EventEmitter, so it cannot DI-inject its own emitter * ( chicken-and-egg ). Node's `events` module is not available in the browser, * so we ship a small drop-in with the same public surface used across the * framework. Behaviour mirrors Node's EventEmitter closely enough for our needs: * * - `this`-returning mutators ( on / off / emit / ... ) * - listener ordering ( prepend variants ) * - once wrappers * - per-instance max listeners tracking * * Intentional deviation from Node: no throw-on-unhandled-'error'. The container * never relies on that behaviour and throwing would be surprising in a browser. */ type Listener = (...args: any[]) => void; export declare class EventEmitter { private _events; private _maxListeners; setMaxListeners(n: number): this; getMaxListeners(): number; addListener(event: string | symbol, listener: Listener): this; on(event: string | symbol, listener: Listener): this; prependListener(event: string | symbol, listener: Listener): this; once(event: string | symbol, listener: Listener): this; prependOnceListener(event: string | symbol, listener: Listener): this; removeListener(event: string | symbol, listener: Listener): this; off(event: string | symbol, listener: Listener): this; removeAllListeners(event?: string | symbol): this; emit(event: string | symbol, ...args: any[]): boolean; listeners(event: string | symbol): Listener[]; rawListeners(event: string | symbol): Listener[]; listenerCount(event: string | symbol): number; eventNames(): (string | symbol)[]; private _add; private _onceWrap; } export {}; //# sourceMappingURL=events.d.ts.map