import { ArcProps, Chart, ChartDataset, ChartMeta } from 'chart.js'; export interface ChartItem { value?: number; label?: string; } export interface OuterLabelsConfig { offset?: number; padding?: number; fontNormalColor?: string; fontNormalSize?: number; fontNormalFamily?: string; fontBoldColor?: string; fontBoldSize?: number; fontBoldFamily?: string; fontNormalStyle?: string; fontBoldStyle?: string; twoLines?: boolean; debug?: boolean; formatter?: (item: ChartItem) => string; } interface Point { x: number; y: number; angle: number; segmentAngle?: number; index?: number; taken?: boolean; label?: string; middle?: boolean; } declare module 'chart.js' { interface Chart { outerLabels: OuterLabels; } interface PluginOptionsByType { outerLabels?: OuterLabelsConfig | false; } } declare class OuterLabels { private chart; private config; private ctx; private meta; private points; private model; init(chartInstance: Chart): void; configure(override: OuterLabelsConfig): void; resolveDataset(): void; generatePoints(view: ArcProps): void; intersectCircleLine(circle: any, line: any): any; resolve(dataset: ChartDataset<'doughnut'>, meta: ChartMeta): any[]; getAngle(origin: any, point: any): number; drawLabels(): void; drawDoubleLine(view: ArcProps, point: Point): void; drawSingleLine(view: ArcProps, point: Point): void; closest(arr: any, goal: any): any; radians(degrees: any): number; degrees(radians: any): number; } export {};