import type { FilterFn, QueueOptions, TaskFn, QueueDestroyInfo } from "./types"; import type { EventsTypes } from "./const.js"; import { Task } from "./Task.js"; import { EVENTS } from "./const.js"; declare class Queue { private _concurrency; private readonly _tasks; private readonly _runningTasks; private readonly _ee; private _destroyed; private _paused; push: typeof Queue.prototype.add; unshift: typeof Queue.prototype.prepend; readonly on: typeof Queue.prototype.addEventListener; readonly off: typeof Queue.prototype.removeEventListener; readonly once: typeof Queue.prototype.addEventListenerOnce; constructor(options?: QueueOptions); private _destroyedCheck; destroy(): QueueDestroyInfo; private _runNext; private _isConcurrencySlotFree; private _createTask; addEventListener(eventName: T, fn: EventsTypes[T]): () => void; addEventListenerOnce(eventName: T, fn: EventsTypes[T]): () => void; removeEventListener(eventName: T, fn: EventsTypes[T]): void; setConcurrency(concurrency: number): void; add(taskFn: TaskFn, data?: { [key: string]: unknown; }): Task; prepend(taskFn: TaskFn, data?: { [key: string]: unknown; }): Task; insertAt(taskFn: TaskFn, index: number, data?: { [key: string]: unknown; }): Task; remove(task: Task): void; private _remove; private _removeRunning; getQueueSize(): number; getTasks(): Task[]; filter(fn: FilterFn): Task[]; cancelBy(fn: FilterFn): Task[]; getTaskPosition(task: Task): number; getTaskWaitingPosition(task: Task): number; isTaskRunning(task: Task): boolean; pause(): void; unpause(): void; } export { Queue, }; //# sourceMappingURL=Queue.d.ts.map