export interface QueueItem<T> {
    id: string;
    priority: number;
    data: T;
}
export declare class Queue<T> {
    private _items;
    private _triggerEnqueue;
    constructor(triggerEnqueue: (data: T) => void);
    enqueue(id: string, data: T, priority?: number): void;
    dequeue(): QueueItem<T> | undefined;
    removeQueue(id: string): boolean;
    changePagePriority(id: string | RegExp, newPriority: number): boolean;
    get items(): QueueItem<T>[];
    peekAll(): QueueItem<T>[];
    isEmpty(): boolean;
    size(): number;
    clear(): void;
}
