import { DiscoveryService } from '@golevelup/nestjs-discovery';
import { DynamicModule, OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
import { ExternalContextCreator } from '@nestjs/core/helpers/external-context-creator';
import { AmqpConnection } from './amqp/connection';
import { AmqpConnectionManager } from './amqp/connectionManager';
import { ConfigurableModuleClass } from './rabbitmq-module-definition';
import { RabbitRpcParamsFactory } from './rabbitmq.factory';
import { RabbitMQConfig } from './rabbitmq.interfaces';
export declare class RabbitMQModule extends ConfigurableModuleClass implements OnApplicationBootstrap, OnApplicationShutdown {
    private readonly discover;
    private readonly externalContextCreator;
    private readonly rpcParamsFactory;
    private readonly connectionManager;
    private readonly logger;
    private static connectionManager;
    private static bootstrapped;
    constructor(discover: DiscoveryService, externalContextCreator: ExternalContextCreator, rpcParamsFactory: RabbitRpcParamsFactory, connectionManager: AmqpConnectionManager, config: RabbitMQConfig);
    static AmqpConnectionFactory(config: RabbitMQConfig): Promise<AmqpConnection | undefined>;
    static attach(connection: AmqpConnection): DynamicModule;
    onApplicationShutdown(): Promise<void>;
    private setupHandler;
    onApplicationBootstrap(): Promise<void>;
}
//# sourceMappingURL=rabbitmq.module.d.ts.map