import { MessageBusService, MessageBusManager, MessageBusHandle, IWidget } from '@csnext/cs-core'; import { MapDatasource, IMapLayer, LayerStyle, ILayerService, FeatureEventDetails } from './../.'; import { PropertyType, FeatureType, DataSource, DataSet, FeatureTypes } from '@csnext/cs-data'; import { CsMap } from './..'; import mapboxgl, { MapboxGeoJSONFeature } from 'mapbox-gl'; import { ILayerAction } from '../classes/ilayer-action'; import { ILayerExtension, ILayerExtensionType } from '../classes/ilayer-extension'; import { Feature } from 'geojson'; import { LayerLegend } from '../classes/layer-legend'; import { LayerFilter } from '../classes/layer-filter'; import { PropertyDetails } from '../components/feature-details/property-details'; export declare class BaseLayer implements IMapLayer { static getFeatureFromEventDetails(e: FeatureEventDetails): MapboxGeoJSONFeature | undefined; _busManager: MessageBusManager; _events: MessageBusService; _extensions: ILayerExtension[]; _featureType: FeatureType | undefined; _filters?: { [key: string]: LayerFilter; }; _featureEventHandle?: MessageBusHandle; _initialized?: boolean | undefined; /** list of active layers */ _legends?: LayerLegend[]; _manager?: MapDatasource; _parent?: IMapLayer; _service?: ILayerService; _showMenu?: boolean | undefined; _showMore?: boolean | undefined; _source?: DataSource; color: string; /** if multiple feature types are avaible, this is the default feature type key */ defaultFeatureType?: string; description: string; disableFeatureList?: boolean; extensions?: ILayerExtensionType[]; supportLayers: string[]; selectedFeature?: mapboxgl.MapboxGeoJSONFeature; filter?: any[]; hideInLayerList?: boolean; id: string; intlData: { locales: string; formats: { number: { USD: { style: string; currency: string; }; percentage: { style: string; }; }; }; }; openFeatureDetails?: boolean; parentId?: string; popupContent?: string | Function | undefined; popupInfoWidget?: IWidget; source?: string | DataSource; state?: 'hidden' | 'loading' | 'visible'; enabled?: boolean; style?: LayerStyle; tags: string[]; title: string; typeId?: string; featureTypes?: FeatureTypes; constructor(init?: Partial); get Map(): CsMap | undefined; get MapControl(): mapboxgl.Map | undefined; addLayer(map: CsMap): void; getFeature(id: string | number): Feature | undefined; getFeatureType(): FeatureType | undefined; applyFilter(filter: LayerFilter): void; getBounds(): void; getLayerActions(): ILayerAction[]; getStyleLegend(styleKey: string, style?: any): LayerLegend[]; getStyleLegendKey(styleKey: string): LayerLegend[]; initFilter(property: string): void; initLayer(manager: MapDatasource): Promise; moveLayer(beforeId?: string): void; private interpolatePopup; parsePopup(f?: mapboxgl.MapboxGeoJSONFeature): string; parseTitle(f?: mapboxgl.MapboxGeoJSONFeature): string; removeLayer(map: CsMap): void; addSupportLayer(layer: mapboxgl.Layer): void; removeLegend(property: PropertyDetails | PropertyType | string, refreshLayer: boolean): void; setFilter(filter: any[]): void; removeFilter(filter: LayerFilter): void; setLegend(property: PropertyDetails | PropertyType | string, refreshLayer: boolean): void; setOpacity(value: number): void; setPopupContent(value: string | ((f: FeatureEventDetails) => {})): void; updateFilters(): void; updateGeojson(data: DataSet): void; updateLayer(): void; updateLegends(): void; private createDefaultPopup; private updateFilterArray; }