import type { GeoJsonFeatureCollection, GeoJsonPosition } from "@trackunit/geo-json-utils"; import type { MapTheme } from "../../core/types"; import type { EdgeFitMode, EdgeLabelLayout } from "./edge/findBestEdgePosition"; export declare const EDGE_LABEL_SUFFIX = "__edge-label"; export declare const MULTI_BADGE_SUFFIX = "__multi-badge"; /** Serializable props for DOM-rendered shape edge labels (mirrors `ShapeEdgeLabel`). */ export type ShapeEdgeLabelFeaturePayload = Readonly<{ text: string; color: string; hoveredColor?: string; selectedColor?: string; theme: MapTheme; layout: EdgeLabelLayout; fitMode: EdgeFitMode; availableWidthPx: number; hidden?: boolean; handleId: string; shapeType: string; featureId: string; }>; export declare const buildEdgeLabelFeatureCollection: (stableId: string, position: GeoJsonPosition, payload: ShapeEdgeLabelFeaturePayload) => GeoJsonFeatureCollection; export type MultiBadgeFeaturePayload = Readonly<{ strokeColor: string; }>; export declare const buildMultiBadgeFeatureCollection: (stableId: string, position: GeoJsonPosition, payload: MultiBadgeFeaturePayload) => GeoJsonFeatureCollection;