import { ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy } from '@angular/router';
export declare const CACHE_PAGE = "_cache_page";
export declare const MAX_CACHE_SIZE = "REUSE_ROUTE_STRATEGY.MAX_CACHE_SIZE";
export declare const MAX_CACHE_AGE = "REUSE_ROUTE_STRATEGY.MAX_CACHE_AGE";
export declare class WmDefaultRouteReuseStrategy {
    private cache;
    private currentRouteKey;
    private paramsToIgnore;
    constructor(maxCacheSize?: number, maxCacheAge?: number);
    private getKey;
    protected getSize: (obj: object | null) => number;
    protected isSameQueryParams(future: any, current: any): boolean;
    private isCacheEnabled;
    shouldDetach(route: ActivatedRouteSnapshot): boolean;
    shouldAttach(route: ActivatedRouteSnapshot): boolean;
    store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void;
    retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null;
    reset(pageName?: string): void;
}
export declare class WmRouteReuseStrategy extends WmDefaultRouteReuseStrategy implements RouteReuseStrategy {
    constructor();
    private isSameRoute;
    shouldReuseRoute(future: ActivatedRouteSnapshot, current: ActivatedRouteSnapshot): boolean;
}
export declare class WmNgRouteReuseStrategy extends WmDefaultRouteReuseStrategy implements RouteReuseStrategy {
    constructor();
    private isSameRoute;
    shouldReuseRoute(future: ActivatedRouteSnapshot, current: ActivatedRouteSnapshot): boolean;
}
