import { _ModuleSupport } from 'ag-charts-community';
import { type DynamicContext, type NormalisedTextOrSegments, 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: NormalisedTextOrSegments;
    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<SunburstNode, _ModuleSupport.Sector<SunburstNode>, AgSunburstSeriesOptions, SunburstSeriesProperties> {
    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<SunburstNode, _ModuleSupport.Sector<SunburstNode>>;
    private readonly labelSelection;
    private readonly highlightSelection;
    constructor(moduleCtx: DynamicContext<_ModuleSupport.ChartRegistry>);
    processData(): void;
    updateSelections(): void;
    protected getItemStyle(nodeDatum: SunburstNode, isHighlight: boolean): Partial<AgSunburstSeriesOptions<any, unknown> & {
        fill: import("ag-charts-core").NormalisedColorType;
        fillOpacity: number;
        stroke: string;
        strokeWidth: number;
        strokeOpacity: number;
        lineDash: number[];
        lineDashOffset: number;
        opacity: number;
    }> & Required<AgSunburstSeriesStyle> & {
        opacity: number;
    } & Partial<AgSunburstSeriesOptions<any, unknown> & {
        fill: import("ag-charts-core").NormalisedColorType;
        fillOpacity: number;
        stroke: string;
        strokeWidth: number;
        strokeOpacity: number;
        lineDash: number[];
        lineDashOffset: number;
        opacity: number;
    }>;
    private makeItemStylerParams;
    updateNodes(): void;
    getTooltipContent(datumIndex: _ModuleSupport.DatumIndex): _ModuleSupport.TooltipContent | undefined;
    createNodeData(): undefined;
    protected pickNodeClosestDatum(point: Point): _ModuleSupport.SeriesNodePickMatch | undefined;
    protected pickNodesInBBoxPredicate(): import("packages/ag-charts-community/dist/types/src/chart/series/series").PickNodesInBBoxPredicate;
    protected animateEmptyUpdateReady(): void;
    protected computeFocusBounds(node: _ModuleSupport.Sector): _ModuleSupport.Path | undefined;
    protected hasItemStylers(): boolean;
}
export {};
