import { ScatterProps, TooltipProps, XAxisProps, YAxisProps, ZAxisProps } from 'recharts';
import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '@mantine/core';
export type BubbleChartStylesNames = 'root' | 'axis' | 'tooltip';
export type BubbleChartCssVariables = {
    root: '--chart-text-color' | '--chart-grid-color';
};
export interface BubbleChartDataKey {
    x: string;
    y: string;
    z: string;
}
export interface BubbleChartProps extends BoxProps, StylesApiProps<BubbleChartFactory>, ElementProps<'div'> {
    /** Chart data */
    data: Record<string, any>[];
    /** Data keys for x, y and z axis */
    dataKey: BubbleChartDataKey;
    /** Z axis range */
    range: [number, number];
    /** Color of the chart items. Key of `theme.colors` or any valid CSS color. @default `blue.6` */
    color?: MantineColor;
    /** Props passed down to the `XAxis` recharts component */
    xAxisProps?: Omit<XAxisProps, 'ref'>;
    /** Props passed down to the `YAxis` recharts component */
    yAxisProps?: Omit<YAxisProps, 'ref'>;
    /** Props passed down to the `ZAxis` recharts component */
    zAxisProps?: Omit<ZAxisProps, 'ref'>;
    /** Props passed down to the `Tooltip` component */
    tooltipProps?: Omit<TooltipProps<any, any>, 'ref'>;
    /** Props passed down to the `Scatter` component */
    scatterProps?: Partial<Omit<ScatterProps, 'ref'>>;
    /** Color of the text displayed inside the chart @default `'dimmed'` */
    textColor?: MantineColor;
    /** Color of the grid and cursor lines, by default depends on color scheme */
    gridColor?: MantineColor;
    /** Chart label displayed next to the x axis */
    label?: string;
    /** Determines whether the tooltip should be displayed @default `true` */
    withTooltip?: boolean;
    /** Function to format z axis values */
    valueFormatter?: (value: number) => string;
}
export type BubbleChartFactory = Factory<{
    props: BubbleChartProps;
    ref: HTMLDivElement;
    stylesNames: BubbleChartStylesNames;
    vars: BubbleChartCssVariables;
}>;
export declare const BubbleChart: import("@mantine/core").MantineComponent<{
    props: BubbleChartProps;
    ref: HTMLDivElement;
    stylesNames: BubbleChartStylesNames;
    vars: BubbleChartCssVariables;
}>;
