import { WidgetBase } from '@csnext/cs-client';
import mapboxgl from 'mapbox-gl';
import { MapboxStyleDefinition, MapOptions } from '@csnext/cs-map';
import { DocDatasource, GraphMapOptions } from '../..';
import { FilterGraphElement } from '@csnext/cs-data';
export default class GraphMap extends WidgetBase {
    map: mapboxgl.Map | null;
    styles: MapboxStyleDefinition[];
    popup?: mapboxgl.Popup;
    activePreset?: FilterGraphElement | null;
    filterToggle: boolean | null;
    dragInitialized: boolean;
    private isMounted;
    private lastPos?;
    private showMenu;
    private menux;
    contextMenuitems: any[];
    private menuy;
    private activeElement?;
    get options(): GraphMapOptions;
    dropItems: {
        group: string;
    };
    availableItems: {
        group: {
            name: string;
            pull: string;
            put: boolean;
        };
        sort: boolean;
    };
    save(): void;
    set options(options: MapOptions);
    get source(): DocDatasource | undefined;
    onDrop(e: any, d: any, s: any): Promise<void>;
    constructor();
    destroyed(): void;
    setEditorMode(mode: string): void;
    fitMap(): void;
    toggleFeatureType(id: string): void;
    openSettings(): void;
    private getStyleUri;
    initPreset(): void;
    private getRouteOptions;
    private initStyles;
    initMap(): void;
    resize(): void;
    refresh(): void;
    initTools(): void;
    beforeDestroy(): void;
    initFeatureTypeLayer(featureTypeId: string): void;
    private getElementCard;
    initLayers(): void;
    filter?: FilterGraphElement;
    initDragging(): void;
    contentLoaded(): void;
    mounted(): void;
}
