import type { GeoJsonBbox, GeoJsonGeometry, GeoJsonPosition } from "@trackunit/geo-json-utils"; /** * Find the best visible vertex for the `vertex-auto` anchor. * * Searches ALL parts of multi-geometry, filters to vertices inside the * viewport, and returns the one closest to the viewport center. * Returns null if no vertices are visible. * * For Point geometry, returns the single coordinate (regardless of viewport). * * When `previousPosition` is provided (hysteresis mode): * - If the previous position is still inside the viewport, it is returned * unchanged — the label stays put during panning. * - If the previous position left the viewport, the nearest visible vertex * to that position is chosen (not nearest to viewport center) so the * label migrates to the closest alternative. */ export declare const findBestVisibleVertex: (geometry: GeoJsonGeometry, viewportBounds: Readonly, previousPosition?: GeoJsonPosition) => GeoJsonPosition | null;