import { Logger } from "../core/logger/Logger";
export declare class Queue extends Logger {
    private parallelCount;
    private running;
    private queue;
    private onQueueEmpty?;
    private finalResolve?;
    constructor(name: string);
    setParallelCount(parallelCount: number): this;
    setOnQueueEmpty(onQueueEmpty: () => void): this;
    addItem<T>(toExecute: () => Promise<T>, onCompleted?: (output: T) => void, onError?: (error: any) => void): void;
    addItemImpl<T>(toExecute: () => Promise<T>, onCompleted?: (output: T) => void, onError?: (error: any) => void): void;
    ignore: () => void;
    execute(): void;
    executeSync(): Promise<void>;
}
