import { BoxProps, ElementProps, Factory, StylesApiProps } from '@mantine/core';
import { ChartSeries } from '../types';
export declare function getFilteredChartLegendPayload(payload: readonly Record<string, any>[]): Record<string, any>[];
export type ChartLegendStylesNames = 'legendItem' | 'legendItemColor' | 'legendItemName' | 'legend';
export interface ChartLegendProps extends BoxProps, StylesApiProps<ChartLegendFactory>, ElementProps<'div'> {
    /** Chart data provided by recharts */
    payload: readonly Record<string, any>[] | undefined;
    /** Function called when mouse enters/leaves one of the legend items */
    onHighlight: (area: string | null) => void;
    /** Position of the legend relative to the chart, used to apply margin on the corresponding side */
    legendPosition: 'top' | 'bottom' | 'middle';
    /** Data used for labels, only applicable for area charts: AreaChart, LineChart, BarChart */
    series?: ChartSeries[];
    /** Determines whether color swatch should be shown next to the label @default `true` */
    showColor?: boolean;
    /** Determines whether the legend should be centered @default `false` */
    centered?: boolean;
}
export type ChartLegendFactory = Factory<{
    props: ChartLegendProps;
    ref: HTMLDivElement;
    stylesNames: ChartLegendStylesNames;
}>;
export declare const ChartLegend: import("@mantine/core").MantineComponent<{
    props: ChartLegendProps;
    ref: HTMLDivElement;
    stylesNames: ChartLegendStylesNames;
}>;
