import { type StyleProp, type ViewStyle } from "../../style/index.js"; import { type ChartSkin } from "../shared/types.js"; export interface ScatterPoint { x: number; y: number; /** Optional name for this point, used in the accessible data. */ label?: string; } export interface ScatterSeries { /** Stable identity for React keys when series can reorder. */ id?: string | number; /** Series name, shown in the legend and leading the accessible data. */ label: string; points: ScatterPoint[]; } /** A scatter selection addresses one point: series index + point index. */ export interface ScatterSelection { series: number; point: number; } export interface ScatterPlotProps { /** The point clouds; colors follow the chart-1..8 tokens in fixed order. */ series: ScatterSeries[]; /** Optional heading shown above the plot. */ title?: string; success?: boolean; destructive?: boolean; compact?: boolean; hideLegend?: boolean; hideGrid?: boolean; hideAxes?: boolean; /** Formats tick labels and accessible values (data formatting, not styling). */ formatValue?: (v: number) => string; /** Press-to-inspect: the selected point (controlled). Pass null for none. */ selected?: ScatterSelection | null; /** Press-to-inspect: the initially selected point (uncontrolled). */ defaultSelected?: ScatterSelection; /** Fired when a press selects a point (or clears it with null). */ onSelect?: (selection: ScatterSelection | null) => void; /** E2E hook forwarded to the root element. */ testID?: string; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } /** Build a ScatterPlot from a platform skin. */ export declare function createScatterPlot(skin: ChartSkin): (props: ScatterPlotProps) => import("react").JSX.Element; //# sourceMappingURL=scatter-plot.shared.d.ts.map