import { AbstractRouter } from './AbstractRouter';
import { Request } from './Request';
import { Response } from './Response';
import { RouteFactory } from './RouteFactory';
import { Settings } from '../boot';
import { Dispatcher } from '../event/Dispatcher';
import { Dependencies } from '../oc/ObjectContainer';
import { PageManager } from '../page/manager/PageManager';
import { RouteOptions } from '../router/Router';
/**
 * The server-side implementation of the {@link Router} interface.
 */
export declare class ServerRouter extends AbstractRouter {
    #private;
    static get $dependencies(): Dependencies;
    /**
     * Initializes the router.
     *
     * @param pageManager The current page manager.
     * @param factory The router factory used to create routes.
     * @param dispatcher Dispatcher fires events to app.
     * @param request The current HTTP request.
     * @param response The current HTTP response.
     * @param settings $Router settings.
     */
    constructor(pageManager: PageManager, factory: RouteFactory, dispatcher: Dispatcher, request: Request, response: Response, settings: Settings['$Router'] | number);
    /**
     * @inheritDoc
     */
    getPath(): string;
    /**
     * @inheritDoc
     */
    listen(): this;
    /**
     * @inheritDoc
     */
    unlisten(): this;
    /**
     * @inheritDoc
     */
    redirect(url?: string, options?: Partial<RouteOptions>): void;
}
//# sourceMappingURL=ServerRouter.d.ts.map