/** Renders pie/donut slices from parallel `data`+`labels` arrays; not a substitute for ApexPolarCharts, whose wedges vary by radius, not arc share. */ export type ApexPieChartProps = { /** Visual preset. Defaults to "pie"; variants containing "pie" draw a full pie, the others a donut. */ variant?: DonutPieVariant; /** Slice values, one per label; data labels show each slice's share as a percent, tooltips the raw value. */ data: number[]; /** Must be the same length and order as `data` — index i labels index i; a mismatched length misaligns slices silently, no warning. */ labels: string[]; /** Heading above the chart, aligned by `titlePosition`. */ title?: string; /** Chart height as a px number or CSS string. Defaults to 400; under 240 it hides auto-placed data labels. */ height?: number | string; /** Chart width as a px number or CSS string. Defaults to 500; also sizes the loading skeleton. */ width?: number | string; /** Slice colours in order. Defaults to the theme's categorical palette; overridden by `chartColor`. */ donutColors?: string[]; /** Wins over `donutColors` when both are set — donutColors is then silently ignored, not merged with it. */ chartColor?: string[]; /** Horizontal alignment of the title. Defaults to "center". */ titlePosition?: "left" | "center" | "right"; /** Title colour and font; defaults to 14px, weight 600 and the theme's text ink. */ titleStyle?: { color?: string; fontSize?: string; fontWeight?: number | string; fontFamily?: string; }; /** Legend placement. Defaults to "bottom"; an invalid value logs a console warning and falls back to it. */ legendPosition?: "left" | "right" | "top" | "bottom"; /** True alone doesn't guarantee labels — with the default labelPlacement="auto", a numeric height under 240 forces them off, no warning. */ showDataLabels?: boolean; /** Slices below this render an empty-string label, not a hidden one — text silently vanishes on small slices even with showDataLabels true. */ minLabelPercent?: number; /** Colour of the gap stroke between slices and of pattern backdrops. Defaults to the theme's main background. */ surfaceColor?: string; /** Donut hole size as a CSS percent string. Defaults to "68%"; no effect on pie variants. */ donutSize?: string; /** Caption under the centre total. Defaults to "Total"; shown only for `variant="update-donut"`. */ totalLabel?: string; /** Where data labels sit. "auto" (default) means outside at height 240+ or non-numeric height, none below. */ labelPlacement?: "auto" | "inside" | "outside" | "none"; /** Only for `variant="pie-with-image"`: one image source per slice (the first repeats past the end). Omitted, each slice gets a themed striped texture in its own colour. */ images?: string[]; /** Legend overrides (label colours, gaps, marker size and offsets); unset fields keep the themed defaults. */ legendStyle?: { colors?: string | string[]; useSeriesColors?: boolean; horizontalGap?: number; verticalGap?: number; markerSize?: number; markerOffsetX?: number; markerOffsetY?: number; }; }; /** Visual preset for the pie/donut fill; "pie-with-image" fills slices from the `images` prop, or from inline striped textures when it is omitted. */ export type DonutPieVariant = "pie" | "donut" | "update-donut" | "monochrome-pie" | "gradient-donut" | "semi-donut" | "donut-with-pattern" | "pie-with-image";