import { EventEmitter } from '../../stencil-public-runtime'; import type { VMapLayer } from '../../types/vmaplayer'; import type { VMapErrorDetail } from '../../utils/events'; import type { VMapErrorHost } from '../../layer/v-map-layer-helper'; import type { ColorMap as GeoStylerColorMap } from 'geostyler-style'; export declare class VMapLayerTerrainGeotiff implements VMapLayer, VMapErrorHost { el: HTMLElement; /** Current load state of the layer. */ loadState: 'idle' | 'loading' | 'ready' | 'error'; /** * URL to the GeoTIFF file containing elevation data. */ url: string; /** * Quell-Projektion des GeoTIFF (z. B. "EPSG:32632" oder proj4-String) */ projection?: string; /** * Erzwingt die Verwendung der projection-Prop, ignoriert GeoKeys */ forceProjection?: boolean; visible: boolean; /** * Opacity of the terrain layer (0–1). * @default 1 */ opacity: number; /** * Z-index for layer stacking order. Higher values render on top. */ zIndex: number; /** * NoData value to discard (overriding any nodata values in the metadata). */ nodata?: number; /** * Mesh error tolerance in meters (Martini). * Smaller values = more detailed mesh, but slower. * @default 4.0 */ meshMaxError?: number; /** * Enable wireframe mode (show only mesh lines). * @default false */ wireframe?: boolean; /** * Optional texture URL (can be an image or tile URL). */ texture?: string; /** * Color for the terrain (if no texture is provided). * [r, g, b] with values 0-255. * @default [255, 255, 255] */ color?: [number, number, number]; /** * ColorMap for elevation data visualization. * Only relevant when no texture is set. */ colorMap?: string | GeoStylerColorMap; /** * Value range for colormap normalization [min, max]. */ valueRange?: [number, number]; /** * Elevation exaggeration factor. * @default 1.0 */ elevationScale?: number; /** * Rendering mode for GeoTIFF terrain. * @default terrain */ renderMode?: 'terrain' | 'colormap'; /** * Minimum zoom level. */ minZoom?: number; /** * Maximum zoom level. */ maxZoom?: number; /** * Tile size in pixels. * @default 256 */ tileSize?: number; /** * Fired when the terrain layer is ready. * @event ready */ ready: EventEmitter; private didLoad; private hasLoadedOnce; private helper; setLoadState(state: 'idle' | 'loading' | 'ready' | 'error'): void; /** Returns the last error detail, if any. */ getError(): Promise; onUrlChanged(): Promise; onVisibleChanged(): Promise; onOpacityChanged(): Promise; onZIndexChanged(): Promise; onPropertyChanged(): Promise; isReady(): boolean; /** * Returns the internal layer ID used by the map provider. */ getLayerId(): Promise; private createLayerConfig; connectedCallback(): Promise; disconnectedCallback(): Promise; componentWillLoad(): Promise; componentDidLoad(): Promise; componentWillRender(): Promise; render(): any; }