import { Control } from 'leaflet'; import { CSSResult } from 'lit'; import { GeoJSONOptions } from 'leaflet'; import { ImageOverlayOptions } from 'leaflet'; import { LatLngBounds } from 'leaflet'; import { LitElement } from 'lit'; import { MapOptions } from 'leaflet'; import { TemplateResult } from 'lit'; import { TileLayerOptions } from 'leaflet'; import { VideoOverlayOptions } from 'leaflet'; import { WMSOptions } from 'leaflet'; /** * Leaflet Map web component configuration. */ export declare interface Configuration { /** Map options. */ options?: MapOptions; /** Scale control options. */ scaleOptions?: Control.ScaleOptions; /** Base layers. */ baseLayers?: LayersControlEntry[]; /** Overlay layers. */ overlayLayers?: LayersControlEntry[]; } /** * GeoJSON configuration. */ export declare interface GeoJSONConfiguration { /** Kind. */ kind: 'GeoJSON'; /** ID of script element containing GeoJSON data. */ id: string; /** Fit bounds on display/select. */ fitBounds?: boolean; /** Options. */ options?: GeoJSONOptions; } /** * ImageOverlay configuration. */ declare interface ImageOverlayConfiguration { /** Kind. */ kind: 'ImageOverlay'; /** Image URL. */ imageUrl: string; /** Bounds. */ bounds: LatLngBounds; /** Fit bounds on display/select. */ fitBounds?: boolean; /** Options. */ options?: ImageOverlayOptions; } /** * Layer configuration. */ export declare type LayerConfiguration = GeoJSONConfiguration | ImageOverlayConfiguration | TileLayerConfiguration | TileLayerWMSConfiguration | VideoOverlayConfiguration; /** * Layers control entry. */ export declare interface LayersControlEntry { /** Layer name. */ name: string; /** Is the layer selected for display at the beginning (only used by overlay layers). */ selected?: boolean; /** Layer configuration. */ config: LayerConfiguration; } /** * Leaflet Map web component. */ export declare class LeafletMapElement extends LitElement { static styles: CSSResult; private mapElement; private scriptElements; private map; protected render(): TemplateResult<1>; private handleSlotChange; private newLayer; private onEachFeature; private loadData; private loadDataFromScript; private getScriptElements; } /** * Tile layer configuration. */ export declare interface TileLayerConfiguration { /** Kind. */ kind: 'TileLayer'; /** URL template. */ urlTemplate: string; /** Options. */ options?: TileLayerOptions; } /** * WMS tile layer configuration. */ export declare interface TileLayerWMSConfiguration { /** Kind. */ kind: 'TileLayer.WMS'; /** Base URL. */ baseUrl: string; /** Options. */ options: WMSOptions; } /** * VideoOverlay configuration. */ declare interface VideoOverlayConfiguration { /** Kind. */ kind: 'VideoOverlay'; /** Image URL(s). */ videoUrl: string | string[]; /** Bounds. */ bounds: LatLngBounds; /** Fit bounds on display/select. */ fitBounds?: boolean; /** Options. */ options?: VideoOverlayOptions; } export { } declare global { interface HTMLElementTagNameMap { "leaflet-map": LeafletMapElement; } }