import { JSX } from 'react'; declare interface AnimateDataType { duration: number; once: boolean; amount: 'some' | 'all' | number; } declare interface AnnotationSettingsDataType { text: string; maxWidth?: number; xCoordinate?: number | string; yCoordinate?: number | string; xOffset?: number; yOffset?: number; align?: 'center' | 'left' | 'right'; color?: string; fontWeight?: 'regular' | 'bold' | 'medium'; showConnector?: boolean | number; connectorRadius?: number; classNames?: { connector?: string; text?: string; }; styles?: { connector?: React.CSSProperties; text?: React.CSSProperties; }; } declare interface AxesClassNameObject { gridLines?: string; labels?: string; title?: string; axis?: string; } declare interface AxesStyleObject { gridLines?: React.CSSProperties; labels?: React.CSSProperties; title?: React.CSSProperties; axis?: React.CSSProperties; } declare interface ClassNameObject { title?: string; footnote?: string; source?: string; description?: string; tooltip?: string; xAxis?: AxesClassNameObject; yAxis?: AxesClassNameObject; legend?: string; graphContainer?: string; graphObjectValues?: string; dataConnectors?: string; mouseOverLine?: string; regLine?: string; dataCards?: string; colorLegend?: string; modal?: string; area?: string; } declare type Color = 'azure' | 'blue' | 'green' | 'lime' | 'orange' | 'pink' | 'red' | 'teal' | 'violet' | 'yellow' | 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'background' | 'surface' | 'surface-2xs' | 'surface-xs' | 'surface-sm' | 'surface-md' | 'surface-lg' | 'surface-xl' | 'surface-2xl' | 'surface-3xl' | 'surface-4xl' | 'foreground' | 'sdg-1' | 'sdg-2' | 'sdg-3' | 'sdg-4' | 'sdg-5' | 'sdg-6' | 'sdg-7' | 'sdg-8' | 'sdg-9' | 'sdg-10' | 'sdg-11' | 'sdg-12' | 'sdg-13' | 'sdg-14' | 'sdg-15' | 'sdg-16' | 'sdg-17' | 'male' | 'female' | 'urban' | 'rural' | 'child' | 'adolescent' | 'young-adult' | 'adult' | 'older-adult'; declare interface CustomHighlightAreaSettingsForScatterPlotDataType { coordinates: number[]; closePath?: boolean; style?: React.CSSProperties; className?: string; color?: string; strokeWidth?: number; } declare interface CustomLayerDataType { position: 'before' | 'after'; layer: React.ReactNode; } declare interface HighlightAreaSettingsForScatterPlotDataType { coordinates: [number | null, number | null, number | null, number | null]; style?: React.CSSProperties; className?: string; color?: string; strokeWidth?: number; } declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'ja' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom'; declare interface NumberFormatOptions { locale?: string; precision?: number; prefix?: string; suffix?: string; padZeros?: PadZerosTypes; } declare type PadZerosTypes = 'all' | 'decimal' | 'none'; declare interface Props { /** Array of data objects */ data: ScatterPlotDataType[]; /** Title of the graph */ graphTitle?: string | React.ReactNode; /** Description of the graph */ graphDescription?: string | React.ReactNode; /** Footnote for the graph */ footNote?: string | React.ReactNode; /** Source data for the graph */ sources?: SourcesDataType[]; /** Accessibility label */ ariaLabel?: string; /** Color or array of colors for circle */ colors?: string | string[]; /** Domain of colors for the graph */ colorDomain?: string[]; /** Color for circle if the label doesn't exist in `colorDomain`. */ fallbackColor?: string; /** Title for the color legend */ colorLegendTitle?: string; /** Background color of the graph */ backgroundColor?: string | boolean; /** Custom styles for the graph. Each object should be a valid React CSS style object. */ styles?: StyleObject; /** Custom class names */ classNames?: ClassNameObject; /** Width of the graph */ width?: number; /** Height of the graph */ height?: number; /** Minimum height of the graph */ minHeight?: number; /** Relative height scaling factor. This overwrites the height props */ relativeHeight?: number; /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */ padding?: string; /** Left margin of the graph */ leftMargin?: number; /** Right margin of the graph */ rightMargin?: number; /** Top margin of the graph */ topMargin?: number; /** Bottom margin of the graph */ bottomMargin?: number; /** Maximum value for the x-axis */ maxXValue?: number; /** Minimum value for the x-axis */ minXValue?: number; /** Maximum value for the y-axis */ maxYValue?: number; /** Minimum value for the y-axis */ minYValue?: number; /** Maximum value mapped to the radius chart */ maxRadiusValue?: number; /** Reference values for comparison on x-axis */ refXValues?: ReferenceDataType[]; /** Reference values for comparison on y-axis */ refYValues?: ReferenceDataType[]; /** Number of ticks on the x-axis */ noOfXTicks?: number; /** Number of ticks on the y-axis */ noOfYTicks?: number; /** Maximum radius of the circle */ radius?: number; /** Toggle visibility of labels */ showLabels?: boolean; /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */ showColorScale?: boolean; /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */ showNAColor?: boolean; /** Data points to highlight. Use the label value from data to highlight the data point */ highlightedDataPoints?: (string | number)[]; /** Defines if the data point labels should be shown for highlighted data points. */ showHighlightedDataPointsLabels?: boolean; /** Defines the opacity of the non-highlighted data */ dimmedOpacity?: number; /** Title for the x-axis */ xAxisTitle?: string; /** Title for the y-axis */ yAxisTitle?: string; /** Annotations on the chart */ annotations?: AnnotationSettingsDataType[]; /** Highlighted area(square) on the chart */ highlightAreaSettings?: HighlightAreaSettingsForScatterPlotDataType[]; /** Highlighted area(custom shape) on the chart */ customHighlightAreaSettings?: CustomHighlightAreaSettingsForScatterPlotDataType[]; /** Toggles the visibility of the regression line for the data. If the type is string then string is use to define the color of the line. */ regressionLine?: boolean | string; /** Color of the labels */ labelColor?: string; /** Toggles if the graph animates in when loaded. */ animate?: boolean | AnimateDataType; /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */ xNumberDisplayOptions?: NumberFormatOptions; /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */ yNumberDisplayOptions?: NumberFormatOptions; /** Optional SVG element or function that renders custom content behind or in front of the graph. */ customLayers?: CustomLayerDataType[]; /** Configures playback and slider controls for animating the chart over time. The data must have a key date for it to work properly. */ timeline?: TimelineDataType; /** Enable graph download option as png */ graphDownload?: boolean; /** Enable data download option as a csv */ dataDownload?: boolean; /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */ resetSelectionOnDoubleClick?: boolean; /** Toggle interaction of Voronoi cells */ useVoronoiInteraction?: boolean; /** Toggle visibility of Voronoi tesselation. Should be used for debugging only */ showVoronoiTesselation?: boolean; /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */ tooltip?: string | ((_d: any) => React.ReactNode); /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */ detailsOnClick?: string | ((_d: any) => React.ReactNode); /** Callback for mouse over event */ onSeriesMouseOver?: (_d: any) => void; /** Callback for mouse click event */ onSeriesMouseClick?: (_d: any) => void; /** Language setting */ language?: Languages; /** Color theme */ theme?: 'light' | 'dark'; /** Unique ID for the graph */ graphID?: string; } declare interface ReferenceDataType { value: number | null; text: string; color?: string; styles?: { line?: React.CSSProperties; text?: React.CSSProperties; }; classNames?: { line?: string; text?: string; }; } export declare function ScatterPlot(props: Props): JSX.Element; declare interface ScatterPlotDataType { x?: number | null; y?: number | null; date?: string | number; radius?: number | null; color?: string | null; label: string | number; data?: object; } declare interface SourcesDataType { source: string; link?: string; } declare interface StyleObject { title?: React.CSSProperties; footnote?: React.CSSProperties; source?: React.CSSProperties; description?: React.CSSProperties; graphContainer?: React.CSSProperties; tooltip?: React.CSSProperties; xAxis?: AxesStyleObject; yAxis?: AxesStyleObject; graphObjectValues?: React.CSSProperties; dataConnectors?: React.CSSProperties; mouseOverLine?: React.CSSProperties; regLine?: React.CSSProperties; dataCards?: React.CSSProperties; modal?: React.CSSProperties; area?: React.CSSProperties; } declare interface TimelineDataType { autoplay: boolean; enabled: boolean; showOnlyActiveDate: boolean; speed?: number; dateFormat?: string; color?: Exclude; } export { }