import { ReactNode } from 'react'; import { ButtonProps } from '@mui/material'; import { ChartLegend } from '../Legend/types'; export type Point = { x: number; y: number; label: string; id?: number | string; additionalContent?: ReactNode; }; export type SeriesData = { name: string; color?: string; data: Point[]; }; export type SelectedPoint = { point: Point; seriesName: string; absoluteCoordinate: { x: number; y: number; }; }; export type ScatterPlotProps = { values: SeriesData[]; /** When both are set, fixes the X-axis domain instead of deriving it from data. */ xMin?: number; xMax?: number; /** When both are set, fixes the Y-axis domain instead of deriving it from data. */ yMin?: number; yMax?: number; xLabel: ReactNode; yLabel: ReactNode; width?: string; height?: string; valueFormatterFn?: (value: number, precision?: number) => string; precision?: number; language?: string; unit?: string; xUnit?: string; yUnit?: string; /** Controls the component-owned surface. Embedded plots keep the same axes and engine. */ surface?: "default" | "embedded"; /** Keeps the existing legend by default; consumers may hide it when the surrounding design already names the data. */ showLegend?: boolean; textOptions?: { for: string; closeTooltip?: string; }; legend?: ChartLegend; onLegendHover?: (index: number | null) => void; tooltipOptions?: { button?: { variant?: ButtonProps["variant"]; color?: ButtonProps["color"]; size?: ButtonProps["size"]; text?: string; startIcon?: ReactNode; onClick?: () => void; href?: string; }; }; }; export declare const ScatterPlot: (props: ScatterPlotProps) => import("react/jsx-runtime").JSX.Element;