import type { Task, QueueStatus } from '../protocol.js'; /** * Manages the task queue with size limits and receipt tracking. */ export declare class QueueManager { private queue; private completed; private completedCount; private errorCount; private waiters; /** * Add a task to the queue. Throws QueueFullError if at capacity. */ enqueue(task: Task): string; /** * Remove and return the next task from the queue. */ dequeue(): Task | null; /** * Get a task by its ID (receipt). */ getTask(taskId: string): Task | null; /** * Update a task in the queue or completed map. */ updateTask(taskId: string, updates: Partial): void; /** * Mark a task as completed and move to completed map. */ completeTask(task: Task, error?: string): void; /** * Get current queue size. */ size(): number; /** * Get maximum queue size. */ maxSize(): number; /** * Check if queue is at capacity. */ isFull(): boolean; /** * Get full queue status. */ getFullStatus(): QueueStatus; /** * Clear all pending tasks from the queue. */ clear(): number; /** * Wait for a task to complete. */ waitForTask(taskId: string, timeoutMs?: number): Promise; /** * Persist current queue state to disk. */ private persistState; /** * Restore queue state from disk on startup. */ restoreState(): Promise; } export declare function getQueueManager(): Promise; export declare function resetQueueManager(): void; //# sourceMappingURL=manager.d.ts.map