/**
 * Provides a service for managing the application state.
 * The application state is written to both the URL and the local storage.
 *
 * @hidden
 */
export class StatemanagerService {
    /**
     * @param {import('ngeo/statemanager/Location').StatemanagerLocation} ngeoLocation ngeo location service.
     * @param {import('ngeo/options').ngeoUsedKeyRegexp} ngeoUsedKeyRegexp regexp used to identify the used keys.
     */
    constructor(ngeoLocation: import("ngeo/statemanager/Location").StatemanagerLocation, ngeoUsedKeyRegexp: import("ngeo/options").ngeoUsedKeyRegexp);
    /**
     * Object representing the application's initial state.
     *
     * @type {Object<string, string>}
     */
    initialState: {
        [x: string]: string;
    };
    /**
     * @type {import('ngeo/statemanager/Location').StatemanagerLocation}
     */
    ngeoLocation: import("ngeo/statemanager/Location").StatemanagerLocation;
    /**
     * @type {RegExp[]}
     */
    usedKeyRegexp: RegExp[];
    /**
     * @type {boolean}
     * @private
     */
    private useLocalStorage_;
    /**
     * @param {boolean} value Use localStorage
     * @returns {boolean} localStorage will be used.
     */
    setUseLocalStorage(value: boolean): boolean;
    /**
     * Get the state value for `key`.
     *
     * @param {string} key State key.
     * @returns {string|undefined} State value.
     */
    getInitialStringValue(key: string): string | undefined;
    /**
     * Get the state value for `key`.
     *
     * @param {string} key State key.
     * @returns {number|undefined} State value.
     */
    getInitialNumberValue(key: string): number | undefined;
    /**
     * Get the state value for `key`.
     *
     * @param {string} key State key.
     * @returns {boolean|undefined} State value.
     */
    getInitialBooleanValue(key: string): boolean | undefined;
    /**
     * Update the application state with the values in `object`.
     *
     * @param {Object<string, string>} object Object.
     */
    updateState(object: {
        [x: string]: string;
    }): void;
    /**
     * Delete a parameter
     *
     * @param {string} key Key.
     */
    deleteParam(key: string): void;
}
export namespace StatemanagerService {
    let $inject: string[];
}
export default myModule;
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
import angular from 'angular';
