export type RouteData = {
    [key: string | symbol]: any;
};
export interface ActivatedRouteSnapshot {
    data: RouteData;
}
export interface RouterStateSnapshot {
    url: string;
}
export interface UrlTree {
    toString(): string;
}
export interface Navigation<URL extends UrlTree = UrlTree> {
    extractedUrl: URL;
}
export declare abstract class AbstractRouter<URL extends UrlTree = UrlTree, NAVIGATION extends Navigation<URL> = Navigation<URL>> {
    abstract navigateByUrl(url: string): void;
    abstract getCurrentNavigation(): NAVIGATION;
}
export declare const ROUTER_ABS_PATH_PATTERN: RegExp;
export declare class VanillaLocationRouter extends AbstractRouter<string> {
    protected document: Document;
    private get location();
    navigateByUrl(url: string): void;
    getCurrentNavigation(): {
        extractedUrl: string;
    };
}
export declare class VanillaHistoryRouter extends AbstractRouter<string> {
    private document;
    private get history();
    private get location();
    navigateByUrl(url: string): void;
    getCurrentNavigation(): {
        extractedUrl: string;
    };
}
//# sourceMappingURL=index.d.ts.map