interface PriorityQueue { add(e: E): boolean; clear(): void; contains(e: E): boolean; peek(): E | null; poll(): E | null; remove(e: E): boolean; size: number; isEmpty(): boolean; } interface Comparator { (a: E, b: E): number; } export default class PriorityQueueImpl implements PriorityQueue { private stack; private comparator; size: number; constructor(); constructor(comparator: Comparator); constructor(list: E[]); constructor(list: E[], comparator?: Comparator); static defaultCompartor: Comparator; add(e: E): boolean; remove(e: E): boolean; poll(): E | null; clear(): void; contains(e: E): boolean; peek(): E | null; isEmpty(): boolean; private slipUp; private slipDown; } export {};