import type { Task } from "../types";
declare class Queue {
    private heap;
    private activeCount;
    private readonly concurrencyLimit;
    private readonly maxRetries;
    private readonly log?;
    private readonly backOff;
    constructor(concurrencyLimit: number, maxRetries: number, consoleLog?: boolean, backOff?: boolean);
    private logger;
    private calculateBackoff;
    private heapifyUp;
    enqueue(task: Task): void;
    private heapifyDown;
    private runNext;
}
export default Queue;
