import type { Job } from 'bullmq'; import { JobCleanStatus, JobCounts, JobStatus, QueueAdapterOptions, QueueJobOptions } from '../../typings/app'; import { BullMQAdapter } from './bullMQ'; import type { QueueProLike } from './bullMQProTypes'; export declare class BullMQProAdapter extends BullMQAdapter { readonly isPro = true; private readonly proQueue; private groupCountsCache; constructor(queue: QueueProLike, options?: Partial); getJobCounts(): Promise; getJobs(jobStatuses: JobStatus[], start?: number, end?: number): Promise; addJob(name: string, data: any, options: QueueJobOptions): Promise>; clean(jobStatus: JobCleanStatus, graceTimeMs: number): Promise; empty(): Promise; obliterate(): Promise; pause(): Promise; resume(): Promise; promoteAll(): Promise; private invalidateGroupCounts; private getGroupCounts; private getRelevantGroupStatuses; private fetchJobsFromGroups; } export type { JobProLike, QueueProLike } from './bullMQProTypes';