import type { Callback, CallbackParam, DynamicContext, IsAny, NormalisedTextOrSegments, Point } from 'ag-charts-core'; import { type NormalisedChartLabelStyleOptions } from 'ag-charts-core'; import type { HighlightState, PixelSize, SelectionState } from 'ag-charts-types'; import type { HighlightNodeDatum } from '../core/eventsHub'; import type { ChartRegistry } from '../module/moduleContext'; import type { Text } from '../scene/shape/text'; import type { Label } from './label'; import type { DatumIndex, SeriesNodeDatum } from './series/seriesTypes'; interface SeriesLike { id: string; ctx: DynamicContext; declarationOrder: number; readonly data?: { readonly dataIdKey?: string; }; get visible(): boolean; cachedCallWithContext(fn: F, params: CallbackParam): ReturnType | undefined; isSeriesHighlighted(highlightedDatum: HighlightNodeDatum | undefined): boolean; getHighlightStateString(datum: HighlightNodeDatum | undefined, isHighlight?: boolean, datumIndex?: DatumIndex): HighlightState; getSelectionStateString(datumIndex: DatumIndex | undefined): SelectionState | undefined; getCandidateStateString(datumIndex: DatumIndex | undefined): SelectionState | undefined; } type Bounds = { x: number; y: number; width: number; height: number; }; export type BarLabelPlacement = 'inside-center' | 'inside-start' | 'inside-end' | 'outside-start' | 'outside-end'; type LabelDatum = Point & { text: NormalisedTextOrSegments; textAlign: CanvasTextAlign; textBaseline: CanvasTextBaseline; }; export declare function getLabelStyles(series: SeriesLike, nodeDatum: SeriesNodeDatum | undefined, params: TParams, label: Label, isHighlight: boolean, activeHighlight: HighlightNodeDatum | undefined, labelPath?: string[]): NormalisedChartLabelStyleOptions & { fontSize: number; }; export declare function updateLabelNode(series: IsAny extends false ? SeriesLike : never, textNode: IsAny extends false ? Text : never, params: IsAny extends false ? TParams : never, label: IsAny extends false ? Label : never, labelDatum: D | undefined, highlight: { isHighlight: boolean; activeHighlight: HighlightNodeDatum | undefined; }, labelPath?: string[]): void; export declare function adjustLabelPlacement({ isUpward, isVertical, placement, spacing, rect, }: { placement: BarLabelPlacement; isUpward: boolean; isVertical: boolean; spacing?: PixelSize; rect: Bounds; }): Omit; export {};