import { ArrayEnumerable } from '../enumerables/ArrayEnumerable'; import { Comparer, ICollection, IEnumerable } from '../types'; /** * Implements an array-backed min-heap. * Each element is enqueued with an associated priority that determines the dequeue order: elements with the lowest priority get dequeued first. */ export declare class PriorityQueue extends ArrayEnumerable<[TSource, TPriority]> implements ICollection<[TSource, TPriority]> { private readonly srcComparer; constructor(); constructor(collection: Iterable<[TSource, TPriority]>); constructor(comparer: Comparer); constructor(collection: Iterable<[TSource, TPriority]>, comparer: Comparer); get comparer(): Comparer; get length(): number; get unorderedItems(): IEnumerable<[TSource, TPriority]>; clear(): void; copyTo(array: [TSource, TPriority][], arrayIndex: number): void; dequeue(): TSource; enqueue(item: TSource, priority: TPriority): void; enqueueRange(items: [TSource, TPriority][]): void; enqueueRange(items: TSource[], priority: TPriority): void; peek(): TSource; tryDequeue(): TSource | null; tryPeek(): TSource | null; private heapifyUp; private heapifyDown; private hasParent; private hasLeftChild; private hasRightChild; private getParentIndex; private getLeftChildIndex; private getRightChildIndex; private swap; } //# sourceMappingURL=PriorityQueue.d.ts.map