import { Container } from '../di'; import type { ModuleDefinition, Token } from '../di'; import { EventBus, EventToken } from '../events'; import { HttpRequest, HttpResponse, HttpServerRuntime, HttpRouter, type HttpCorsConfig, type HttpFallbackController, type HttpRequestLoggingOptions, type RouteParameterResolverRegistry, type StaticFilesOptions } from '../http'; import { type ClassType } from '../types'; import { BaseAppConfig } from './config'; export { getCurrentApp, setCurrentApp } from './current'; export interface CreateAppOptions extends ModuleDefinition { config?: ClassType; defaultConfig?: Partial; envPassthrough?: readonly RegExp[]; db?: ClassType; frameworkConfig?: Record; serverConfig?: Record; cors?: HttpCorsConfig; staticFiles?: boolean | StaticFilesOptions; requestLogging?: HttpRequestLoggingOptions; httpResolvers?: RouteParameterResolverRegistry; fallbackController?: ClassType; enableHealthcheck?: boolean; enableWorker?: boolean; enableDkRpc?: boolean; } export type AppCleanup = () => void | Promise; export declare class App { readonly options: CreateAppOptions; readonly container: Container; readonly events: EventBus; readonly config: C; readonly router: HttpRouter; readonly http: HttpServerRuntime; private readonly listenerClasses; private readonly commandClasses; private readonly commandModuleIds; private started; private starting?; private signalHandlers?; private forceWorkerRunner; private readonly devConsole?; private openApiDumpTimer?; private readonly registeredCleanups; private cliServiceMode; private replMode; constructor(options: CreateAppOptions); get(token: Token): T; getInjectorContext(): Container; on(token: EventToken, handler: (event: TEvent) => void | Promise, order?: number): () => void; /** * Register cleanup for a resource acquired by this application. * * Cleanups run once in reverse registration order after the normal shutdown event. They also run * when `stop()` is called after a partial/failed startup, where lifecycle listeners are not safe to * dispatch. The returned function unregisters cleanup for resources released early. */ registerCleanup(cleanup: AppCleanup): () => void; start(): Promise; private startInternal; stop(): Promise; run(port?: number, host?: string): Promise; configureForCliService(): void; configureForRepl(): void; private runEntrypointCommand; private printEntrypointUsage; private findCommand; private invokeCommand; private runWorkerEntrypoint; private runMigrationEntrypoint; private runOpenApiGenerationFromEntrypoint; request(request: HttpRequest, response?: HttpResponse): Promise; private shouldStartWorkerRunner; private createAutoConstructInstances; private scheduleOpenApiSchemaDump; private clearOpenApiDumpTimer; private registerDatabaseHealthcheck; private getControllerModuleIds; private getCommandModuleIds; private registerDecoratedListeners; private shutdownTelemetryIfInstalled; private runRegisteredCleanups; private installSignalHandlers; private removeSignalHandlers; } export declare function createApp(options: CreateAppOptions): App; //# sourceMappingURL=base.d.ts.map