/** * 비동기 태스크 큐 인터페이스 (DIP) * 도메인(monitoring)은 이 인터페이스만 참조하고, 인프라 구현체를 주입받음. */ export interface IQueueStats { pending: number; processing: number; completed: number; failed: number; totalProcessed: number; averageProcessingTime: number; throughput: number; } /** addTask에 넣는 최소 필드 (id, createdAt, retryCount는 구현체가 채움) */ export interface IAsyncTaskQueueAddOptions { id?: string; type: string; data: unknown; priority: number; maxRetries?: number; timeout?: number; } export interface IAsyncTaskQueue { addTask(task: IAsyncTaskQueueAddOptions & { data?: T; }): string | false; getStats(): IQueueStats; start(): Promise; stop(): Promise; } //# sourceMappingURL=async-task-queue.interface.d.ts.map