/** * Priority Queue Implementation using Binary Heap */ import { QueuedTask } from './types'; /** * Priority Queue for Tasks */ export declare class TaskPriorityQueue { private queue; private taskMap; private logger; private maxSize; constructor(maxSize?: number); /** * Add task to queue */ enqueue(task: QueuedTask): boolean; /** * Remove and return highest priority task */ dequeue(): QueuedTask | undefined; /** * Peek at highest priority task without removing */ peek(): QueuedTask | undefined; /** * Remove specific task from queue */ remove(taskId: string): QueuedTask | undefined; /** * Update task priority (requires re-insertion) */ updatePriority(taskId: string, newPriority: number): boolean; /** * Get task by ID without removing */ getTask(taskId: string): QueuedTask | undefined; /** * Get all tasks matching filter */ getTasks(filter?: (task: QueuedTask) => boolean): QueuedTask[]; /** * Get queue size */ size(): number; /** * Check if queue is empty */ isEmpty(): boolean; /** * Check if queue is full */ isFull(): boolean; /** * Clear the queue */ clear(): void; /** * Get queue statistics */ getStatistics(): { size: number; maxSize: number; utilization: number; priorities: Record; oldestTask?: QueuedTask; highestPriorityTask?: QueuedTask; }; /** * Export queue state for persistence */ export(): QueuedTask[]; /** * Import queue state from persistence */ import(tasks: QueuedTask[]): void; } //# sourceMappingURL=priority-queue.d.ts.map