import 'reflect-metadata'; /** * Event handler type */ type EventHandler = (...args: unknown[]) => void | Promise; /** * Event Emitter * * Simple event bus for decoupled communication between modules */ export declare class EventEmitter { private static instance; private listeners; private constructor(); static getInstance(): EventEmitter; /** * Register an event listener */ on(event: string, handler: EventHandler): void; /** * Register a one-time event listener */ once(event: string, handler: EventHandler): void; /** * Remove an event listener */ off(event: string, handler: EventHandler): void; /** * Emit an event */ emit(event: string, ...args: unknown[]): Promise; /** * Emit an event synchronously */ emitSync(event: string, ...args: unknown[]): void; /** * Remove all listeners for an event */ removeAllListeners(event?: string): void; /** * Get listener count for an event */ listenerCount(event: string): number; /** * Get all event names */ eventNames(): string[]; } export {}; //# sourceMappingURL=event-emitter.d.ts.map