/**
 * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
 */
declare const PromiseQueue_base: {
    new (): import("@ckeditor/ckeditor5-utils").Emitter;
    prototype: import("@ckeditor/ckeditor5-utils").Emitter;
};
export declare class PromiseQueue extends PromiseQueue_base {
    isProcessing: boolean;
    /**
     * Adds a task to the queue. An abort signal is provided to the callback to allow it to abort the task.
     */
    enqueue(callback: PromiseQueueTaskCallback): Promise<void>;
    /**
     * Aborts the queue, rejects all pending tasks and resets it to initial state.
     */
    abort(): void;
    /**
     * A promise that resolves when the queue is empty.
     */
    get queueEmptyPromise(): Promise<void>;
    /**
     * Processes the queue sequentially.
     */
    private _processQueue;
}
type PromiseQueueTaskCallback = (signal: AbortSignal) => Promise<void>;
export {};
