import { ThemeType } from '../../types'; interface Slice { label: string; value: number; color?: string; } type __VLS_Props = { data: Slice[]; size?: number; /** Ring thickness as a fraction of radius (0–1). Ignored when `pie`. */ thickness?: number; pie?: boolean; legend?: boolean; /** Show the formatted amount column in the legend. Default true. */ legendValue?: boolean; /** Show the percentage column in the legend. Default true. */ legendPct?: boolean; /** Base tone for the slices. Drives the monochrome ramp in `shades` mode. */ color?: ThemeType | string; /** Coloring: `shades` = one tone, lightest→darkest (default, looks premium); `multi` = a different tone per slice. Per-slice `color` always wins. */ mode?: 'shades' | 'multi'; centerLabel?: string; centerValue?: number | string; /** Auto-fill center with the total when no centerValue given. */ showTotal?: boolean; currency?: string; /** On-slice labels. `false` (default) keeps the chart clean. `pct` = %, `value` = amount, `both` = value + %, `full` = name + value + %. Each piece is stacked: name (small), value (large), pct (smaller). Tiny slices are skipped. */ labels?: false | 'pct' | 'value' | 'both' | 'full'; /** Hide on-slice labels for slices below this share (0–1). Default 0.05. */ labelMinShare?: number; animated?: boolean; }; declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, { legend: boolean; size: number; color: ThemeType | string; mode: "shades" | "multi"; thickness: number; animated: boolean; labels: false | "pct" | "value" | "both" | "full"; legendValue: boolean; legendPct: boolean; showTotal: boolean; labelMinShare: number; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { el: HTMLDivElement; }, HTMLDivElement>; export default _default; //# sourceMappingURL=Donut.vue.d.ts.map