import { ComponentFormatFunction } from '../i18n/context'; import { PieChartProps } from './interfaces'; export interface Dimension { innerRadius: number; outerRadius: number; padding: number; paddingLabels: number; innerLabelPadding: number; cornerRadius?: number; } export declare const minLabelLineAngularPadding: number; export declare const dimensionsBySize: Record, Dimension>; export declare const refreshDimensionsBySize: Record, Dimension>; /** * When `size` is a string ("small", "medium" or "large") the predefined pie chart element dimensions for classic and visual refresh are used. * When `size` is a number the outer and inner radii are computed and the rest of the dimensions are taken from the closest predefined size. */ export declare function getDimensionsBySize({ size, hasLabels, visualRefresh }: { size: NonNullable | number; hasLabels: boolean; visualRefresh?: boolean; }): Dimension & { size: NonNullable; }; export declare const defaultDetails: (i18n: ComponentFormatFunction<"pie-chart">, i18nStrings: PieChartProps.I18nStrings) => (datum: PieChartProps.Datum, dataSum: number) => ({ key: string; value: number; } | { key: string; value: string; })[]; /** * Adjusts the position of the given label nodes to avoid visual overlapping. * @param nodes List of label nodes of the entire chart (both left and right side) * @param markers Markers array that was calculated in , but we just need the `endY` values * @param leftSide Boolean flag whether we are processing the left or right side of the chart labels */ export declare const balanceLabelNodes: (nodes: NodeListOf, markers: Array<{ endY: number; endX: number; }>, leftSide: boolean, radius: number) => void; export declare const computeSmartAngle: (startAngle: number, endAngle: number, optimize?: boolean) => number;