/** @stable */ export declare class ActivatedRoute { component: Type | string; data: Observable; outlet: string; params: Observable; routeConfig: Route; snapshot: ActivatedRouteSnapshot; url: Observable; toString(): string; } /** @stable */ export declare class ActivatedRouteSnapshot { component: Type | string; data: Data; outlet: string; params: Params; routeConfig: Route; url: UrlSegment[]; toString(): string; } /** @stable */ export interface CanActivate { canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean; } /** @stable */ export interface CanActivateChild { canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean; } /** @stable */ export interface CanDeactivate { canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean; } /** @stable */ export interface CanLoad { canLoad(route: Route): Observable | Promise | 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; useHash?: 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; } /** @experimental */ export interface NavigationExtras { fragment?: string; preserveFragment?: boolean; preserveQueryParams?: boolean; queryParams?: Params; relativeTo?: ActivatedRoute; } /** @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: Routes, opts?: ExtraOptions): any[]; /** @deprecated */ export declare function provideRouterConfig(config: ExtraOptions): any; /** @deprecated */ export declare function provideRoutes(routes: Routes): any; /** @experimental */ export interface Resolve { resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | any; } /** @stable */ export declare type ResolveData = { [name: string]: any; }; /** @stable */ export interface Route { canActivate?: any[]; canActivateChild?: any[]; canDeactivate?: any[]; canLoad?: any[]; children?: Route[]; component?: Type | string; data?: Data; loadChildren?: string; outlet?: string; path?: string; pathMatch?: string; redirectTo?: string; resolve?: ResolveData; /** @deprecated */ terminal?: boolean; } /** @stable */ export declare class Router { events: Observable; /** @experimental */ navigated: boolean; routerState: RouterState; url: string; constructor(rootComponentType: Type, resolver: ComponentResolver, urlSerializer: UrlSerializer, outletMap: RouterOutletMap, location: Location, injector: Injector, loader: NgModuleFactoryLoader, config: Routes); createUrlTree(commands: any[], {relativeTo, queryParams, fragment, preserveQueryParams, preserveFragment}?: NavigationExtras): UrlTree; dispose(): void; initialNavigation(): void; isActive(url: string | UrlTree, exact: boolean): boolean; navigate(commands: any[], extras?: NavigationExtras): Promise; navigateByUrl(url: string | UrlTree): Promise; parseUrl(url: string): UrlTree; resetConfig(config: Routes): void; serializeUrl(url: UrlTree): string; } /** @stable */ export declare const ROUTER_DIRECTIVES: (typeof RouterOutlet | typeof RouterLink | typeof RouterLinkWithHref | typeof RouterLinkActive)[]; /** @deprecated */ export declare type RouterConfig = Route[]; /** @stable */ export declare class RouterLink { fragment: string; preserveFragment: boolean; preserveQueryParams: boolean; 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; preserveFragment: boolean; preserveQueryParams: boolean; queryParams: { [k: string]: any; }; routerLink: any[] | string; routerLinkOptions: { preserveQueryParams: boolean; preserveFragment: boolean; }; target: string; urlTree: UrlTree; constructor(router: Router, route: ActivatedRoute, locationStrategy: LocationStrategy); ngOnChanges(changes: {}): any; ngOnDestroy(): any; onClick(button: number, ctrlKey: boolean, metaKey: boolean): boolean; } /** @experimental */ export declare class RouterModule { constructor(injector: Injector); static forChild(routes: Routes): ModuleWithProviders; static forRoot(routes: Routes, config?: ExtraOptions): ModuleWithProviders; } /** @stable */ export declare class RouterOutlet { activateEvents: EventEmitter; activatedRoute: ActivatedRoute; component: Object; deactivateEvents: EventEmitter; isActivated: boolean; outletMap: RouterOutletMap; constructor(parentOutletMap: RouterOutletMap, location: ViewContainerRef, resolver: ComponentFactoryResolver, name: string); activate(activatedRoute: ActivatedRoute, loadedResolver: ComponentFactoryResolver, loadedInjector: Injector, 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 type Routes = Route[]; /** @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 UrlSegment { 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: UrlSegmentGroup; toString(): string; }