/** * TypeScript port of iris.bot._internal.emitter * 병렬 처리 및 최적화 버전 */ export type EventHandler = (...args: any[]) => void | Promise; export interface EventEmitterOptions { maxWorkers?: number; parallelExecution?: boolean; timeout?: number; } export declare class EventEmitter { private logger; private emitter; private maxWorkers; private parallelExecution; private timeout; private processingEvents; constructor(options?: EventEmitterOptions | number); on(event: string, handler: EventHandler): void; off(event: string, handler: EventHandler): void; once(event: string, handler: EventHandler): void; /** * 이벤트 발생 - 핸들러들을 병렬로 실행 */ emit(event: string, args?: any[]): void; /** * 이벤트 발생 및 완료 대기 (동기적 버전) */ emitAsync(event: string, args?: any[]): Promise; /** * 핸들러들을 병렬로 실행 (fire-and-forget) */ private executeHandlersParallel; /** * 핸들러들을 병렬로 실행하고 모든 완료 대기 */ private executeHandlersParallelAsync; /** * 단일 핸들러 실행 (타임아웃 포함) */ private executeHandler; /** * Promise에 타임아웃 적용 */ private withTimeout; removeAllListeners(event?: string): void; listenerCount(event: string): number; /** * 이벤트에 등록된 리스너 목록 가져오기 */ listeners(event: string): EventHandler[]; /** * 모든 이벤트 이름 가져오기 */ eventNames(): (string | symbol)[]; } //# sourceMappingURL=event-emitter.d.ts.map