import { JobTopicNameEnum } from '@novu/shared'; import { BullMqService, JobsOptions, BulkJobOptions, Queue, QueueOptions } from '../bull-mq'; export declare class QueueBaseService { readonly topic: JobTopicNameEnum; private bullMqService; private instance; readonly DEFAULT_ATTEMPTS = 3; queue: Queue; constructor(topic: JobTopicNameEnum, bullMqService: BullMqService); createQueue(overrideOptions?: QueueOptions): void; private getQueueOptions; isReady(): boolean; isPaused(): Promise; getStatus(): Promise<{ queueIsPaused: boolean; queueName: string; workerIsPaused: boolean; workerIsRunning: boolean; workerName: string; }>; getGroupsJobsCount(): Promise; getWaitingCount(): Promise; getDelayedCount(): Promise; getActiveCount(): Promise; gracefulShutdown(): Promise; add(params: IJobParams): Promise; addBulk(data: IBulkJobParams[]): Promise; onModuleDestroy(): Promise; } export interface IJobParams { name: string; data?: any; groupId?: string; options?: JobsOptions; } export interface IBulkJobParams { name: string; data: any; groupId?: string; options?: BulkJobOptions; } //# sourceMappingURL=queue-base.service.d.ts.map