import { Component, type HTMLTemplateResult } from '@a11d/lit'; export type RoutableParameters = void | Record; export type UrlMatchMode = 'all' | 'ignore-parameters'; export declare enum NavigationStrategy { Page = 0, Tab = 1, Window = 2 } export declare abstract class RoutableComponent extends Component { static basePath: string; static readonly container: Set; static host: AbstractConstructor | Constructor; private static _routes; static get routes(): string[]; static set routes(value: string[]); static render(p: Record): HTMLTemplateResult; static readonly connectedInstances: Set>; static get boundComponent(): RoutableComponent | undefined; static get url(): URL; static setUrl(value: URL, force?: boolean): void; parameters: T; constructor(parameters: T); get route(): string | undefined; get boundToWindow(): boolean; navigate(strategy?: NavigationStrategy, force?: boolean): Promise; get url(): URL | undefined; /** * Determines if the current URL matches the route of this component. * @param mode The matching mode. 'all' matches the path and parameters, 'ignore-parameters' matches only the path. Defaults to 'all'. */ urlMatches(options?: { mode?: UrlMatchMode; url?: URL; }): boolean; protected updateUrl(force?: boolean): void; protected refresh(parameters?: T): Promise; } export type RoutableComponentConstructor = Constructor> & { host: AbstractConstructor | Constructor; routes: Array; render: (p: Record) => HTMLTemplateResult; }; //# sourceMappingURL=RoutableComponent.d.ts.map