import { Gesture } from "react-native-gesture-handler"; import { type SharedValue } from "react-native-reanimated"; import type { ChartEngineLayout } from "../core/useLiveChartEngine"; import type { ChartPadding } from "../draw/line"; import { type ProjectedMarker } from "../math/markers"; import { type ResolvedMarkerCluster } from "../math/markerCluster"; import type { LiveChartPoint, Marker, MarkerPressEvent, SeriesConfig } from "../types"; /** * Projects markers to screen positions each frame and builds a tap gesture that * hit-tests against them, firing `onMarkerPress` (or `null` on a miss). Applies * the {@link clusterMarkers} collision pass each frame so hit-testing matches the * drawn (stacked / collapsed) positions. */ export declare function useMarkers(engine: ChartEngineLayout, padding: ChartPadding, markers: SharedValue, active: boolean, hitRadius: number, onMarkerPress?: (event: MarkerPressEvent | null) => void, seriesSV?: SharedValue, lineData?: SharedValue, /** Static charts run no loops: register without starting. Default `true`. */ autostart?: boolean, /** Single-series line is drawn linear (`line.curve === "linear"`) — anchor * `lineData` markers on the straight chord rather than the spline. */ lineLinear?: boolean, /** Collision config; default `"anchored"` (no stacking). */ cluster?: ResolvedMarkerCluster): { projected: SharedValue; tapGesture: ReturnType; /** Worklet hit-test: true when (x, y) lands on a projected marker. */ hitTest: (x: number, y: number) => boolean; }; //# sourceMappingURL=useMarkers.d.ts.map