import { Server } from './server/server.js';
import type { Controller, NestApplicationContextOptions } from '@nestjs/common/internal';
import type { ApplicationConfig, NestContainer, GraphInspector } from '@nestjs/core';
import { type InstanceWrapper } from '@nestjs/core/internal';
export declare class MicroservicesModule<TAppOptions extends NestApplicationContextOptions = NestApplicationContextOptions> {
    private readonly clientsContainer;
    private listenersController;
    private appOptions;
    register(container: NestContainer, graphInspector: GraphInspector, config: ApplicationConfig, options: TAppOptions): void;
    setupListeners(container: NestContainer, serverInstance: Server): void;
    setupClients(container: NestContainer): void;
    bindListeners(controllers: Map<string | symbol | Function, InstanceWrapper<Controller>>, serverInstance: Server, moduleName: string): void;
    bindClients(items: Map<string | symbol | Function, InstanceWrapper<unknown>>): void;
    close(): Promise<void>;
}
