import type { Datum } from "../shared/datumTypes";
import * as React from "react";
import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
import type { BaseChartProps, ChartAccessor } from "../shared/types";
import { type TooltipProp } from "../../Tooltip/Tooltip";
import type { RealtimeFrameHandle } from "../../realtime/types";
export interface DonutChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
    data?: TDatum[];
    categoryAccessor?: ChartAccessor<TDatum, string>;
    valueAccessor?: ChartAccessor<TDatum, number>;
    innerRadius?: number;
    centerContent?: React.ReactNode;
    colorBy?: ChartAccessor<TDatum, string>;
    colorScheme?: string | string[];
    startAngle?: number;
    /** Rounded corner radius on wedge arcs */
    cornerRadius?: number;
    enableHover?: boolean;
    showCategoryTicks?: boolean;
    showLegend?: boolean;
    legendInteraction?: LegendInteractionMode;
    legendPosition?: LegendPosition;
    tooltip?: TooltipProp;
    annotations?: Datum[];
    frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
}
/**
 * DonutChart - Pie chart with a hole; supports center content.
 *
 * Same data shape as {@link PieChart}, but the inner radius leaves room
 * for a value, label, or icon at the center via `centerContent`. Useful
 * when the headline number is the total or a key fraction.
 *
 * @example
 * ```tsx
 * // Donut with the total in the center
 * <DonutChart
 *   data={[
 *     { region: "EMEA", revenue: 120 },
 *     { region: "Americas", revenue: 85 },
 *     { region: "APAC", revenue: 60 },
 *   ]}
 *   categoryAccessor="region"
 *   valueAccessor="revenue"
 *   innerRadius={70}
 *   centerContent={<text fontSize={28}>$265</text>}
 * />
 * ```
 *
 * @example
 * ```tsx
 * // Thin ring with rounded wedges
 * <DonutChart
 *   data={data}
 *   categoryAccessor="region"
 *   valueAccessor="revenue"
 *   innerRadius={120}
 *   cornerRadius={4}
 *   showLegend
 * />
 * ```
 */
export declare const DonutChart: {
    <TDatum extends Datum = Datum>(props: DonutChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
    displayName?: string;
};
