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 function zoomToHeight(zoom: number): number; export declare function heightToZoom(height: number): number; export declare class CesiumProvider implements MapProvider { private viewer; private Cesium; private layerManager; private shadowRoot; private layerGroups; private layerManagerMutex; private layerErrorCallbacks; private layerErrorCleanups; init(options: ProviderOptions): Promise; destroy(): Promise; private createLayer; addLayerToGroup(layerConfig: LayerConfig): Promise; setBaseLayer(groupId: string, layerElementId: string): Promise; addBaseLayer(layerConfig: LayerConfig, basemapid: string, layerElementId: string): Promise; ensureGroup(groupId: string, visible: boolean, _opts?: { basemapid?: string; }): Promise; setGroupVisible(groupId: string, visible: boolean): Promise; onLayerError(layerId: string, callback: LayerErrorCallback): void; offLayerError(layerId: string): void; private attachCesiumErrorListeners; removeLayer(layerId: string): Promise; setOpacity(layerId: string, opacity: number): Promise; setVisible(layerId: string, visible: boolean): Promise; setZIndex(layerId: string, zIndex: number): Promise; /** * Apply Geostyler styling to a GeoJsonDataSource */ private applyGeostylerStyling; /** * Convert CSS color to Cesium Color */ private parseCesiumColor; /** * Apply opacity to Cesium color */ private applyCesiumOpacity; /** * Create Cesium styling options from StyleConfig */ private createCesiumStyle; /** * Apply enhanced styling to a GeoJsonDataSource */ private applyEnhancedStyling; private createWKTLayer; private wktToGeoJSON; private resolveWktText; private createGeoJSONLayer; private createWFSLayer; private createOSMLayer; private createGoogleLayer; private getGoogleMapTypeId; /** * Load Google Maps JavaScript API */ private loadGoogleMapsApi; /** * Add Google logo for compliance */ private ensureGoogleLogo; private createXYZLayer; private createTerrainLayer; /** * Create GeoTIFF Terrain Layer * Loads GeoTIFF elevation data and provides it as terrain */ private createGeoTIFFTerrainLayer; private addWMSLayer; /** * Create WCS (Web Coverage Service) ImageryLayer * Supports WCS 2.0.1 (subset) and 1.x.x (BBOX) versions */ private createWCSLayer; private addArcGISLayer; private createGeoTIFFLayer; private createTile3DLayer; updateLayer(layerId: string, update: LayerUpdate): Promise; setView(center: LonLat, zoom: number): Promise; getView(): { center: LonLat; zoom: number; } | null; onViewChange(callback: (view: { center: LonLat; zoom: number; }) => void): () => void; private fetchWFSFromUrl; private appendParams; }