import type { IAsyncTaskQueue } from '../../shared/interfaces/async-task-queue.interface.js'; import type { QueueStats, Task, TaskResult } from './async-optimizer.types.js'; export declare class AsyncTaskQueue implements IAsyncTaskQueue { private queue; private processing; private completed; private failed; private workers; private maxWorkers; private maxQueueSize; private running; private stats; constructor(maxWorkers?: number, maxQueueSize?: number | null); addTask(task: Omit, 'id' | 'createdAt' | 'retryCount'> & { id?: string; }): string | false; start(): Promise; stop(): Promise; private processNext; private processNextBatch; getResult(taskId: string): TaskResult | null; getTaskStatus(taskId: string): 'pending' | 'processing' | 'completed' | 'failed' | null; getStats(): QueueStats; private updateStats; onTaskCompleted(taskId: string, result: TaskResult): void; onTaskFailed(taskId: string, result: TaskResult): void; getNextTask(): Task | null; isRunning(): boolean; cancelTask(taskId: string): boolean; clear(): void; getCompletedTasks(): TaskResult[]; getFailedTasks(): TaskResult[]; retryTask(taskId: string): boolean; getQueueLength(): number; isQueueEmpty(): boolean; getProcessingTasks(): Task[]; getTaskById(taskId: string): Task | null; getTasksByType(type: string): Task[]; getTasksByPriority(priority: number): Task[]; } //# sourceMappingURL=async-task-queue.d.ts.map