import { DynamicModule, OnApplicationBootstrap, OnApplicationShutdown } from "@nestjs/common";
import { TasksQueueAsyncOptions } from "./tasks-queue-async-options.js";
import { ModuleRef } from "@nestjs/core";
export declare class TasksQueueModule implements OnApplicationBootstrap, OnApplicationShutdown {
    private readonly moduleRef;
    constructor(moduleRef: ModuleRef);
    /**
     * Create a dynamically configured queue module.
     *
     * The resulting module exports {@link TasksPoolsService} for scheduling and
     * worker registration, and {@link ManageTasksQueueService} for operational
     * management queries and mutations.
     *
     * @param options async configuration strategy
     * @returns configured NestJS dynamic module
     */
    static forRootAsync(options: TasksQueueAsyncOptions): DynamicModule;
    private static createAsyncProviders;
    private static createAsyncOptionsProvider;
    /**
     * Start queue processing after NestJS application bootstrap.
     *
     * @returns nothing; workers and optional auxiliary processing start in the background
     */
    onApplicationBootstrap(): void;
    /**
     * Stop queue processing during NestJS application shutdown.
     *
     * @returns resolved promise once queue services stop gracefully
     */
    onApplicationShutdown(): Promise<void>;
}
