import { _ModuleSupport } from 'ag-charts-community';
import type { CleanupRegistry, NormalisedZoomAutoScaling, ReactiveState } from 'ag-charts-core';
import { ChartAxisDirection } from 'ag-charts-core';
export interface ZoomAutoScalerCtx {
    readonly zoomManager: _ModuleSupport.ZoomManager;
    readonly eventsHub: _ModuleSupport.EventsHub;
    readonly chartState: ReactiveState<_ModuleSupport.ChartState>;
    readonly cleanup: CleanupRegistry;
    readonly opts: {
        readonly enabled: boolean;
        readonly enableIndependentAxes?: boolean;
        readonly autoScaling: NormalisedZoomAutoScaling;
    };
}
export declare class ZoomAutoScaler {
    private readonly ctx;
    constructor(ctx: ZoomAutoScalerCtx);
    private get zoomManager();
    private get autoScalingOpts();
    private manuallyAdjusted;
    get enabled(): boolean;
    onManualAdjustment(direction: ChartAxisDirection): void;
    private onChangeRequest;
    private hasYAxisChange;
    private onSaveMemento;
    private onLoadMemento;
    private getAutoScaleYZoom;
    private autoScaleYZoom;
    private zoomBounds;
    private primaryAxisZoom;
    private combinedAxisZoom;
}
