import { ActivatedRouteSnapshot, RouteReuseStrategy, DetachedRouteHandle } from '@angular/router';
export interface ReusableRouteConfig {
    isReusable?: boolean;
    reusableKeys?: string[];
    forceClearAllCache?: boolean;
    reusableKey?: string;
}
export declare class CachedRouteReuseStrategy implements RouteReuseStrategy {
    handlers: {
        [key: string]: DetachedRouteHandle;
    };
    private lastRoute;
    shouldDetach(route: ActivatedRouteSnapshot): boolean;
    store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void;
    shouldAttach(route: ActivatedRouteSnapshot): boolean;
    retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle;
    shouldReuseRoute(before: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean;
    private createIdentifier;
    private destroyAll;
}
