import { MaybePromise } from './utils/MaybePromise.js'; export { QyuBase, type QyuInputOptions, type JobAddInput, type JobFunction }; declare class QyuBase { isAtMaxConcurrency: boolean; isRunningJobChannels: boolean; isPaused: boolean; opts: NormalizedQyuOptions; private whenEmptyDeferred; private whenFreeDeferred; private jobChannels; private jobQueue; constructor(opts?: QyuInputOptions); set(newOpts: QyuInputOptions): void; add(input: JobAddInput): Promise; add[] | readonly []>(input: T): Promise<{ [K in keyof T]: T[K] extends JobAddInput ? RetVal : never; }>; pause(): Promise; resume(): undefined | void; empty(): Promise; whenEmpty(): Promise; whenFree(): Promise; private enqueue; private dequeue; private runJobChannel; private runJobChannels; } type JobFunction = () => MaybePromise; type NormalizedQyuOptions = Required<{ [K in keyof QyuInputOptions]: NonNullable; }>; interface QyuInputOptions { concurrency?: number | undefined | null; capacity?: number | undefined | null; rampUpTime?: number | undefined | null; } type JobAddInput = JobFunction | { fn: JobFunction; signal?: AbortSignal; timeout?: number | undefined; priority?: number | undefined; };