import { DiContainer } from "./di_container";
import { ServiceConfigs } from "./service_configs";
import { ILogger } from "./interfaces";
export declare class Microservice extends DiContainer {
    private _express_app;
    private _port;
    private _http_server;
    private _configs;
    private _logger;
    private _run_express;
    constructor(configs: ServiceConfigs, logger?: ILogger);
    init(): Promise<void>;
    destroy(): Promise<void>;
    private _init_express_app;
    private _init_factories;
    private _http_error_handler;
    private _handle_int_and_term_signals;
}
