import type { InjectionToken } from '@nestjs/common';
import type { Injectable, NestApplicationContextOptions } from '@nestjs/common/internal';
import type { ApplicationConfig, NestContainer, GraphInspector } from '@nestjs/core';
import { type InstanceWrapper } from '@nestjs/core/internal';
export declare class SocketModule<THttpServer = any, TAppOptions extends NestApplicationContextOptions = NestApplicationContextOptions> {
    private readonly socketsContainer;
    private applicationConfig;
    private webSocketsController;
    private isAdapterInitialized;
    private adapterInitPromise;
    private httpServer;
    private appOptions;
    private injector;
    register(container: NestContainer, applicationConfig: ApplicationConfig, graphInspector: GraphInspector, appOptions: TAppOptions, httpServer?: THttpServer): Promise<void[][]>;
    connectAllGateways(providers: Map<InjectionToken, InstanceWrapper<Injectable>>, moduleName: string): Promise<void[]>;
    connectGatewayToServer(wrapper: InstanceWrapper<Injectable>, moduleName: string): Promise<void>;
    close(): Promise<any>;
    private initializeAdapter;
    private getContextCreator;
}
