import GirafeSingleton from '../../base/GirafeSingleton';
import BaseLayer from '../../models/layers/baselayer';
import GroupLayer from '../../models/layers/grouplayer';
import Layer from '../../models/layers/layer';
import ConfigManager from '../configuration/configmanager';
import StateManager from '../state/statemanager';
import ILayerWithLegend from '../../models/layers/ilayerwithlegend';
import ILayerWithFilter from '../../models/layers/ilayerwithfilter';
import ThemeLayer from '../../models/layers/themelayer';
declare class LayerManager extends GirafeSingleton {
    #private;
    configManager: ConfigManager;
    stateManager: StateManager;
    private readonly layerClones;
    get state(): import("../main").State;
    constructor(type: string);
    private onLayersListChanged;
    protected onChildrenListChanged(oldChildren: BaseLayer[], newChildren: BaseLayer[]): void;
    getTreeItem(treeItemId: string): BaseLayer;
    private getLayerRecursive;
    getFlattenedLayerTree(layers: BaseLayer[]): BaseLayer[];
    activateIfDefaultChecked(layer: BaseLayer): void;
    toggle(layer: BaseLayer, state: 'on' | 'off'): void;
    private onLayerToggled;
    toggleLayer(layer: Layer, state?: 'on' | 'off'): void;
    toggleGroupOrTheme(groupOrTheme: GroupLayer | ThemeLayer, state?: 'on' | 'off' | 'semi'): void;
    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[];
    activateDefaultLayers(layers: BaseLayer[]): void;
}
export default LayerManager;
