import { type Deferred } from './Deferred'; type PromiseQueueOpts = { maxConcurrent: number; }; export default class PromiseQueue { _deferred: Deferred> | null | undefined; _maxConcurrent: number; _numRunning: number; _queue: Array<() => Promise>; _runPromise: Promise> | null | undefined; _error: unknown; _count: number; _results: Array; _addSubscriptions: Set<() => void>; constructor(opts?: PromiseQueueOpts); getNumWaiting(): number; add(fn: () => Promise): void; subscribeToAdd(fn: () => void): () => void; run(): Promise>; _next(): Promise; _runFn(fn: () => unknown): Promise; _resetState(): void; _done(): void; } export {};