import { AbstractProvider, ServiceManager } from "./../Di"; import { ModuleContract } from "./ModuleContract"; export declare class Application extends ServiceManager implements ModuleContract { /** * @type {Array} */ protected modules: ModuleContract[]; /** * @type {Array} */ protected modulesNames: string[]; /** * @param modules * @returns {Application} */ bootstrapModule(...modules: { new (): ModuleContract; }[]): this; /** * @returns {AbstractProvider[]}; */ getProviders(): { new (...args: any[]): AbstractProvider; }[]; /** * @returns {Promise|Promise} */ configure(): Promise; /** * @returns {Promise|Promise} */ bootstrap(): Promise; /** * @returns {Promise} */ run(): Promise; /** * @param modules * @returns {Promise} */ protected doConfigure(modules: any[]): any; /** * @param modules * @returns {Promise} */ protected doBootstrap(modules: any[]): any; }