import { SystemLogMediator } from '#logger/system-log-mediator.js'; import { AppOptions } from '#types/app-options.js'; import { AnyFn, ModuleType } from '#types/mix.js'; import { NodeServer, RequestListener } from '#types/server-options.js'; import { ModuleManager } from '#services/module-manager.js'; import { AppInitializer } from './app-initializer.js'; export declare class Application { protected appOptions: AppOptions; protected systemLogMediator: SystemLogMediator; protected appInitializer: AppInitializer; /** * @param appModule The root module of the application. * @param appOptions Application options. */ bootstrap(appModule: ModuleType, appOptions?: AppOptions): Promise<{ server: NodeServer; }>; /** * @param systemLogMediator This parameter was originally created for `@ditsmod/testing`. */ protected init(appOptions?: AppOptions, systemLogMediator?: SystemLogMediator): SystemLogMediator; protected checkSecureServerOption(): void; protected scanRootModule(appModule: ModuleType): ModuleManager; protected getAppInitializer(moduleManager: ModuleManager): AppInitializer; protected bootstrapApplication(appInitializer: AppInitializer): Promise; protected createServerAndBindToListening(appInitializer: AppInitializer, resolve: AnyFn): Promise; protected flushLogs(): void; protected createServer(requestListener: RequestListener): Promise; } //# sourceMappingURL=application.d.ts.map