/// <reference types="express" />
/// <reference types="node" />
import { Server } from 'net';
import { Express, NextFunction, Request, Response, Router } from '../vendor';
import { LoggerInstance, StaticFileConfig, WebServerConfig } from './config.interface';
export declare class WebServer {
    private config;
    private logger;
    app: Express;
    server: Server;
    constructor(config: WebServerConfig, logger: LoggerInstance);
    init(): WebServer;
    addStaticFileRouting(route: string, path: string, config: StaticFileConfig): void;
    addApiRouting(route: string, router: Router): void;
    start(): WebServer;
    stop(callback?: (err?: Error) => void): WebServer;
    handlerFor404(req: Request, res: Response, next: NextFunction): void;
    errorHandler(err: Error, req: Request, res: Response, next: NextFunction): void;
    private registerModules;
    private listenerCallback;
}
