import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export interface DonutSegment {
    label: ReactNode;
    value: number;
    color: string;
}
export interface DonutChartProps extends Omit<ComponentPropsWithoutRef<"div">, "title" | "onChange"> {
    data: DonutSegment[];
    /** Outer diameter in px. Default 160. */
    size?: number;
    /** Ring thickness in px. Default 22. */
    strokeWidth?: number;
    title?: ReactNode;
    /**
     * Override the default total in the centre. When you pass this, the
     * `valueLabel` / `unit` props are ignored.
     */
    centerLabel?: ReactNode;
    /**
     * Big number in the centre. Defaults to the segment-value sum.
     * Convenient shortcut when you don't need to provide a custom node.
     */
    valueLabel?: ReactNode;
    /** Small caption under the value. Defaults to "total". */
    unit?: ReactNode;
    showLegend?: boolean;
    /**
     * Show numeric values alongside percentages in the legend. Default false.
     */
    showLegendValues?: boolean;
    /**
     * Disable the segment-draw and pointer-pop microinteractions
     * (e.g. for SSR snapshots or static export).
     */
    disableAnimation?: boolean;
    /** Accessible label for the chart. Auto-generated from `title` +
     * segment summary when omitted. */
    "aria-label"?: string;
    /** Fires when the user hovers/focuses or leaves a segment. */
    onSegmentHover?: (segment: DonutSegment | null, index: number | null) => void;
    /** Fires when the user clicks or activates (Enter/Space) a segment. */
    onSegmentClick?: (segment: DonutSegment, index: number) => void;
}
export declare const DonutChart: import("react").ForwardRefExoticComponent<DonutChartProps & import("react").RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=DonutChart.d.ts.map