import type { BaseAdapter } from '../adapters/BaseAdapter/BaseAdapter.js'; import type { BasicLogger, WorkerSharedOptions } from '../types.js'; export interface WorkerOptions extends WorkerSharedOptions { adapter: BaseAdapter; /** Used to set the `lockedBy` field in the database */ processName: string; /** If not given a queue name then will work on jobs in any queue */ queues: string[]; logger?: BasicLogger; /** If true, will clear the queue of all jobs and then exit */ clear?: boolean; /** * Set to `false` and the work loop will quit when the current job is done * running (regardless of how many outstanding jobs there are to be worked * on). The worker process will set this to `false` as soon as the user hits * ctrl-c so any current job will complete before exiting. */ workoff?: boolean; /** * If set to `true` will run the worker forever looking for new jobs. Otherwise * will only look for jobs one time and then exit. * * Useful for testing to avoid infinite loops! */ forever?: boolean; } type CompleteOptions = Required; export declare class Worker { #private; options: CompleteOptions; adapter: CompleteOptions['adapter']; logger: CompleteOptions['logger']; clear: CompleteOptions['clear']; processName: CompleteOptions['processName']; queues: CompleteOptions['queues']; maxAttempts: CompleteOptions['maxAttempts']; maxRuntime: CompleteOptions['maxRuntime']; deleteSuccessfulJobs: CompleteOptions['deleteSuccessfulJobs']; deleteFailedJobs: CompleteOptions['deleteFailedJobs']; sleepDelay: CompleteOptions['sleepDelay']; forever: CompleteOptions['forever']; workoff: CompleteOptions['workoff']; lastCheckTime: Date; constructor(options: WorkerOptions); run(): Promise; get queueNames(): string; } export {}; //# sourceMappingURL=Worker.d.ts.map