import { type SharedValue } from "react-native-reanimated"; import type { ChartEngineLayout } from "../core/useLiveChartEngine"; import type { ChartPadding } from "../draw/line"; import { type ResolvedMarkerCluster } from "../math/markerCluster"; import type { LiveChartPoint, Marker, MarkerRenderContext, SeriesConfig } from "../types"; /** * React Native overlay (NOT Skia) that floats `renderMarker` elements over the * Skia canvas, one per marker the consumer chooses to customize. Rendered as a * sibling of `` (like {@link AxisLabelOverlay}) so the elements can be * any RN view — including non-Skia effects (e.g. a glass `BlurView`) — and stay * crisp at native resolution instead of being rasterized into the marker atlas. * * The set of markers is mirrored to JS state via `markersSignature` (same as * `MarkerOverlay`); `renderMarker(marker, ctx)` is then called per marker on the * JS thread. Markers it returns an element for are excluded from the Skia atlas * upstream, so there's no double-draw. * * Custom views participate in {@link clusterMarkers}: a single per-frame * project+cluster over all markers feeds a `posById` map so co-located custom * views fan apart (or hide when their cluster collapses) in lockstep with the * atlas markers. `renderMarker` must return an element consistently for a given * id (it may restyle via `ctx`, but should not flip between element and `null` * based on `ctx.isGrouped`). */ export declare function CustomMarkerOverlay({ markers, renderMarker, engine, padding, series, lineData, lineLinear, cluster, }: { markers: SharedValue; renderMarker: (marker: Marker, ctx: MarkerRenderContext) => React.ReactElement | null | undefined; engine: ChartEngineLayout; padding: ChartPadding; /** Multi-series data, used to anchor markers by `seriesId`. */ series?: SharedValue; /** Single-series line data; anchors markers that omit `value`. */ lineData?: SharedValue; /** Single-series line is drawn linear — anchor `lineData` markers on the chord. */ lineLinear?: boolean; /** Collision config; `"stacked"` fans/collapses co-located markers. */ cluster: ResolvedMarkerCluster; }): import("react").JSX.Element | null; //# sourceMappingURL=CustomMarkerOverlay.d.ts.map