import { type AgZoomAnchorPoint, _ModuleSupport } from 'ag-charts-community';
import type { AxisID, CartesianAxisDirection, DefinedZoomState, DynamicContext, ZoomMinMax } from 'ag-charts-core';
import { BaseProperties, PropertiesArray } from 'ag-charts-core';
import { ToolbarButtonProperties } from '../toolbar/buttonProperties';
import type { ZoomProperties } from './zoomTypes';
declare class ZoomButtonProperties extends ToolbarButtonProperties {
    value: 'reset' | 'zoom-in' | 'zoom-out' | 'pan-left' | 'pan-right' | 'pan-start' | 'pan-end';
    section: string;
}
type ZoomButtonsVisible = 'always' | 'zoomed' | 'hover';
export declare class ZoomToolbar extends BaseProperties {
    private readonly ctx;
    private readonly getModuleProperties;
    private readonly updateZoom;
    private readonly updateAxisZoom;
    private readonly resetZoom;
    private readonly isZoomValid;
    enabled: boolean;
    buttons: PropertiesArray<ZoomButtonProperties>;
    visible: ZoomButtonsVisible;
    anchorPointX?: AgZoomAnchorPoint;
    anchorPointY?: AgZoomAnchorPoint;
    private readonly verticalSpacing;
    private readonly detectionRange;
    private readonly container;
    private readonly toolbar;
    private readonly cleanup;
    private previousZoom?;
    private cachedContainerHeight;
    private cachedButtonCount;
    private lastBottomY;
    constructor(ctx: DynamicContext<_ModuleSupport.ChartRegistry>, getModuleProperties: () => ZoomProperties, updateZoom: (sourcing: _ModuleSupport.UpdateZoomSourcing, zoom: DefinedZoomState) => void, updateAxisZoom: (sourcing: _ModuleSupport.UpdateZoomSourcing, axisId: AxisID, direction: CartesianAxisDirection, partialZoom: ZoomMinMax | undefined) => void, resetZoom: (sourceDetail: _ModuleSupport.ZoomEventSourceDetail) => void, isZoomValid: (zoom: DefinedZoomState) => boolean);
    destroy(): void;
    toggleVisibleZoomed(maxZoom: boolean): void;
    private teardown;
    private onLayoutComplete;
    private getContainerHeight;
    private onHover;
    private onLeave;
    private toggleVisibility;
    private readonly toggleButtonsDebounced;
    private toggleButtons;
    private onButtonPress;
    private onButtonFocus;
    private onButtonPressAxis;
    private onButtonPressUnified;
    private getNextZoomStateUnified;
    private getAnchorPointX;
    private getAnchorPointY;
}
export {};
