import { default as React } from 'react'; import { GroundStation } from '../types'; import { SatelliteTrack, GroundStationEnhanced, SROGroundStation, MapPin, LightSource, MapLayerDef } from './GroundTrackMap'; export type GroundStationMapItem = GroundStation | GroundStationEnhanced | SROGroundStation; export interface GroundTrackMapLeafletProps { allSatellites: SatelliteTrack[]; groundStations: GroundStationMapItem[]; showTerminator?: boolean; /** Override the time used for the terminator calculation (defaults to wall-clock now). */ terminatorTime?: Date; showGrid?: boolean; showLegend?: boolean; showEquator?: boolean; showRecenterButton?: boolean; /** Show a toggle button to switch between Dark and Satellite tile styles. Default true. */ showMapStyleToggle?: boolean; defaultCenter?: [number, number]; defaultZoom?: number; height?: number | string; width?: number | string; minHeight?: string; emptyMessage?: string; tileUrl?: string; /** * URL template for a "night" tile layer (e.g. NASA Black Marble, VIIRS city lights). * Rendered beneath the terminator overlay so it only appears on the dark side. * Requires `showTerminator`. Falls back to dark overlay when not provided. */ nightTileUrl?: string; /** * Point light sources rendered on the night side (masked by the terminator). * Each light fades in through twilight and reaches full brightness at night. */ lightSources?: LightSource[]; className?: string; onSatelliteClick?: (id: string) => void; onStationClick?: (id: string) => void; /** Points-of-interest pins */ pins?: MapPin[]; /** Allow adding/editing pins via map clicks */ pinsEditable?: boolean; onPinAdd?: (pin: Omit) => void; onPinUpdate?: (pin: MapPin) => void; onPinRemove?: (pinId: string) => void; /** Custom overlay layers for the Layers panel */ customLayers?: MapLayerDef[]; /** Called when any layer is toggled */ onLayerChange?: (layerId: string, enabled: boolean) => void; /** * Show sun and moon position markers on the map. * Requires `showTerminator`. Default: true when terminator is enabled. */ showCelestialMarkers?: boolean; } export declare function GroundTrackMapLeaflet({ allSatellites, groundStations, showTerminator, terminatorTime, showGrid, showLegend, showEquator, showRecenterButton, showMapStyleToggle, defaultCenter, defaultZoom, height, width, minHeight, emptyMessage, tileUrl, nightTileUrl, lightSources, className, onSatelliteClick, onStationClick, pins, pinsEditable, onPinAdd, onPinUpdate, onPinRemove, customLayers, onLayerChange, showCelestialMarkers, }: GroundTrackMapLeafletProps): React.ReactElement; export default GroundTrackMapLeaflet;