import type { History } from "../../platform/web/dom/History.js"; import type { Navigation, Segment, Path, OptionalValue } from "./Navigation"; type ParseURLPath = (urlPath: string, currentNavPath: Path, defaultSessionId?: string) => Segment[]; type StringifyPath = (path: Path) => string; export interface IURLRouter { attach(): void; dispose(): void; pushUrl(url: string): void; tryRestoreLastUrl(): boolean; urlForSegments(segments: Segment[]): string | undefined; urlForSegment(type: K, ...value: OptionalValue): string | undefined; urlUntilSegment(type: keyof T): string; urlForPath(path: Path): string; openRoomActionUrl(roomId: string): string; createSSOCallbackURL(): string; createOIDCRedirectURL(): string; createOIDCPostLogoutRedirectURL(): string; absoluteAppUrl(): string; absoluteUrlForAsset(asset: string): string; normalizeUrl(): void; } export declare class URLRouter implements IURLRouter { private readonly _history; private readonly _navigation; private readonly _parseUrlPath; private readonly _stringifyPath; private _subscription?; private _pathSubscription?; private _isApplyingUrl; private _defaultSessionId?; constructor(history: History, navigation: Navigation, parseUrlPath: ParseURLPath, stringifyPath: StringifyPath); private _getLastSessionId; attach(): void; dispose(): void; private _applyNavPathToHistory; private _applyNavPathToNavigation; private _urlAsNavPath; private _applyUrl; pushUrl(url: string): void; tryRestoreLastUrl(): boolean; urlForSegments(segments: Segment[]): string | undefined; urlForSegment(type: K, ...value: OptionalValue): string | undefined; urlUntilSegment(type: keyof T): string; urlForPath(path: Path): string; openRoomActionUrl(roomId: string): string; createSSOCallbackURL(): string; createOIDCRedirectURL(): string; createOIDCPostLogoutRedirectURL(): string; absoluteAppUrl(): string; absoluteUrlForAsset(asset: string): string; normalizeUrl(): void; } export {};