import type { Logger } from '@strapi/logger'; interface ConstructorParameters { logger: Logger; concurrency?: number; } type Worker = (payload: TPayload) => Promise | TReturn; export default class WorkerQueue { logger: Logger; worker: Worker; concurrency: number; running: number; queue: TPayload[]; constructor({ logger, concurrency }: ConstructorParameters); subscribe(worker: Worker): void; enqueue(payload: TPayload): void; pop(): void; execute(payload: TPayload): Promise; } export {}; //# sourceMappingURL=worker-queue.d.ts.map