import type { DerivedJobClass, Job } from './job'; import { Worker as BullWorker } from 'bullmq'; import { Container } from './container'; import type { Queue } from './queue'; export declare abstract class Worker = Queue, Js extends Job[] = Job[]> { protected cnt: C; constructor(cnt: C); abstract queue: Q; abstract Jobs: DerivedJobClass[]; work: () => BullWorker; } export declare type DerivedWorkerClass, Js extends Job[], W extends Worker> = Pick, keyof typeof Worker> & (new (...args: ConstructorParameters>) => W);