///
import { MapDatasource, FeatureEventDetails, IMapLayer, PropertyDetails } from './../.';
import { LngLatBounds } from 'mapbox-gl';
import { CsMap } from './..';
import { PropertyType, FeatureTypes } from '@csnext/cs-data';
import mapboxgl from 'mapbox-gl';
import { GeojsonLayer } from './geojson-layer';
import { MessageBusHandle } from '@csnext/cs-core';
import { LayerStyle } from '../classes/layer-style';
export declare class GeojsonPlusLayer extends GeojsonLayer implements IMapLayer {
colorSchemes: {
BuGn: string[][];
BuPu: string[][];
GnBu: string[][];
OrRd: string[][];
PuBu: string[][];
Greys: string[][];
Blues: string[][];
BrBg: string[][];
PuOr: string[][];
Spectral: string[][];
};
iconZoomLevel?: number;
isEditable?: boolean;
isLive?: boolean;
socketEmitters: {
[key: string]: SocketIOClient.Emitter;
};
type?: 'poi';
bookmarks: mapboxgl.MapboxGeoJSONFeature[];
featureTypes?: FeatureTypes;
private clickEvent;
private contextMenuEvent;
private enterEvent;
private leaveEvent;
private moveEvent;
private mapEventsRegistered;
private symbolLayer?;
private popup;
private hoveredStateId;
constructor(init?: Partial);
addCircleSymbol(widget: any): void;
toggleBookmark(bookmark: mapboxgl.MapboxGeoJSONFeature): boolean;
addBookmark(bookmark: mapboxgl.MapboxGeoJSONFeature): boolean;
removeBookmark(bookmark: mapboxgl.MapboxGeoJSONFeature): boolean;
addLayer(widget: CsMap): void;
setFilter(filter: any[]): void;
getBounds(): LngLatBounds | undefined;
getInstance(init?: Partial): GeojsonPlusLayer;
initLayer(manager: MapDatasource): Promise;
moveLayer(beforeId?: string): void;
removeLayer(widget: CsMap): void;
removeLegend(property: PropertyDetails | PropertyType | string, refreshLayer?: boolean): void;
removeSubLayer(map: CsMap, layer?: GeojsonLayer, handle?: MessageBusHandle): MessageBusHandle | undefined;
setStyle(style: LayerStyle): Promise;
setLegend(property: PropertyDetails | PropertyType | string, refreshLayer?: boolean): void;
setOpacity(value: number): void;
setPopupContent(popup: string | ((f: FeatureEventDetails) => {})): void;
updateLayer(): Promise;
updateLegends(): void;
protected registerLayerExtensions(): void;
protected removeExtensions(): void;
private isFunction;
getComponent(): void;
private createPopup;
private registerMapEvents;
private unregisterMapEvents;
private onContextMenu;
private onClick;
private onEnter;
private onLeave;
private onMove;
}