/** @stable */ export declare class ActivatedRoute { component: Type | string; data: Observable; outlet: string; params: Observable; snapshot: ActivatedRouteSnapshot; url: Observable; toString(): string; } /** @stable */ export declare class ActivatedRouteSnapshot { component: Type | string; data: Data; outlet: string; params: Params; url: UrlPathWithParams[]; toString(): string; } /** @stable */ export interface CanActivate { canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean; } /** @stable */ export interface CanDeactivate { canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean; } /** @stable */ export declare type Data = { [name: string]: any; }; /** @experimental */ export declare class DefaultUrlSerializer implements UrlSerializer { parse(url: string): UrlTree; serialize(tree: UrlTree): string; } /** @stable */ export declare type Event = NavigationStart | NavigationEnd | NavigationCancel | NavigationError; /** @experimental */ export interface ExtraOptions { enableTracing?: boolean; } /** @stable */ export declare class NavigationCancel { id: number; url: string; constructor(id: number, url: string); toString(): string; } /** @stable */ export declare class NavigationEnd { id: number; url: string; urlAfterRedirects: string; constructor(id: number, url: string, urlAfterRedirects: string); toString(): string; } /** @stable */ export declare class NavigationError { error: any; id: number; url: string; constructor(id: number, url: string, error: any); toString(): string; } /** @stable */ export declare class NavigationStart { id: number; url: string; constructor(id: number, url: string); toString(): string; } /** @experimental */ export declare type Params = { [key: string]: any; }; /** @experimental */ export declare const PRIMARY_OUTLET: string; /** @experimental */ export declare function provideRouter(config: RouterConfig, opts?: ExtraOptions): any[]; /** @experimental */ export declare function provideRoutes(config: RouterConfig): any; /** @experimental */ export interface Resolve { resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | any; } /** @stable */ export declare type ResolveData = { [name: string]: any; }; /** @stable */ export interface Route { path?: string; pathMatch?: /** @deprecated */ terminal?: boolean; /** @stable */ export declare class Router { events: Observable; routerState: RouterState; url: string; constructor(rootComponentType: Type, resolver: ComponentResolver, urlSerializer: UrlSerializer, outletMap: RouterOutletMap, location: Location, injector: Injector, loader: AppModuleFactoryLoader, config: RouterConfig); createUrlTree(commands: any[], {relativeTo, queryParams, fragment}?: NavigationExtras): UrlTree; navigate(commands: any[], extras?: NavigationExtras): Promise; navigateByUrl(url: string | UrlTree): Promise; parseUrl(url: string): UrlTree; resetConfig(config: RouterConfig): void; serializeUrl(url: UrlTree): string; } /** @stable */ export declare const ROUTER_DIRECTIVES: (typeof RouterOutlet | typeof RouterLink | typeof RouterLinkWithHref | typeof RouterLinkActive)[]; /** @stable */ export declare type RouterConfig = Route[]; /** @stable */ export declare class RouterLink { fragment: string; queryParams: { [k: string]: any; }; routerLink: any[] | string; urlTree: UrlTree; constructor(router: Router, route: ActivatedRoute, locationStrategy: LocationStrategy); onClick(button: number, ctrlKey: boolean, metaKey: boolean): boolean; } /** @stable */ export declare class RouterLinkActive implements OnChanges, OnDestroy, AfterContentInit { links: QueryList; linksWithHrefs: QueryList; routerLinkActive: string[] | string; constructor(router: Router, element: ElementRef, renderer: Renderer); ngAfterContentInit(): void; ngOnChanges(changes: {}): any; ngOnDestroy(): any; } /** @stable */ export declare class RouterLinkWithHref implements OnChanges, OnDestroy { fragment: string; href: string; queryParams: { [k: string]: any; }; routerLink: any[] | string; target: string; urlTree: UrlTree; ngOnChanges(changes: {}): any; ngOnDestroy(): any; onClick(button: number, ctrlKey: boolean, metaKey: boolean): boolean; } /** @stable */ export declare class RouterOutlet { activatedRoute: ActivatedRoute; component: Object; isActivated: boolean; outletMap: RouterOutletMap; constructor(parentOutletMap: RouterOutletMap, location: ViewContainerRef, resolver: ComponentFactoryResolver, name: string); activate(activatedRoute: ActivatedRoute, loadedResolver: ComponentFactoryResolver, providers: ResolvedReflectiveProvider[], outletMap: RouterOutletMap): void; deactivate(): void; } /** @stable */ export declare class RouterOutletMap { registerOutlet(name: string, outlet: RouterOutlet): void; } /** @stable */ export declare class RouterState extends Tree { fragment: Observable; queryParams: Observable; snapshot: RouterStateSnapshot; toString(): string; } /** @stable */ export declare class RouterStateSnapshot extends Tree { fragment: string; queryParams: Params; url: string; toString(): string; } /** @stable */ export declare class RoutesRecognized { id: number; state: RouterStateSnapshot; url: string; urlAfterRedirects: string; constructor(id: number, url: string, urlAfterRedirects: string, state: RouterStateSnapshot); toString(): string; } /** @stable */ export declare class UrlPathWithParams { parameters: { [key: string]: string; }; path: string; constructor(path: string, parameters: { [key: string]: string; }); toString(): string; } /** @experimental */ export declare abstract class UrlSerializer { abstract parse(url: string): UrlTree; abstract serialize(tree: UrlTree): string; } /** @stable */ export declare class UrlTree { fragment: string; queryParams: { [key: string]: string; }; root: UrlSegment; toString(): string; }