import GirafeSingleton from '../../base/GirafeSingleton.js';
import BaseLayer from '../../models/layers/baselayer.js';
import GroupLayer from '../../models/layers/grouplayer.js';
import Layer from '../../models/layers/layer.js';
import ILayerWithLegend from '../../models/layers/ilayerwithlegend.js';
import ILayerWithFilter from '../../models/layers/ilayerwithfilter.js';
import ThemeLayer from '../../models/layers/themelayer.js';
declare class LayerManager extends GirafeSingleton {
    private readonly layerClones;
    private readonly layerIdToClone;
    private get state();
    initializeSingleton(): void;
    private onLayersListChanged;
    private fillLayerIdToClone;
    protected onChildrenListChanged(oldChildren: BaseLayer[], newChildren: BaseLayer[]): void;
    getTreeItem(treeItemId: string): BaseLayer;
    getTreeItemByLayerName(layerName: string): BaseLayer | null;
    getFlattenedLayerTree(layers: BaseLayer[]): BaseLayer[];
    private activateIfDefaultChecked;
    toggle(layer: BaseLayer, state: 'on' | 'off'): void;
    private onLayerToggled;
    private manageDisclaimer;
    toggleLayer(layer: Layer, state?: 'on' | 'off'): void;
    toggleGroupOrTheme(groupOrTheme: GroupLayer | ThemeLayer, state?: 'on' | 'off' | 'semi'): void;
    private toggleParent;
    private toggleChilds;
    private manageExclusiveGroups;
    private areAllChildrenActive;
    private areAllChildrenInactive;
    private isAnyChildActive;
    setError(layer: BaseLayer, error: string): void;
    unsetError(layer: BaseLayer): void;
    isLayerWithLegend(layer: ILayerWithLegend | Layer): layer is ILayerWithLegend;
    isLayerWithFilter(layer: ILayerWithFilter | Layer): layer is ILayerWithFilter;
    getSortedLayers(layers: BaseLayer[]): BaseLayer[];
    private activateDefaultLayers;
    private highlightNewLayers;
}
export default LayerManager;
