import type { JobBatchResponse, JobResponse } from './types'; declare type ConsumeJobsFn = (job: Job[]) => Promise[]>; export default class MachinatQueue { currentSeq: number; private _queuedJobs; private _waitingRequets; private _jobListeners; private _finishJobsReducerCallback; private _failJobsReducerCallback; constructor(); onJobs(listener: (queue: MachinatQueue) => void): void; removeJobsListener(listenerToRemove: (queue: MachinatQueue) => void): boolean; private _emitJobEvent; peekAt(idx: number): undefined | Job; acquireAt(idx: number, count: number, consume: ConsumeJobsFn): Promise[]>; acquire(count: number, consume: (jobs: Job[]) => Promise[]>): Promise[]>; private _enqueueJobs; executeJobs(jobs: Job[]): Promise>; get length(): number; private _finishJobs; private _finishJobsReducer; private _failJobs; private _failJobsReducer; private _removeJobsOfRequest; } export {};