import { IWidget } from '@csnext/cs-core';
import './layer-selection.css';
import { Vue } from 'vue-property-decorator';
import { MapDatasource, IMapLayer, ILayerAction } from '../../.';
import { ILayerGroup } from './layer-group';
export declare class LayerSelection extends Vue {
    widget: IWidget;
    tree: any[];
    items: never[];
    filter: string | null;
    tab: string;
    open: never[];
    groupsexpanded: number[];
    showMenu: boolean;
    Groups: {
        [id: string]: ILayerGroup;
    };
    caseSensitive: boolean;
    layerTree: any[];
    mounted(): void;
    toggleGroup(group: ILayerGroup): void;
    updateTree(): void;
    activeUpdated(): void;
    toggleShowMore(layer: IMapLayer): void;
    setLayerOpacity(value: number, layer: IMapLayer): void;
    showLayerMenu(e: MouseEvent, layer: IMapLayer): void;
    layerMenu(layerId: string): ILayerAction[];
    toggleLayer(layer: IMapLayer): void;
    createLayer(): Promise<void>;
    private addLayerToGroup;
    get MapManager(): MapDatasource | undefined;
    private groupsChanged;
    private filterChanged;
    private layersChanged;
    private datasourceUpdated;
}
