import type { IAnchorable, TAddLabelOptions } from '@mappedin/mappedin-js'; import type { Mappedin } from '../types'; /** * A lightweight label object for React Native that can be used with mapView.updateState() to update label properties like rank, appearance, etc. * Note: This is a shell object and does not contain the full label functionality available in the web SDK. */ type ReactNativeLabel = Mappedin.Label; export interface LabelProps { /** * The target object (Space, Coordinate, Door, etc.) to anchor the label to */ target: IAnchorable; /** * Text content for the label */ text: string; /** * Optional label options */ options?: TAddLabelOptions; /** * Callback called when label is successfully created * @param label - The label shell object. Contains only the id and __type properties which can passed into mapView.updateState(). Note: updateTarget is not supported * @returns void */ onLoad?: (label: ReactNativeLabel) => void; } /** * Label component for React Native. * * Displays a text label on the map at the specified target location. * The label is managed through the WebView bridge and communicates with the core SDK. * * @example * ```tsx *