import { _ModuleSupport, _Widget } from 'ag-charts-community';
import { type AxisID, type BaseStyleTypeMap, ChartAxisDirection } from 'ag-charts-core';
type AxisHit = {
    axisId: AxisID;
    direction: ChartAxisDirection;
};
type AxesHandlers = {
    onAxisDragStart: (direction: ChartAxisDirection) => void;
    onAxisDragMove: (id: AxisID, direction: ChartAxisDirection, event: _Widget.DragWidgetEvent<'drag-move'>) => void;
    onAxisDragEnd: () => void;
    onAxisDoubleClick: (id: AxisID, direction: ChartAxisDirection) => void;
    onAxisWheel: (direction: ChartAxisDirection, event: _ModuleSupport.WheelWidgetEvent) => void;
};
export declare class ZoomDOMProxy {
    private readonly axesHandlers;
    private axes;
    private cursor;
    private readonly overlappingAxisIds;
    private hoveredAxisId;
    private activeAxisId;
    private seriesRect;
    constructor(axesHandlers: AxesHandlers);
    destroy(): void;
    update(enabled: boolean, enableAxisDragging: boolean, enableAxisScrolling: boolean, ctx: _ModuleSupport.ModuleContext, seriesRect?: _ModuleSupport.BBox): void;
    setAxisCursor(cursor: BaseStyleTypeMap['cursor'] | undefined): void;
    toggleAxisDraggingCursor(direction: ChartAxisDirection, enabled: boolean): void;
    private updateOverlappingAxisPointerEvents;
    private cleanupAxisState;
    pickAxisAtPoint(point: {
        canvasX: number;
        canvasY: number;
    }): AxisHit | undefined;
    setHoveredAxis(axisId: string): void;
    clearHoveredAxis(): void;
    beginDelegatedAxisDrag(axisId: string): boolean;
    endDelegatedAxisDrag(axisId: string): void;
    hasOverlappingAxes(): boolean;
    getHoveredAxis(): AxisHit | undefined;
    getCursor(direction: ChartAxisDirection): "pointer" | "default" | "ew-resize" | "ns-resize" | "grab" | "grabbing";
    private initAxis;
    private diffAxisIds;
}
export {};
