import * as express from 'express'; import * as http from 'http'; import * as https from 'https'; import { EventEmitter } from 'events'; import { Injector, Constructor } from '../di/di'; import { Config, ConfigValue } from '../config/config'; import { ILogger } from '../logger/logger'; import { IPlugin, Pluginable } from '../plugin/plugin'; export declare class Rupert extends EventEmitter { private _config; private _logger; private _injector; private _app; private _environment; private _listeners; private _plugins; root: string; url: string; name: string; servers: { http: http.Server; https?: https.Server; }; constructor(_config: Config, _logger: ILogger, _injector?: Injector, plugins?: Pluginable[]); start(): Promise; private _startServer(server, port, name, url); stop(): Promise; private _normalize(); private _configureServers(); private _secureServer(app); private _unsecureServer(app); private _configurePlugins(plugins); readonly logger: ILogger; readonly config: Config; readonly environment: String; readonly app: express.Application; static createApp(config: ConfigValue, plugins?: Constructor[]): Rupert; }