import { IBaseChartProps, IChartStackProps } from '../../interfaces';
import { PolarGridProps, RadialBarProps } from 'recharts';
/**
 * Props for the RadialChart component.
 *
 * By default the chart renders at a fixed size (`size` as a number, else
 * `height`, default 300px) — unchanged from before. Pass `size="100%"` (or
 * `"auto"`) to make it responsive: it then fills its container and scales the
 * arc and center text with the available space. In responsive mode, use
 * percentage radii (e.g. `innerRadius="70%"`, `outerRadius="100%"`) so the arc
 * scales with the container; pixel radii stay fixed.
 *
 * @template T - The type of data items
 */
export default interface IRadialChartProps<T> extends IBaseChartProps, IChartStackProps {
    /**
     * The data to be displayed in the chart
     */
    data: T[];
    /**
     * Controls how the chart is sized.
     *
     * - `"100%"` / `"auto"` — responsive: the chart fills its container and the
     *   arc fits `min(width, height)`, scaling with the available space.
     * - a number — a fixed square of that many pixels.
     * - omitted — fixed, falling back to `height` (default 300px). Backward
     *   compatible with existing consumers.
     */
    size?: number | '100%' | 'auto';
    /**
     * Inner radius of the radial bars, as a pixel value or percentage string.
     * In responsive mode use a percentage (e.g. `"70%"`) so the arc scales with
     * the container; a pixel value stays fixed.
     */
    innerRadius?: number | string;
    /**
     * Outer radius of the radial bars, as a pixel value or percentage string.
     * In responsive mode use a percentage (e.g. `"100%"`) so the arc scales with
     * the container; a pixel value stays fixed.
     */
    outerRadius?: number | string;
    /**
     * Starting angle (in degrees) of the radial chart
     */
    startAngle?: number;
    /**
     * Ending angle (in degrees) of the radial chart
     */
    endAngle?: number;
    /**
     * Whether to reverse the rendering order of stacked series
     */
    reverseStackOrder?: boolean;
    /**
     * Custom radial label
     */
    customRadialLabel?: {
        /**
         * Data key to use for custom labels
         */
        dataKey: string;
    };
    /**
     * Props for the polar grid
     */
    polarGridProps?: PolarGridProps;
    /**
     * Props for the radial bar
     */
    radialBarProps?: Omit<RadialBarProps, 'dataKey' | 'fill' | 'stackId' | 'ref'>;
    /**
     * Title to display in the center of the pie chart
     */
    centerTitle?: string | number;
    /**
     * Subtitle to display in the center of the pie chart
     */
    centerSub?: string | number;
}
