import { type AgRadialBarSeriesOptions, type AgRadialSeriesStyle, type SelectionState, _ModuleSupport } from 'ag-charts-community';
import { ChartAxisDirection, type DomainWithMetadata, type DynamicContext, type NormalisedTextOrSegments, type Point } from 'ag-charts-core';
import { type RadialSeriesStyleResult } from '../util/radialUtil';
import { RadialBarSeriesProperties } from './radialBarSeriesProperties';
declare class RadialBarSeriesNodeEvent<TEvent extends string = _ModuleSupport.SeriesNodeEventTypes> extends _ModuleSupport.SeriesNodeEvent<RadialBarNodeDatum, TEvent> {
    readonly angleKey?: string;
    readonly radiusKey?: string;
    constructor(type: TEvent, nativeEvent: Event, datum: RadialBarNodeDatum, series: RadialBarSeries, selectionState: SelectionState | undefined);
}
interface RadialBarLabelNodeDatum {
    text: NormalisedTextOrSegments;
    x: number;
    y: number;
    textAlign: CanvasTextAlign;
    textBaseline: CanvasTextBaseline;
}
interface RadialBarNodeDatum extends _ModuleSupport.DataModelSeriesNodeDatum {
    readonly label?: RadialBarLabelNodeDatum;
    readonly angleValue: any;
    readonly radiusValue: any;
    readonly innerRadius: number;
    readonly outerRadius: number;
    readonly startAngle: number;
    readonly endAngle: number;
    readonly clipSector: _ModuleSupport.SectorBox;
    readonly reversed: boolean;
    readonly index: number;
    style?: Required<AgRadialSeriesStyle>;
}
export interface RadialBarSeriesNodeDataContext extends _ModuleSupport.DataModelSeriesNodeDataContext<RadialBarNodeDatum, RadialBarNodeDatum> {
    styles: _ModuleSupport.SeriesNodeStyleContext<Required<AgRadialSeriesStyle>>;
}
export declare class RadialBarSeries extends _ModuleSupport.PolarSeries<RadialBarNodeDatum, AgRadialBarSeriesOptions, RadialBarSeriesProperties<AgRadialBarSeriesOptions>, _ModuleSupport.Sector<RadialBarNodeDatum>, RadialBarNodeDatum, RadialBarSeriesNodeDataContext> {
    static readonly className = "RadialBarSeries";
    static readonly type: "radial-bar";
    properties: RadialBarSeriesProperties<AgRadialBarSeriesOptions<any, unknown>>;
    protected readonly NodeEvent: typeof RadialBarSeriesNodeEvent;
    private readonly groupScale;
    private contextNodeData?;
    constructor(moduleCtx: DynamicContext<_ModuleSupport.ChartRegistry>);
    protected nodeFactory(): _ModuleSupport.Sector<RadialBarNodeDatum>;
    getSeriesDomain(direction: ChartAxisDirection): DomainWithMetadata<any>;
    processData(dataController: _ModuleSupport.DataController): Promise<void>;
    protected circleCache: {
        r: number;
        cx: number;
        cy: number;
    };
    protected didCircleChange(): boolean;
    protected maybeRefreshNodeData(): void;
    protected getAxisInnerRadius(): number;
    createNodeData(): {
        itemId: string;
        nodeData: RadialBarNodeDatum[];
        labelData: RadialBarNodeDatum[];
        styles: Record<_ModuleSupport.HighlightState, RadialSeriesStyleResult>;
    } | undefined;
    update({ seriesRect }: {
        seriesRect?: _ModuleSupport.BBox;
    }): void;
    protected updateSectorSelection(selection: _ModuleSupport.Selection<RadialBarNodeDatum, _ModuleSupport.Sector<RadialBarNodeDatum>>, isHighlight: boolean): void;
    protected updateLabels(): void;
    private getBarTransitionFunctions;
    protected animateEmptyUpdateReady(): void;
    animateClearingUpdateEmpty(): void;
    getTooltipContent(datumIndex: number): _ModuleSupport.TooltipContent | undefined;
    protected pickNodeClosestDatum(point: Point): _ModuleSupport.SeriesNodePickMatch | undefined;
    protected pickNodesInBBoxPredicate(): import("packages/ag-charts-community/dist/types/src/chart/series/series").PickNodesInBBoxPredicate;
    private legendItemSymbol;
    getLegendData(legendType: _ModuleSupport.ChartLegendType): _ModuleSupport.CategoryLegendDatum[];
    getDatumId(datum: RadialBarNodeDatum): number;
    computeLabelsBBox(): null;
    protected getStackId(): string;
    protected hasItemStylers(): boolean;
}
export {};
