import { type TextOrSegments, _ModuleSupport } from 'ag-charts-community';
import { type Point } from 'ag-charts-core';
import type { AgSunburstSeriesOptions, AgSunburstSeriesStyle, FontStyle, FontWeight } from 'ag-charts-types';
import { SunburstSeriesProperties } from './sunburstSeriesProperties';
declare class SunburstNode extends _ModuleSupport.HierarchyNode<SunburstNode> {
    label: LabelLayout | undefined;
    secondaryLabel: LabelLayout | undefined;
    contentHeight: number;
    bbox: _ModuleSupport.BBox | undefined;
    startAngle: number;
    endAngle: number;
}
interface LabelLayout {
    text: TextOrSegments;
    fontSize: number;
    lineHeight: number;
    fontStyle: FontStyle;
    fontFamily: string;
    fontWeight: FontWeight;
    color: string;
    labelPlacement: LabelPlacement;
    circleQuarter: number;
    radius: number;
    theta: number;
    width: number;
    height: number;
}
declare enum LabelPlacement {
    CenterCircle = 0,
    Parallel = 1,
    Perpendicular = 2
}
export declare class SunburstSeries extends _ModuleSupport.HierarchySeries<_ModuleSupport.Sector, AgSunburstSeriesOptions, SunburstSeriesProperties, SunburstNode> {
    static readonly className = "SunburstSeries";
    static readonly type: "sunburst";
    NodeClass: typeof SunburstNode;
    properties: SunburstSeriesProperties;
    private readonly scalingGroup;
    private readonly sectorGroup;
    private readonly highlightSectorGroup;
    private readonly sectorLabelGroup;
    readonly datumSelection: _ModuleSupport.Selection<_ModuleSupport.Sector<any>, SunburstNode>;
    private readonly labelSelection;
    private readonly highlightSelection;
    constructor(moduleCtx: _ModuleSupport.ModuleContext);
    processData(): void;
    updateSelections(): void;
    protected getItemStyle(nodeDatum: SunburstNode, isHighlight: boolean): Partial<AgSunburstSeriesOptions<any, unknown> & {
        fill: import("ag-charts-community").AgColorType;
        fillOpacity: number;
        stroke: string;
        strokeWidth: number;
        strokeOpacity: number;
        lineDash: number[];
        lineDashOffset: number;
        opacity: number;
    }> & Required<AgSunburstSeriesStyle> & {
        opacity: number;
    };
    private makeItemStylerParams;
    updateNodes(): void;
    getTooltipContent(datumIndex: number[]): _ModuleSupport.TooltipContent | undefined;
    createNodeData(): undefined;
    protected pickNodeClosestDatum(point: Point): _ModuleSupport.SeriesNodePickMatch | undefined;
    protected animateEmptyUpdateReady(): void;
    protected computeFocusBounds(node: _ModuleSupport.Sector): _ModuleSupport.Path | undefined;
    protected hasItemStylers(): boolean;
}
export {};
