import { type OnApplicationBootstrap } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import type { ResolvedCoreConfig } from '../config/options.js';
import { type TelescopeModuleOptions } from '../nest/telescope.options.js';
import type { QueueManager, QueueManagerContext } from './queue-manager.js';
export declare class QueueManagerRegistry implements OnApplicationBootstrap {
    private readonly options;
    private readonly config;
    private readonly moduleRef;
    private readonly logger;
    private readonly managers;
    constructor(options: TelescopeModuleOptions, config: ResolvedCoreConfig, moduleRef: ModuleRef);
    /** Build the shared context handed to managers (init + on-demand actions). */
    context(): QueueManagerContext;
    /**
     * Explicit `queueManagers` plus any `watchers` entry that structurally
     * implements the `QueueManager` SPI (see {@link isQueueManager}), deduped by
     * identity — a watcher instance listed in BOTH `watchers` and
     * `queueManagers` is only inited/registered once.
     */
    private candidates;
    onApplicationBootstrap(): Promise<void>;
    drivers(): string[];
    get(driver: string): QueueManager | undefined;
    all(): QueueManager[];
}
//# sourceMappingURL=queue-manager.registry.d.ts.map