import { StateData } from "./InternalRouter"; import { ITokenBasedRouteContext, TokenBasedRouteStateData, IMessageBusTopicSubscription, TokenBasedRoute } from "../models"; export declare abstract class TokenBasedRouter { private static initialized; private static initialTokenBasedPath; private static existingTokenBasedRouters; private static fullPathTitle; private static internalRouter; private readonly routeChangedTopic; private readonly token; private _tokenExistsOnUrl; private _routeContext; constructor(token: string); /** * Build the path base on the current context * * */ protected abstract buildContextPath(routeContext: T1): string; protected abstract resolveRouteFromPath(path: string): T1; get onNavigate(): IMessageBusTopicSubscription>; get routeContext(): ITokenBasedRouteContext; get tokenExistsOnUrl(): boolean; protected protectedGetTokenValue(stateData?: StateData): TokenBasedRouteStateData; protected protectedNavigate(title: string, route: T1, stateData?: T2, replaceState?: boolean): void; protected protectedClearRoute(): void; protected combinePathParts(...parts: string[]): string; private resolveContext; static getRouterUrl(): string; private static buildPath; private static resolveTokenBasedContext; private static ensureNoSlashAtTheBeginningAndTheEnd; private static init; }