export declare class PromiseQueue<T> {
    #private;
    constructor();
    get size(): number;
    get isProcessing(): boolean;
    enqueue(promise: Promise<T>): void;
    /**
     * Processes all Promises in the queue.
     */
    processAll(): Promise<T[]>;
    /**
     * Processes the first `promiseCount` Promises in the queue.
     * @throws {@link IllegalArgumentError} Thrown if `promiseCount` is invalid.
     */
    processFirst(promiseCount: number): Promise<T[]>;
}
