export interface Handler { (data?: Type): void; } export declare enum EmitterMode { ALL_HANDLERS = "ALL_HANDLERS", FIRST_HANDLER = "FIRST_HANDLER", LAST_HANDLER = "LAST_HANDLER", } export declare class Event { name: string; private _onceEvents; private _events; private _maxListeners; private _emitterMode; constructor(name: string); listeners(): Handler[]; setMaxListeners(n: number): this; getMaxListeners(): number; once(handler: Handler): this; on(handler: Handler): this; removeLastListener(): void; removeFirstListener(): void; addListener(handler: Handler): this; removeListener(handler: Handler): this; off(handler: Handler): this; removeAllListeners(): this; emit(data?: Type): boolean; setMode(mode: EmitterMode): void; waitFor(timeoutMs?: number): Promise; listenerCount(): number; }