import { ComponentOptionsMixin } from 'vue'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { Plugin as Plugin_2 } from 'vue'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; declare type __VLS_NonUndefinedable = T extends undefined ? never : T; declare type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; declare type __VLS_TypePropsToOption = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable>; } : { type: PropType; required: true; }; }; declare type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; declare type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; }; export declare interface DonutChartEmits { (e: 'section-click', section: DonutSection, event: MouseEvent): void; (e: 'section-mouseenter', section: DonutSection, event: MouseEvent): void; (e: 'section-mouseleave', section: DonutSection, event: MouseEvent): void; (e: 'section-mouseover', section: DonutSection, event: MouseEvent): void; (e: 'section-mouseout', section: DonutSection, event: MouseEvent): void; (e: 'section-mousemove', section: DonutSection, event: MouseEvent): void; } export declare interface DonutChartProps { /** diameter of the donut */ size?: number; /** unit to use for `size` */ unit?: string; /** percent value for the donut ring's thickness */ thickness?: number; /** text in the middle of the donut */ text?: string; /** auto adjust text size based on donut size */ autoAdjustTextSize?: boolean; /** * color to use for the middle of the donut * either set this to `transparent` or set `thickness` to 100 to make a pie chart */ background?: string; /** color to use for the empty ring areas */ foreground?: string; /** sections of the donut */ sections?: DonutSection[]; /** total value of all sections */ total?: number; /** show legend */ hasLegend?: boolean; /** legend placement */ legendPlacement?: 'top' | 'right' | 'bottom' | 'left'; /** degree angle at which the first section begins */ startAngle?: number; /** suppress validation warnings */ suppressValidationWarnings?: boolean; } declare const DonutPlugin: Plugin_2; export default DonutPlugin; export declare interface DonutSection { /** The value of the section. Actual size is determined based on this value relative to the `total`. */ value: number; /** The label to display in the legend. */ label?: string; /** The color of the section. */ color?: string; /** Identifier for the section. Useful for identifying sections in events. */ ident?: unknown; } export declare const VcDonut: __VLS_WithTemplateSlots, { size: number; unit: string; thickness: number; text: string; autoAdjustTextSize: boolean; background: string; foreground: string; sections: () => never[]; total: number; hasLegend: boolean; legendPlacement: string; startAngle: number; suppressValidationWarnings: boolean; }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { "section-click": (section: DonutSection, event: MouseEvent) => void; "section-mouseenter": (section: DonutSection, event: MouseEvent) => void; "section-mouseleave": (section: DonutSection, event: MouseEvent) => void; "section-mouseover": (section: DonutSection, event: MouseEvent) => void; "section-mouseout": (section: DonutSection, event: MouseEvent) => void; "section-mousemove": (section: DonutSection, event: MouseEvent) => void; }, string, PublicProps, Readonly, { size: number; unit: string; thickness: number; text: string; autoAdjustTextSize: boolean; background: string; foreground: string; sections: () => never[]; total: number; hasLegend: boolean; legendPlacement: string; startAngle: number; suppressValidationWarnings: boolean; }>>> & { "onSection-click"?: ((section: DonutSection, event: MouseEvent) => any) | undefined; "onSection-mouseenter"?: ((section: DonutSection, event: MouseEvent) => any) | undefined; "onSection-mouseleave"?: ((section: DonutSection, event: MouseEvent) => any) | undefined; "onSection-mouseover"?: ((section: DonutSection, event: MouseEvent) => any) | undefined; "onSection-mouseout"?: ((section: DonutSection, event: MouseEvent) => any) | undefined; "onSection-mousemove"?: ((section: DonutSection, event: MouseEvent) => any) | undefined; }, { sections: DonutSection[]; startAngle: number; total: number; text: string; size: number; unit: string; thickness: number; autoAdjustTextSize: boolean; background: string; foreground: string; hasLegend: boolean; legendPlacement: "top" | "right" | "bottom" | "left"; suppressValidationWarnings: boolean; }, {}>, { default?(_: {}): any; legend?(_: {}): any; }>; export { }