export type PromiseCallback = ConstructorParameters<typeof Promise>[0];
export type Resolve = Parameters<PromiseCallback>[0];
export type Reject = Parameters<PromiseCallback>[1];
export type QueueItem = {
    method: string;
    resolve: Resolve;
    reject: Reject;
    timeoutId: NodeJS.Timeout;
};
export type QueueMap = Map<string, QueueItem>;
export declare class PromiseQueue {
    items: QueueMap;
    get length(): number;
    get isEmpty(): boolean;
    enqueue(key: string, item: QueueItem): void;
    dequeue(key: string): QueueItem;
}
