import { TFunction } from "i18next";
import React from "react";
export declare enum DonutChartColor {
    RED = "red",
    GREEN = "green",
    YeLLOW = "yellow",
    BLUE = "blue",
    PURPLE = "purple"
}
export type IDonutChartProps = {
    "data-testid"?: string;
    /**
     * 默认支持单色系展示，如果是单色系直接传入颜色类型
     */
    color?: DonutChartColor;
    /**
     * 支持自定义图形外部样式
     */
    className?: string;
    /**
     * 支持自定义图形宽度
     */
    width?: number;
    /**
     * 支持自定义图形的内半径
     */
    innerRadius?: number;
    /**
     * 支持自定义图形的外半径
     */
    outerRadius?: number;
    /**
     * 支持自定义图形高度
     */
    height?: number;
    /**
     * 支持自定义 tooltip 样式
     */
    overlayClassName?: string;
    /**
     * * centerRender 对应 Donut Chart 中间的展示
     * * 可直接传入 object 类型，object 中的 number 为数值， text为数值下面的文案展示
     * * 支持传入 ReactNode 自定义组件
     */
    centerRender?: React.ReactElement | {
        number: number;
        text: string;
    };
    /**
     * * 图形展示的数据
     * * 数据合并展示规则：
     * * 如果 data 的长度不超过 5 并且没有 otherData 时，会全部展示
     * * 如果 data 的长度小于等于 4 并且有 otherData 时，会全部展示
     * * 如果 data 的长度大于 4 并且有 otherData 时，会将第 3 项之后的数据合并为一项，在 tooltip 中展示，
     * * 如果 data 的长度大于 5 不管是否有 otherData 会将第 4 项之后对 data 进行合并展示
     * * 如果有希望合并的数据，建议在传入数据时进行排序
     * * data 中每一项支持 onClick 事件，支持自定义颜色，当有自定义颜色时优先展示
     */
    data: {
        name: string;
        value: number;
        color?: string;
        tooltip?: string;
        onClick?: (name: string) => void;
    }[];
    /**
     * otherData中的数据会默认合并为其他，name 和 value 会在tooltip中展示详情
     */
    otherData?: {
        name: string;
        value: number;
    }[];
    /**
     * 当 data 数据合并时展示的文案
     */
    collapseText?: string;
    /**
     * 是否展示间隔, 当组件作为二元组件时传入false
     */
    widthPadding?: boolean;
    /**
     * 是否展示legend
     */
    showLegend?: boolean;
};
export declare const formatCollapse: (collapseData?: {
    name: string;
    value: number;
}[]) => {
    tooltip: {
        name: string;
        value: number;
    }[];
    value: number;
};
export declare const formatChartData: ({ otherData, data, t, collapseText, }: IDonutChartProps & {
    t: TFunction<"translation", undefined>;
}) => ({
    name: string;
    value: number;
    color?: string | undefined;
    tooltip?: string | undefined;
    onClick?: ((name: string) => void) | undefined;
} | {
    name: string;
    value: number;
    color: null;
    tooltip: {
        name: string;
        value: number;
    }[];
} | {
    name: string;
    value: number;
    color: "#D8DEEB";
    tooltip: {
        name: string;
        value: number;
    }[];
})[];
declare const DonutChart: React.FC<IDonutChartProps>;
export default DonutChart;
