import { DynamicModule, Logger, OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
import { type RabbitmqConnectionOptions, type RabbitmqModuleAsyncOptions, type RabbitmqModuleOptions, RmqClient } from './types.js';
export declare class RabbitmqCoreModule implements OnApplicationShutdown, OnApplicationBootstrap {
    protected client: RmqClient;
    private connectionOptions;
    private logger?;
    /**
     *
     */
    static forRoot(moduleOptions: RabbitmqModuleOptions): DynamicModule;
    /**
     *
     */
    static forRootAsync(asyncOptions: RabbitmqModuleAsyncOptions): DynamicModule;
    private static _createDynamicModule;
    /**
     *
     * @constructor
     */
    constructor(client: RmqClient, connectionOptions: RabbitmqConnectionOptions, logger?: Logger | undefined);
    onApplicationBootstrap(): Promise<void>;
    onApplicationShutdown(): Promise<void>;
}
