import { RouteDataInterface } from './route-data.interface'; import { ReadonlyRouteData, RouteDataList } from './route-data-types'; import * as i0 from "@angular/core"; /** * Manages extra data (such as a label) concerning routes of the app. * @experimental */ export declare class RouteDataRegistry { /** Registry with data of "usual" routes */ protected registry: Map>; /** Registry with data of routes with empty paths. */ protected emptyPathRegistry: Map>; /** * Adds a single set of route data to the registry. * It will freeze the data to prevent subsequent modifications. * @param path The path of the route. It shouldn't be prefixed with a slash * @param data The corresponding data of the route * @param emptyPath Whether the data belongs to a route with an empty path */ registerOne(path: string, data: T, emptyPath?: boolean): void; /** * Adds a set of route data to the registry. * Each route data object will be frozen to prevent subsequent modifications. * If any route data needs to be modified afterwards, just re-register it! * @param basePath The basepath of the routes to be added. The last part of the path is stored in the key attribute in the data object * @param routeData The data of the corresponding routes */ register(basePath: string, routeData: RouteDataList): void; /** * Returns the complete map of all the route paths with their corresponding data. * @param emptyPath Whether to only return the data of routes with an empty path */ getAll(emptyPath?: boolean): ReadonlyRouteData; /** * Returns the stored data for a given #url. * @param url The url that the data needs to be found to * @param emptyPath Whether to return the data of a route with an empty path but the equivalent url */ get(url: string, emptyPath?: boolean): T | undefined; /** * Determines the relevant registry. * @param emptyPath Whether to return the registry for data of routes with empty paths */ private getRegistry; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }