/** * @module server */ /** End Typedoc Module Declaration */ import 'reflect-metadata'; import { ReflectiveInjector, Type } from '@angular/core'; import { Server } from '../servers/abstract.server'; import { AbstractController } from '../controllers/abstract.controller'; import { Logger, LogLevel } from '../../common/services/logger.service'; export declare type ProviderType = Type | { [k: string]: any; } | any[]; export declare type ProviderDefinition = ProviderType | Promise | Promise; export interface BootstrapResponse { injector: ReflectiveInjector; server: Server; logger: Logger; } export interface ClassDictionary { [key: string]: T; } export interface DeferredLog { level: LogLevel; messages: any[]; } export declare function deferredLog(level: LogLevel, ...messages: any[]): void; /** * The core bootstrapping factory function. * * This function resolves all of the providers, invokes all boostrappers, and finally returns the * [[Server]] instance for the bootstrapping start file to call [[Server.start]] on to start the * server running * @see http://ubiquits.com/guide/application-lifecycle/#startup for detailed documentation * @param loadClasses * @param providers * @param afterBootstrap * @returns {function(): Promise} */ export declare function bootstrap(loadClasses?: ClassDictionary[], providers?: ProviderDefinition[], afterBootstrap?: (bootstrap: BootstrapResponse) => void): () => Promise;