import { type StyleProp, type ViewStyle } from "../../style/index.js"; export interface FlagRow { /** Series/datum name; omitted for single-value flags. */ label?: string; /** Series dot color. */ color?: string; /** The formatted value. */ value: string; } export interface ChartValueFlagProps { /** Heading (usually the category or point label). */ title?: string; rows: FlagRow[]; /** The datum's x position in plot coordinates. */ x: number; /** Plot width, for clamping the flag inside the plot. */ plotW: number; } export declare function ChartValueFlag({ title, rows, x, plotW }: ChartValueFlagProps): import("react").JSX.Element; /** * Mirror a selection into assistive tech (RN and react-native-web both * implement announceForAccessibility; RNW backs it with a live region). */ export declare function announceSelection(text: string): void; /** * The press position relative to the pressed element, or null when the event * carries none (never let a NaN reach the selection math). Native provides * `locationX`; react-native-web's responder events compute it lazily, but a * Pressable press driven by a mouse click can surface a raw MouseEvent, where * only `offsetX` exists. offsetX is TARGET-relative, so hit-layer Pressables * must be empty (nothing inside to become the target). */ export declare function pressPoint(e: { nativeEvent: unknown; }): { x: number; y: number; } | null; /** Opacity applied to marks OUTSIDE the current selection. */ export declare const DIM_OPACITY = 0.45; export interface ScrubSurfaceProps { /** Map a plot-local point to a selection index (null = nothing there). */ indexAt: (x: number, y: number) => number | null; /** The currently selected index (for tap-on-selected-clears). */ selected: number | null; /** SET the selection (null clears). */ onScrub: (index: number | null) => void; style?: StyleProp; } export interface ScrubGesture { index: number | null; wasSelected: boolean; moved: boolean; } /** * The pure scrub state machine (exported for tests; the DOM test harness * cannot drive real responder events at zero layout width). Returns the next * gesture bookkeeping plus the selection to apply (`undefined` = no change, * `null` = clear). */ export declare function scrubEvent(phase: "grant" | "move" | "release", index: number | null, gesture: ScrubGesture, selected: number | null): { gesture: ScrubGesture; select: number | null | undefined; }; export declare function ScrubSurface({ indexAt, selected, onScrub, style }: ScrubSurfaceProps): import("react").JSX.Element; //# sourceMappingURL=chart-inspect.d.ts.map