///
import Koa, { Middleware } from 'koa';
import { ApplicationModes } from '../Application';
import { AbstractMiddleware, MiddlewareLookupType, MiddlewareType } from '../Middleware';
import { ServerConfigInterface } from '../Config';
export declare class ServerService {
private readonly server;
private readonly config;
private middleware;
constructor(mode: ApplicationModes, config: ServerConfigInterface, middleware: Array);
use(...middlewares: Array): this;
useBefore(middleware: MiddlewareLookupType, ...middlewares: Array): this;
useAfter(middleware: MiddlewareLookupType, ...middlewares: Array): this;
replace(middleware: MiddlewareLookupType, ...middlewares: Array): this;
updateMiddleware(at: number, remove: number, ...middlewares: Array): this;
indexOfMiddleware(middleware: MiddlewareLookupType): number;
getServer(): Koa;
getURL(): string;
start(): this;
private asCallback;
}