import type { CSSResultGroup } from 'lit'; import TerraElement from '../../internal/terra-element.js'; import { Leaflet } from './leaflet-utils.js'; import { MapController } from './map.controller.js'; import type { ShapeFilesResponse } from '../../geojson/types.js'; /** * @summary A map component for visualizing and selecting coordinates. * @documentation https://terra-ui.netlify.app/components/map * @status stable * @since 1.0 * */ export default class TerraMap extends TerraElement { #private; static styles: CSSResultGroup; /** * Minimum zoom level of the map. */ minZoom: number; /** * Maximum zoom level of the map. */ maxZoom: number; /** * Initial map zoom level */ zoom: number; /** * has map navigation toolbar */ hasNavigation: boolean; /** * has coordinate tracker */ hasCoordTracker: boolean; /** * has shape selector */ hasShapeSelector: boolean; hideBoundingBoxSelection?: boolean; hidePointSelection?: boolean; staticMode?: boolean; /** * Disables infinite horizontal scrolling on the map (world wrapping) */ noWorldWrap: boolean; /** * Spatial constraints for the map (default: '-180, -90, 180, 90') * Format: 'west, south, east, north' */ spatialConstraints: string; value: any; mapElement: HTMLDivElement; private hasProcessedInitialDraw; valueChanged(_oldValue: any, newValue: any): void; map: Leaflet; /** * List of geojson shapes */ shapes: ShapeFilesResponse; _mapController: MapController; connectedCallback(): Promise; firstUpdated(): Promise; getDrawLayer(): any; selectTemplate(): import("lit-html").TemplateResult<1>; render(): import("lit-html").TemplateResult<1>; invalidateSize(): void; }