import * as i0 from '@angular/core';
import { InjectionToken } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';
import { Observable } from 'rxjs';

interface RouteServiceOptions {
    centerKey?: string;
    zoomKey?: string;
    projectionKey?: string;
    contextKey?: string;
    searchKey?: string;
    visibleOnLayersKey?: string;
    visibleOffLayersKey?: string;
    directionsCoordKey?: string;
    directionsOptionsKey?: string;
    toolKey?: string;
    wmsUrlKey?: string;
    wmsLayersKey?: string;
    wmtsUrlKey?: string;
    wmtsLayersKey?: string;
    arcgisUrlKey?: string;
    arcgisLayersKey?: string;
    iarcgisUrlKey?: string;
    iarcgisLayersKey?: string;
    tarcgisUrlKey?: string;
    tarcgisLayersKey?: string;
    vectorKey?: string;
    zoomExtentKey?: string;
    exactMatchKey?: string;
    focusFirstResultKey?: string;
    searchGeomKey?: string;
    sidenavKey?: string;
    urlsKey?: string;
    languageKey?: string;
    positionKey?: string;
    layersKey?: string;
    groupsKey?: string;
    rotationKey?: string;
}
declare const ROUTE_OPTIONS: RouteServiceOptions;
declare const LEGACY_ROUTE_OPTIONS: RouteServiceOptions;

declare const ROUTE_SERVICE_OPTIONS: InjectionToken<RouteServiceOptions>;
declare function provideRouteServiceOptions(options: RouteServiceOptions): {
    provide: InjectionToken<RouteServiceOptions>;
    useValue: RouteServiceOptions;
};
declare class RouteService {
    private router;
    route: ActivatedRoute;
    options: RouteServiceOptions;
    /**
     * @deprecated use the new option of context-service
     */
    legacyOptions: RouteServiceOptions;
    constructor();
    get queryParams(): Observable<Params>;
    static ɵfac: i0.ɵɵFactoryDeclaration<RouteService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<RouteService>;
}

export { LEGACY_ROUTE_OPTIONS, ROUTE_OPTIONS, ROUTE_SERVICE_OPTIONS, RouteService, provideRouteServiceOptions };
export type { RouteServiceOptions };
