/** * `anchor="surface"` (universal layer attribute, the classify/filter * pattern): installs a `getPosition` that anchors each row INSIDE its own * polygon — on-map annotations (TextLayer labels on shapes) without a * card/popup and without authoring per-row coordinates. Resolved where the * rows are in hand (parse-manifest / descriptorToIR); an authored * `get-position` wins. Placement: centroid of the largest ring, verified * inside; a concave polygon whose centroid falls outside gets the midpoint * of the widest interior run of a horizontal line through the centroid * latitude (polylabel-lite — cheap and always inside). */ import type { LayerData } from "./ir"; import type { Shape } from "./expr"; /** A point guaranteed inside the largest ring of the geometry (see module doc). */ export declare function pointOnSurface(coords: unknown): [number, number] | null; /** Installs the surface-anchored getPosition (no-ops: no anchor, authored position, no rows yet). */ export declare function applySurfaceAnchor(props: Record, anchor: string | undefined, data: LayerData, shape: Shape, warnLabel: string): void;