/**
 * SPDX-PackageName: kwaeri/router
 * SPDX-PackageVersion: 0.3.5
 * SPDX-FileCopyrightText: © 2014 - 2022 Richard Winters <kirvedx@gmail.com> and contributors
 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR MIT
 */
/// <reference types="node" resolution-mode="require"/>
import * as events from 'events';
import { Session } from '@kwaeri/session';
import { Controller } from '@kwaeri/controller';
export declare class Router {
    /**
     * @var { events.EventEmitter } promoter
     */
    promoter: events.EventEmitter;
    /**
     * @var { Controller }
     */
    controller: Controller;
    /**
     * @var { any }
     */
    errorController: any;
    /**
     * @var { Session }
     */
    session: Session;
    /**
     * @var { string }
     */
    baseAssetPath: string;
    /**
     * @var { string }
     */
    derivedAssetPath: string;
    /**
     * Class constructor
     */
    constructor(configuration: any);
    /**
     * Routes the client request
     *
     * @param { http.IncomingMessage } request
     * @param { http.ServerResponse } response
     *
     * @returns { void }
     */
    route(request: any, response: any): Promise<void>;
}
