import type { AxisID, BoxBounds, DynamicContext } from 'ag-charts-core'; import type { ChartRegistry } from '../../module/moduleContext'; import type { AxisWidget } from '../../widget/axisWidget'; import type { BoundedTextWidget } from '../../widget/boundedTextWidget'; import { type Widget } from '../../widget/widget'; import { DragInterpreter } from './dragInterpreter'; type AxisInteraction = { widget: AxisWidget; dragInterpreter: DragInterpreter; }; /** * Owns the per-axis proxy widgets exposed on the `widgets` service: the interaction region * (`AxisWidget`) and the axis title text (`BoundedTextWidget`). The title exists whenever the axis * has a caption; the region only while an interaction feature (zoom / scrollbar / context-menu) * requests one. When both are present the title is a descendant of the region so it is not occluded * by it; otherwise the title is attached standalone next to the series area, exactly as before. * * Lives in this file (rather than its own module) to avoid a circular dependency: `WidgetSet` needs * to construct it, but the `DynamicContext` type it depends on resolves back through * `WidgetSet`. */ export declare class AxisWidgets { private readonly ctx; private static readonly TITLE_ID_SUFFIX; private readonly entries; constructor(ctx: DynamicContext); /** The axis title text widget, created on first request. Callers configure content/bounds/listeners. */ acquireTitle(axisId: AxisID): BoundedTextWidget; releaseTitle(axisId: AxisID): void; /** The axis interaction region, created on first request. Callers set bounds/pointer-events/listeners. */ acquireRegion(axisId: AxisID): AxisInteraction; releaseRegion(axisId: AxisID): void; setRegionBounds(axisId: AxisID, bounds: BoxBounds): void; setTitleBounds(axisId: AxisID, bounds: BoxBounds): void; destroy(): void; private applyTitleBounds; private titleId; private getEntry; private nestTitle; private unnestTitle; private pruneEntry; } export declare class WidgetSet { readonly seriesWidget: Widget; readonly chartWidget: Widget; readonly containerWidget: Widget; readonly seriesDragInterpreter?: DragInterpreter; readonly axisWidgets: AxisWidgets; constructor(ctx: DynamicContext, opts: { withDragInterpretation: boolean; }); destroy(): void; } export {};