import type { MapPresentation } from "./CesiumMapRenderer.js"; export type GridLodMode = "3d" | "graticule"; export type GridLodProfile = { maxHeightKm: number; stepKm: number; mode: GridLodMode; heightMeters: number; max3dViewAngleDegrees: number; tileSizeKm: number; radiusKm: number; lineDiameterMeters: number; lineColor: string; lineOpacity: number; dotsEnabled: boolean; dotsDiameterMeters: number; dotsColor: string; dotsOpacity: number; crossesEnabled: boolean; crossesLengthMeters: number; crossesWidthMeters: number; crossesColor: string; crossesOpacity: number; graticuleStepDegrees: number; graticuleLineWidthPx: number; graticuleColor: string; graticuleOpacity: number; majorLinesEnabled: boolean; majorLabelsEnabled: boolean; majorLineWidthMultiplier: number; volumeEnabled: boolean; volumeMinimumHeightMeters: number; volumeMaximumHeightMeters: number; volumeBandHeightMeters: number; selectionFillColor: string; selectionFillOpacityPercent: number; selectionOutlineColor: string; selectionOutlineWidthPx: number; selectionOutlineOpacityPercent: number; }; export type GridLodBand = GridLodProfile & { index: number; id: string; }; export const GRID_LOD_HYSTERESIS_RATIO: number; export const GRID_LOD_COUNT: number; export const DEFAULT_GRID_LOD_PROFILES: readonly Readonly[]; export function gridLodProfile(settings: MapPresentation, index: number): GridLodProfile; export function gridLodBands(settings: MapPresentation): GridLodBand[]; export function selectGridLod( settings: MapPresentation, cameraHeightKm: number, previousIndex?: number | null, ): GridLodBand; export function resolveGridMode( settings: MapPresentation, requestedMode: GridLodMode, ): GridLodMode | "hidden"; export function gridShouldBeVisible(settings: MapPresentation, cameraHeightKm: number): boolean; export function snapGridCenter( center: { latitude: number; longitude: number }, settings: MapPresentation, tileSizeKm?: number, ): { latitude: number; longitude: number };