import { ModuleWithProviders } from '@angular/core';
import { ExtraOptions, Routes } from '@angular/router';
import { Route, ViewContextRootRoute } from './router.model';
import { RouterService } from './router.service';
import * as i0 from "@angular/core";
import * as i1 from "./context-route.component";
import * as i2 from "./empty.component";
import * as i3 from "@angular/router";
import * as i4 from "../header/header.module";
import * as i5 from "../common/common.module";
export declare const extraRoutes: Route[];
export declare const viewContextRoutes: ViewContextRootRoute[];
/**
 * A C8Y router implementation. It implements some default routes needed
 * as well as context routes. Context routes are useful, if you want to
 * use context data on a certain view (e.g. a device), then this routes
 * automatically resolve the associated managed object.
 *
 * You can use this in combination of the Angular default RouterModule
 * or use only this module. Context routes can only be added via the
 * HOOK_ROUTES hook.
 */
export declare class RouterModule {
    private routerService;
    /**
     * Same interface as @angular/router module.
     * Sets `initialNavigation` always to `disabled` and `useHash` always to `true`.
     * @param routes The configured routes.
     * @param config The router default configuration.
     * @returns The module and providers.
     */
    static forRoot(routes?: Routes, config?: ExtraOptions): ModuleWithProviders<RouterModule>;
    constructor(routerService: RouterService);
    static ɵfac: i0.ɵɵFactoryDeclaration<RouterModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<RouterModule, [typeof i1.ContextRouteComponent, typeof i2.EmptyComponent], [typeof i3.RouterModule, typeof i4.HeaderModule, typeof i5.CommonModule], never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<RouterModule>;
}
//# sourceMappingURL=router.module.d.ts.map