/**
 * Priority Queue using Heap
 * Usage:
 *  const queue = new PriorityQueue()    -> min heap
 *  const queue = new PriorityQueue("min")    -> min heap
 *  const queue = new PriorityQueue("max")    -> max heap
 *
 *  queue.enqueue(SOME_ITEM, PRIORITY_NUMBER);    // e.g. queue.enqueue("a", 1)
 *  queue.dequeue();    // e.g. returns "a"
 *  queue.peek();    // returns the current first item
 *  queue.toString();    // print the current state of the entire queue (NOT IN SORTED ORDER!)
 *  queue.size();    // number of items
 *
 */
export default class {
    private heap;
    private type;
    constructor(heapType: string);
    enqueue(value: any, priority: number): void;
    dequeue(): any;
    toString(): string;
    size(): number;
    peek(): any;
    private heapify;
}
