import { Throttleable } from "../.."; /** * Offers the necessary functionality to throttle * highly concurent operations. */ declare class Throttler { private _tasksQueue; private _concurrencyCounter; private _concurrencyLimit; protected get concurrencyLimit(): number; protected get concurrencyCounter(): number; protected get tasksQueue(): Throttleable[]; constructor(concurrencyLimit?: number); enqueueTask(task: Throttleable): void; private handleTaskEnqueued; private executeNextTaskIfPossible; private executeNextTask; private tasksQueueNotEmpty; private dequeueTask; private handleTaskFinished; private incrementConcurrencyCounter; private decrementConcurrencyCounter; private concurrencyLimitNotReached; } export { Throttler };