/*
 * Copyright (C) 2019 - 2026 Devexperts Solutions IE Limited
 * This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
 * If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */
import { Subject } from 'rxjs';
import { CanvasBoundsContainer, HitBoundsTest } from '../../canvas/canvas-bounds-container';
import { YAxisConfig } from '../../chart.config';
import EventBus from '../../events/event-bus';
import { ChartBaseElement } from '../../model/chart-base-element';
import { CanvasInputListenerComponent } from '../../inputlisteners/canvas-input-listener.component';
import { Pixel, Unit } from '../../model/scaling/viewport.model';
import { ChartPanComponent } from '../pan/chart-pan.component';
import { ScaleModel } from '../../model/scale.model';
import { HitTestCanvasModel } from '../../model/hit-test-canvas.model';
/**
 * Handles the mouse drag on Y axis - to zoom the viewport vertically.
 * @doc-tags scaling,zoom,viewport
 */
export declare class YAxisScaleHandler extends ChartBaseElement {
    private bus;
    private config;
    private scale;
    private canvasInputListener;
    private bounds;
    private hitTest;
    private hitTestCanvasModel;
    yAxisDragEndSubject: Subject<void>;
    lastYStart: Unit;
    lastYEnd: Unit;
    lastYHeight: Unit;
    lastYPxHeight: Pixel;
    private dragNDropYComponent;
    private dblClickCallback;
    private touches;
    private dblTapCallback;
    constructor(bus: EventBus, config: YAxisConfig, panning: ChartPanComponent, scale: ScaleModel, canvasInputListener: CanvasInputListenerComponent, bounds: CanvasBoundsContainer, hitTest: HitBoundsTest, hitTestCanvasModel: HitTestCanvasModel);
    isDragging(): boolean;
    protected doActivate(): void;
    private onYDragStart;
    private onYDragTick;
    private onYDragEnd;
    setDblTapCallback: (cb: () => void) => () => void;
    setDblClickCallback: (cb: () => void) => () => void;
}
