import * as React from 'react';
import { type ScatterMarkerSlotProps, type ScatterMarkerSlots } from "./ScatterMarker.types.js";
import { type DefaultizedScatterSeriesType, type ScatterItemIdentifier } from "../models/seriesType/scatter.js";
import { type D3Scale } from "../models/axis.js";
import { type ColorGetter } from "../internals/plugins/models/seriesConfig/index.js";
import { type ScatterClasses } from "./scatterClasses.js";
export interface ScatterProps {
  series: DefaultizedScatterSeriesType;
  xScale: D3Scale;
  yScale: D3Scale;
  color: string;
  /**
   * Function to get the color of a scatter item given its data index.
   * The data index argument is optional. If not provided, the color for the entire series is returned.
   * If provided, the color for the specific scatter item is returned.
   */
  colorGetter: ColorGetter<'scatter'>;
  /**
   * Callback fired when clicking on a scatter item.
   * @param {MouseEvent} event Mouse event recorded on the `<svg/>` element.
   * @param {ScatterItemIdentifier} scatterItemIdentifier The scatter item identifier.
   */
  onItemClick?: (event: React.MouseEvent<SVGElement, MouseEvent>, scatterItemIdentifier: ScatterItemIdentifier) => void;
  classes?: Partial<ScatterClasses>;
  slots?: ScatterSlots;
  slotProps?: ScatterSlotProps;
}
export interface ScatterSlots extends ScatterMarkerSlots {}
export interface ScatterSlotProps extends ScatterMarkerSlotProps {}
/**
 * Demos:
 *
 * - [Scatter](https://mui.com/x/react-charts/scatter/)
 * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
 *
 * API:
 *
 * - [Scatter API](https://mui.com/x/api/charts/scatter/)
 */
declare function Scatter(props: ScatterProps): import("react/jsx-runtime").JSX.Element;
declare namespace Scatter {
  var propTypes: any;
}
export { Scatter };