/**
 * The definition of a saved filter item.
 *
 * @class
 * @hidden
 */
export function SavedFilterItem(): void;
export class SavedFilterItem {
    /**
     * The condition of the saved filter item.
     *
     * @type {string}
     */
    condition: string;
    /**
     * The list of custom rules of the saved filter item.
     *
     * @type {import('ngeo/filter/RuleHelper').AnyOptions[]}
     */
    customRules: import("ngeo/filter/RuleHelper").AnyOptions[];
    /**
     * The data source id related to the filter.
     *
     * @type {number}
     */
    dataSourceId: number;
    /**
     * The list of directed rules of the saved filter item.
     *
     * @type {import('ngeo/filter/RuleHelper').AnyOptions[]}
     */
    directedRules: import("ngeo/filter/RuleHelper").AnyOptions[];
    /**
     * A human-readable name given to the saved filter item.
     *
     * @type {string}
     */
    name: string;
}
/**
 * @hidden
 */
export class SavedFilter {
    /**
     * The GeoMapFish service responsible of storing filters that can be applied
     * to data sources. A filter consists of:
     *
     * - a condition
     * - a list of directed rules
     * - a list of custom rules
     * - a data source
     * - a name
     *
     * The filters are saved in the browser local storage, if available.
     * Otherwise, they are kept in this service for the duration of the visit.
     *
     * @param {angular.IScope} $rootScope Angular rootScope.
     * @ngdoc service
     * @ngname gmfSavedFilters
     */
    constructor($rootScope: angular.IScope);
    /**
     * @type {angular.IScope}
     * @private
     */
    private rootScope_;
    /**
     * This service can have a data source id bound to it, which automatically
     * populates an array of items that are only bound to this data source.
     *
     * @type {?number}
     * @private
     */
    private currentDataSourceId_;
    /**
     * @type {SavedFilterItem[]}
     * @private
     */
    private currentDataSourceItems_;
    /**
     * The used by this service to save in the local storage.
     *
     * @type {string}
     * @private
     */
    private localStorageKey_;
    /**
     * @type {boolean}
     * @private
     */
    private useLocalStorage_;
    /**
     * @type {SavedFilterItem[]}
     * @private
     */
    private items_;
    /**
     * @returns {SavedFilterItem[]} Items
     */
    get currentDataSourceItems(): SavedFilterItem[];
    /**
     * @param {?number} id Current data source id.
     */
    set currentDataSourceId(id: number);
    /**
     * @returns {SavedFilterItem[]} Items
     */
    get items(): SavedFilterItem[];
    /**
     * Read the filter items that are saved in the local storage and set them
     * as this service's items.
     *
     * @private
     */
    private loadItemsFromLocalStorage_;
    /**
     * Search for an item using a given name and data source id. Returns the
     * index if it exists, otherwise -1 is returned.
     *
     * @param {string} name Name.
     * @param {number} id Data source id.
     * @returns {number} The index of the item, if it exists.
     */
    indexOfItem(name: string, id: number): number;
    /**
     * @param {SavedFilterItem} item Item.
     */
    save(item: SavedFilterItem): void;
    /**
     * @param {SavedFilterItem} item Item.
     */
    remove(item: SavedFilterItem): void;
    /**
     * Save all items in the local storage.
     *
     * @private
     */
    private saveItemsInLocalStorage_;
    /**
     * @private
     */
    private rePopulateCurrentDataSourceItems_;
}
export namespace SavedFilter {
    let $inject: string[];
}
export default myModule;
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
