interface Item<T> {
    priority: number;
    payload: T;
}
export declare class Queue<T> {
    protected data: Item<T>[];
    insert(priority: number, payload: T): void;
    take(payload?: T | null): T | null;
    peek(): T | undefined;
    get length(): number;
    get empty(): boolean;
    private takeSpecific;
}
export {};
