import { type TextAlign, type VerticalAlign, _ModuleSupport } from 'ag-charts-community';
import type { RadialGaugeNeedle } from './radialGaugeNeedle';
import { type RadialGaugeLabelDatum } from './radialGaugeSeriesProperties';
type AnimatableSectorDatum = {
    itemId: string;
    innerRadius: number;
    outerRadius: number;
    startAngle: number;
    endAngle: number;
    clipStartAngle?: number;
    clipEndAngle?: number;
};
type SectorAnimation = {
    startAngle: number;
    endAngle: number;
    clipSector: _ModuleSupport.SectorBox | undefined;
};
type AnimatableNeedleDatum = {
    radius: number;
    angle: number;
};
type NeedleAnimation = {
    rotation: number;
};
interface Ctx {
    chartService: {
        context?: unknown;
    };
}
export declare function prepareRadialGaugeSeriesAnimationFunctions(initialLoad: boolean, initialStartAngle: number): {
    node: _ModuleSupport.FromToFns<AnimatableSectorDatum, _ModuleSupport.Sector<AnimatableSectorDatum>, SectorAnimation>;
    needle: _ModuleSupport.FromToFns<AnimatableNeedleDatum, RadialGaugeNeedle, NeedleAnimation>;
};
export declare function resetRadialGaugeSeriesResetSectorFunction(_node: _ModuleSupport.Sector, datum: AnimatableSectorDatum): {
    startAngle: number;
    endAngle: number;
    clipSector: _ModuleSupport.SectorBox | undefined;
    visible: boolean;
};
export declare function resetRadialGaugeSeriesResetNeedleFunction(_node: RadialGaugeNeedle, datum: AnimatableNeedleDatum): {
    rotation: number;
};
export declare function formatRadialGaugeLabels(series: _ModuleSupport.Series<_ModuleSupport.DatumIndexType, any, object, any>, ctx: Ctx, selection: _ModuleSupport.Selection<RadialGaugeLabelDatum, _ModuleSupport.Text<RadialGaugeLabelDatum>>, opts: {
    padding: number;
    textAlign: TextAlign;
    verticalAlign: VerticalAlign;
}, innerRadius: number, datumOverrides?: {
    label: number | undefined;
    secondaryLabel: number | undefined;
}): void;
export {};
