///
import { OnModuleInit } from '@nestjs/common';
import { DiscoveryService, ModuleRef } from '@nestjs/core';
import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
import { Module } from '@nestjs/core/injector/module';
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
import { Queue, Worker } from 'bullmq';
import EventEmitter = require('events');
import { BullMetadataAccessor } from './bull-metadata.accessor';
import { BullQueueEventOptions } from './bull.types';
import { ProcessOptions } from './decorators';
export declare class BullExplorer implements OnModuleInit {
private readonly moduleRef;
private readonly discoveryService;
private readonly metadataAccessor;
private readonly metadataScanner;
private readonly logger;
private readonly injector;
constructor(moduleRef: ModuleRef, discoveryService: DiscoveryService, metadataAccessor: BullMetadataAccessor, metadataScanner: MetadataScanner);
onModuleInit(): void;
explore(): void;
getQueue(queueToken: string, queueName: string): Queue;
handleProcessor(instance: object, key: string, queue: Queue, moduleRef: Module, isRequestScoped: boolean, options?: ProcessOptions): Worker;
handleListener(instance: object, key: string, wrapper: InstanceWrapper, queue: Queue, listener: EventEmitter, options: BullQueueEventOptions): void;
}