import { Queue, Worker, Job, QueueEvents, RedisOptions } from 'bullmq'; export declare abstract class BaseQueue { protected queue: Queue; protected queueEvents: QueueEvents; protected connection: RedisOptions; private worker; constructor(queueName: string, connection: RedisOptions); abstract processJob(data: any): Promise; abstract getQueueName(): string; abstract getQueue(): Queue; getWorker(): Worker; addJob(jobData: any): Promise; createWorker(concurrency?: number): Worker; getJobs(): Promise; getJobCounts(): Promise<{ [index: string]: number; }>; getJobByName(jobName: string): Promise; getQueueEvents(): QueueEvents; clearQueue(): Promise; }