import * as i0 from '@angular/core'; import { ComponentRef } from '@angular/core'; import { ActivatedRoute, RouterOutlet, RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router'; interface OnAttach { /** * A callback method that is invoked when the RouteReuseStrategy instructs * to re-attach a previously detached component / subtree */ onAttach(activatedRoute: ActivatedRoute): void; } interface OnDetach { /** * A callback method that is invoked when the RouteReuseStrategy instructs * to detach component / subtree */ onDetach(): void; } /** * SpinqueRouterOutlet provides a custom router outlet that reuses routes if 'reuseRoute' is set * to true in a Route's data object. Use this to make search results quicker and improve the * user experience when navigating between results and a detail page. */ declare class SpinqueRouterOutlet extends RouterOutlet { detach(): ComponentRef; attach(ref: ComponentRef, activatedRoute: ActivatedRoute): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Implementation of the route reuse strategy based on data property 'reuseRoute'. * Also see: https://angular.io/api/router/RouteReuseStrategy */ declare class SpinqueRouteReuseStategy implements RouteReuseStrategy { private storedRouteHandles; private allowRetriveCache; shouldDetach(route: ActivatedRouteSnapshot): boolean; store(route: ActivatedRouteSnapshot, detachedTree: DetachedRouteHandle): void; shouldAttach(route: ActivatedRouteSnapshot): boolean; retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null; shouldReuseRoute(before: ActivatedRouteSnapshot, current: ActivatedRouteSnapshot): boolean; private getPath; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { SpinqueRouteReuseStategy, SpinqueRouterOutlet }; export type { OnAttach, OnDetach };