/// <reference types="node" />
import { Service } from '@tsdi/boot';
import { IConfiguration } from './IConfiguration';
import { IMvcServer } from './IMvcServer';
import { MvcContext } from './MvcContext';
import { Router } from './router/Router';
import * as Koa from 'koa';
import { Server } from 'net';
/**
 * base mvc server.
 *
 * @export
 * @abstract
 * @class MvcServer
 * @implements {IMvcServer}
 */
export declare class MvcServer extends Service<Koa> implements IMvcServer {
    uri: string;
    port: number;
    hostname: string;
    private logger;
    /**
     * configure startup service.
     *
     * @param {IBootContext} [ctx]
     * @returns {(Promise<void>)}
     * @memberof IStartup
     */
    configureService(ctx: MvcContext): Promise<void>;
    protected router: Router;
    getContext(): MvcContext;
    getConfig(): IConfiguration;
    getRouter(): Router;
    getHttpServer(): Server;
    start(): Promise<void>;
    stop(): Promise<void>;
    static ρAnn(): any;
}
