/** DonutChart — recharts Pie internals, data props only (W2 §The Kit). */ import type { ComponentProps, ReactNode } from "react"; import { Pie } from "recharts"; import { type KitStyled, type KitEngine, type KitRendered } from "../tokens.js"; import { type EnumTone } from "../values.js"; import { type ChartFormat } from "./sanitize.js"; interface DonutChartOwnProps extends KitStyled { data: Array>; /** Slice-label field. */ categoryKey: string; /** Slice-value field. */ valueKey: string; /** Each slice's figure in the legend and the tooltip, as a function of the row * — `(row) => money(row.amount)`. A ring states shares of ONE whole, so one * formatter reads every slice. */ format?: ChartFormat; /** Slice value → tone, exactly as EnumBadge takes it — the pills the legend * gives a status ring. */ tones?: Record; /** false renders a full pie. */ donut?: boolean; /** Name + value under the ring, on by default; `false` takes it away, and Kit * elements replace it. */ legend?: boolean | ReactNode; height?: number; emptyState?: string; /** Kit elements shown in place of `emptyState` when there is nothing to plot. */ empty?: ReactNode; /** Kit value components composed for the hovered slice, in place of the * default tooltip. Written as a function of the slice's row, it arrives as ONE * element per row in `data` order. */ tooltip?: ReactNode | readonly ReactNode[]; } /** Plus any recharts `` prop, handed straight to the ring. It arrives AFTER * the Kit's own defaults, so `strokeWidth` wins, and BEFORE `dataKey`/`nameKey`, * which the component owns — an overridden one would plot a field that is not * there. A slice's own colour stays the `` under it. */ export type DonutChartProps = DonutChartOwnProps & KitEngine, DonutChartOwnProps, "dataKey" | "nameKey" | "data">; export declare function DonutChart({ data, categoryKey, valueKey, format, tones, donut, legend, height, emptyState, empty, tooltip, style, children, pending, ...engine }: DonutChartProps & KitRendered): import("react").JSX.Element; export {};