import * as React from 'react';
import { ScatterMarkerSlotProps, ScatterMarkerSlots } from "./ScatterMarker.types.js";
import { DefaultizedScatterSeriesType, ScatterItemIdentifier } from "../models/seriesType/scatter.js";
import { D3Scale } from "../models/axis.js";
import { ColorGetter } from "../internals/plugins/models/seriesConfig/index.js";
export interface ScatterProps {
  series: DefaultizedScatterSeriesType;
  xScale: D3Scale;
  yScale: D3Scale;
  color: string;
  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;
  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): React.JSX.Element;
declare namespace Scatter {
  var propTypes: any;
}
export { Scatter };