/** * Priority Queue Implementation * * A min-heap based priority queue for efficient priority-based processing */ import type { QueueOperation } from '@plyaz/types/api'; /** * Priority queue using min-heap for O(log n) operations */ export declare class PriorityQueue { private heap; /** * Add operation to the priority queue */ enqueue(operation: QueueOperation): void; /** * Remove and return the highest priority operation */ dequeue(): QueueOperation | undefined; /** * Peek at the highest priority operation without removing */ peek(): QueueOperation | undefined; /** * Get queue size */ size(): number; /** * Check if queue is empty */ isEmpty(): boolean; /** * Clear the queue */ clear(): void; /** * Bubble up element to maintain heap property */ private bubbleUp; /** * Bubble down element to maintain heap property */ private bubbleDown; /** * Compare two operations for priority * Returns negative if a has higher priority, positive if b has higher priority */ private compare; /** * Swap two elements in the heap */ private swap; /** * Get all operations in priority order (non-destructive) */ toArray(): QueueOperation[]; } //# sourceMappingURL=PriorityQueue.d.ts.map