import type { GeoJsonGeometry, GeoJsonPosition } from "@trackunit/geo-json-utils"; /** * Describes a single part of a multi-geometry: its representative position * (polygon corner / line joint / multipoint coordinate) and bounds. */ export type PartInfo = Readonly<{ position: GeoJsonPosition; minLng: number; maxLng: number; minLat: number; maxLat: number; }>; /** * Decompose a multi-geometry into per-part info (position + bounds). * * Returns `null` for single geometries (Polygon, LineString, Point) or * multi-geometries that contain only one part. Only returns a non-null * array when the geometry genuinely has multiple parts. * * - MultiPolygon -> southwesternmost outer-ring vertex and bounds of each polygon * - MultiLineString -> a joint vertex on each line (`floor(n/2)`; two-point lines: first endpoint) * - MultiPoint -> the point itself with degenerate bounds * - GeometryCollection -> flattens recursively */ export declare const extractMultiParts: (geometry: GeoJsonGeometry) => ReadonlyArray | null;