///
import { CanActivate, ExceptionFilter, INestApplication, INestMicroservice, NestInterceptor, PipeTransform, WebSocketAdapter } from '@nestjs/common';
import { HttpServer } from '@nestjs/common/interfaces';
import { CorsOptions } from '@nestjs/common/interfaces/external/cors-options.interface';
import { ServeStaticOptions } from '@nestjs/common/interfaces/external/serve-static-options.interface';
import { MicroserviceOptions } from '@nestjs/common/interfaces/microservices/microservice-configuration.interface';
import { NestApplicationOptions } from '@nestjs/common/interfaces/nest-application-options.interface';
import { INestExpressApplication } from '@nestjs/common/interfaces/nest-express-application.interface';
import { INestFastifyApplication } from '@nestjs/common/interfaces/nest-fastify-application.interface';
import * as http from 'http';
import { ApplicationConfig } from './application-config';
import { NestContainer } from './injector/container';
import { NestApplicationContext } from './nest-application-context';
export declare class NestApplication extends NestApplicationContext implements INestApplication, INestExpressApplication, INestFastifyApplication {
private readonly httpAdapter;
private readonly config;
private readonly appOptions;
private readonly logger;
private readonly middlewareModule;
private readonly middlewareContainer;
private readonly microservicesModule;
private readonly socketModule;
private readonly routesResolver;
private readonly microservices;
private httpServer;
private isInitialized;
constructor(container: NestContainer, httpAdapter: HttpServer, config: ApplicationConfig, appOptions?: NestApplicationOptions);
getHttpAdapter(): HttpServer;
registerHttpServer(): void;
applyOptions(): this;
createServer(): any;
getUnderlyingHttpServer(): any;
registerModules(): Promise;
init(): Promise;
registerParserMiddleware(): any;
isMiddlewareApplied(httpAdapter: HttpServer, name: string): boolean;
registerRouter(): Promise;
registerRouterHooks(): Promise;
connectMicroservice(options: MicroserviceOptions): INestMicroservice;
getMicroservices(): INestMicroservice[];
getHttpServer(): http.Server;
startAllMicroservices(callback?: () => void): this;
startAllMicroservicesAsync(): Promise;
use(...args: any[]): this;
engine(...args: any[]): this;
set(...args: any[]): this;
disable(...args: any[]): this;
enable(...args: any[]): this;
register(...args: any[]): this;
inject(...args: any[]): any;
enableCors(options?: CorsOptions): this;
listen(port: number | string, callback?: () => void): any;
listen(port: number | string, hostname: string, callback?: () => void): any;
listenAsync(port: number | string, hostname?: string): Promise;
close(): Promise;
setGlobalPrefix(prefix: string): this;
useWebSocketAdapter(adapter: WebSocketAdapter): this;
useGlobalFilters(...filters: ExceptionFilter[]): this;
useGlobalPipes(...pipes: PipeTransform[]): this;
useGlobalInterceptors(...interceptors: NestInterceptor[]): this;
useGlobalGuards(...guards: CanActivate[]): this;
useStaticAssets(options: any): this;
useStaticAssets(path: string, options?: ServeStaticOptions): any;
setBaseViewsDir(path: string): this;
setViewEngine(engineOrOptions: any): this;
private loadPackage(name, ctx);
private registerMiddleware(instance);
private isExpress();
private listenToPromise(microservice);
}