import { type ChartAnnotation } from "./chartAnnotations.js"; import { type DataLabelsProp } from "./chartDataLabels.js"; export type ScatterPlotTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8"; export type ScatterPlotDatum = { x: number; y: number; label?: string; tone?: ScatterPlotTone; /** * Per-datum radius, clamped to a sane maximum (32). Non-finite or * negative ⇒ falls back to the global `radius`. */ r?: number; }; /** Cluster centroid marker (ring + cross), drawn above the data points. */ export type ScatterPlotCentroid = { x: number; y: number; tone?: ScatterPlotTone; label?: string; }; export type ScatterPlotProps = { data: ScatterPlotDatum[]; width?: number; height?: number; xLabel?: string; yLabel?: string; radius?: number; /** * Cluster centroid markers (ring + cross), drawn above the points. Their * coordinates are folded into the axis domain. Non-finite x/y are skipped. */ centroids?: ScatterPlotCentroid[]; /** * Annotation overlay in DATA space (points, labels, axis lines, regions, * polygons). Both axes are continuous (linear). Additive: absent ⇒ unchanged. */ annotations?: ChartAnnotation[]; /** * Per-point value labels. `false`/absent (default) → none. `true` → each * point's value (the datum `label` wins when present). Object → `format` / * `position`. Default position is `top`. Labels are `aria-hidden`. */ dataLabels?: DataLabelsProp; /** * CONTROLLED synchronised hover key (FR-3). A point's key is its `label` when * present, otherwise `"x,y"`. Absent (`undefined`) keeps the uncontrolled * behaviour. */ hoverKey?: string | null; /** Emitted on hover (the key) / leave (`null`); fired even while controlled. */ onHoverKeyChange?: (key: string | null) => void; /** FR-5 — roving-tabindex keyboard navigation of the data points. */ keyboardNav?: boolean; /** Emitted on Enter/Space select (the key) / Escape (`null`); enables nav. */ onSelectKey?: (key: string | null) => void; label: string; class?: string; }; export declare const ScatterPlot: import("vue").DefineComponent ScatterPlotDatum[]; required: true; }; width: { type: NumberConstructor; default: number; }; height: { type: NumberConstructor; default: number; }; xLabel: { type: StringConstructor; default: undefined; }; yLabel: { type: StringConstructor; default: undefined; }; radius: { type: NumberConstructor; default: number; }; centroids: { type: () => ScatterPlotCentroid[]; default: undefined; }; annotations: { type: () => ChartAnnotation[]; default: undefined; }; dataLabels: { type: () => DataLabelsProp; default: undefined; }; hoverKey: { type: () => string | null; default: undefined; }; onHoverKeyChange: { type: () => (key: string | null) => void; default: undefined; }; keyboardNav: { type: BooleanConstructor; default: undefined; }; onSelectKey: { type: () => (key: string | null) => void; default: undefined; }; label: { type: StringConstructor; required: true; }; class: { type: StringConstructor; default: undefined; }; }>, () => import("vue").VNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly ScatterPlotDatum[]; required: true; }; width: { type: NumberConstructor; default: number; }; height: { type: NumberConstructor; default: number; }; xLabel: { type: StringConstructor; default: undefined; }; yLabel: { type: StringConstructor; default: undefined; }; radius: { type: NumberConstructor; default: number; }; centroids: { type: () => ScatterPlotCentroid[]; default: undefined; }; annotations: { type: () => ChartAnnotation[]; default: undefined; }; dataLabels: { type: () => DataLabelsProp; default: undefined; }; hoverKey: { type: () => string | null; default: undefined; }; onHoverKeyChange: { type: () => (key: string | null) => void; default: undefined; }; keyboardNav: { type: BooleanConstructor; default: undefined; }; onSelectKey: { type: () => (key: string | null) => void; default: undefined; }; label: { type: StringConstructor; required: true; }; class: { type: StringConstructor; default: undefined; }; }>> & Readonly<{}>, { class: string; height: number; width: number; radius: number; annotations: ChartAnnotation[]; dataLabels: DataLabelsProp; hoverKey: string | null; onHoverKeyChange: (key: string | null) => void; keyboardNav: boolean; onSelectKey: (key: string | null) => void; xLabel: string; yLabel: string; centroids: ScatterPlotCentroid[]; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; //# sourceMappingURL=ScatterPlot.d.ts.map