import Map from 'ol/Map'; import type { MapProvider, LayerUpdate, LayerErrorCallback } from '../../types/mapprovider'; import type { ProviderOptions } from '../../types/provideroptions'; import type { LayerConfig } from '../../types/layerconfig'; import type { LonLat } from '../../types/lonlat'; export declare class OpenLayersProvider implements MapProvider { private map; private layers; private baseLayers; private googleLogoAdded; private projection; private layerErrorCallbacks; private layerErrorCleanups; init(options: ProviderOptions): Promise; destroy(): Promise; updateLayer(layerId: string, update: LayerUpdate): Promise; ensureGroup(groupId: string, visible: boolean, _opts?: { basemapid?: string; }): Promise; private _ensureGroup; setBaseLayer(groupId: string, layerElementId: string): Promise; addBaseLayer(layerConfig: LayerConfig, basemapid: string, layerElementId: string): Promise; addLayerToGroup(layerConfig: LayerConfig): Promise; private createLayer; private updateWMSLayer; private updateOSMLayer; private updateGeoJSONLayer; private updateWFSLayer; private updateWCSLayer; private updateArcGISLayer; private createEnhancedStyleFunction; private createGeoJSONLayer; private createWFSSpource; private createWFSLayer; /** * Convert a GeoStyler style to an OpenLayers style function. * * TODO: Replace this hand-rolled conversion (~200 lines) with * geostyler-openlayers-parser's writeStyle(). The official parser * covers more symbolizer types, handles filters, and stays in sync * with the GeoStyler spec. See: * https://github.com/geostyler/geostyler-openlayers-parser */ private createGeostylerStyleFunction; private createXYZLayer; private createGoogleLayer; private createOSMLayer; private createWMSLayer; onLayerError(layerId: string, callback: LayerErrorCallback): void; offLayerError(layerId: string): void; private attachSourceErrorListeners; setView(center: LonLat, zoom: number): Promise; getView(): { center: LonLat; zoom: number; } | null; onViewChange(callback: (view: { center: LonLat; zoom: number; }) => void): () => void; private _forEachLayer; private _getLayerById; private _getLayerGroupById; removeLayer(layerId: string): Promise; setOpacity(layerId: string, opacity: number): Promise; setZIndex(layerId: string, zIndex: number): Promise; setVisible(layerId: string, visible: boolean): Promise; setGroupVisible(groupId: string, visible: boolean): Promise; private updateWKTLayer; private createWKTLayer; private createGeoTIFFLayer; private createWCSLayer; private getWFSGetFeatureUrl; /** * Erstellt eine WCS GetCoverage URL mit dynamischem BBOX für WCS 2.0.1 und 1.x.x */ private getWCSGetCoverageUrl; private mergeLayerConfig; private appendParams; /** * Erstellt eine WCS Image Source mit dynamischem BBOX-basierten Loading * Unterstützt WCS 2.0.1 und 1.x.x mit GeoTIFF FLOAT32 */ private createWcsSource; private createArcGISLayer; private updateGeoTIFFLayer; getMap(): Map; }