export interface PriorityQueueItem<T> {
    item: T;
    priority: number;
}
export declare class PriorityQueue<T> {
    private heap;
    enqueue(item: T, priority: number): void;
    dequeue(): T | undefined;
    peek(): T | undefined;
    isEmpty(): boolean;
    size(): number;
    updatePriority(item: T, newPriority: number): boolean;
    private heapifyUp;
    private heapifyDown;
    private swap;
}
//# sourceMappingURL=PriorityQueue.d.ts.map