declare type element = number | object | string; interface compareFunction { (a: element, b: element): number; } export default class PriorityQueue { private pq; private _size; private compare; constructor(fn?: compareFunction); private parent; private left; private right; private larger; private swim; private sink; enqueue(ele: element): void; dequeue(): element | null; getHead(): element | null; get size(): number; } export {};