/*
 * 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 { CanvasAnimation } from '../../../../../animation/canvas-animation';
import { CanvasBoundsContainer } from '../../../../../canvas/canvas-bounds-container';
import { FullChartConfig } from '../../../../../chart.config';
import EventBus from '../../../../../events/event-bus';
import { CanvasInputListenerComponent, Point } from '../../../../../inputlisteners/canvas-input-listener.component';
import { ScaleModel } from '../../../../../model/scale.model';
import { HitTestCanvasModel } from '../../../../../model/hit-test-canvas.model';
import { ChartPanComponent } from '../../../../../components/pan/chart-pan.component';
import { ChartAreaPanHandler, ChartPanningOptions } from '../../../../../components/chart/chart-area-pan.handler';
/**
 * SafariChartAreaPanHandler is a class that handles the panning and zooming of the chart area for Safari.
 */
export declare class SafariChartAreaPanHandler extends ChartAreaPanHandler {
    protected bus: EventBus;
    protected config: FullChartConfig;
    protected scale: ScaleModel;
    protected canvasInputListener: CanvasInputListenerComponent;
    protected canvasBoundsContainer: CanvasBoundsContainer;
    protected canvasAnimation: CanvasAnimation;
    protected chartPanComponent: ChartPanComponent;
    protected hitTestCanvasModel: HitTestCanvasModel;
    protected currentPoint: Point;
    xDraggedCandlesDelta: number;
    lastXStart: number;
    wheelThrottleTime: number;
    private wheelSubscription;
    private initFrameId;
    private isActivated;
    private lastWheelTime;
    private wheelCount;
    private consecutiveLowWheelEvents;
    chartPanningOptions: ChartPanningOptions;
    constructor(bus: EventBus, config: FullChartConfig, scale: ScaleModel, canvasInputListener: CanvasInputListenerComponent, canvasBoundsContainer: CanvasBoundsContainer, canvasAnimation: CanvasAnimation, chartPanComponent: ChartPanComponent, hitTestCanvasModel: HitTestCanvasModel);
    /**
     * This method is used to activate the zoom functionality of the canvas. It extends the doActivate method of the parent class.
     * @protected
     * @returns {void}
     */
    protected doActivate(): void;
    /**
     * Creates wheel subscription with optimized throttling
     */
    private createWheelSubscription;
    /**
     * Manual cleanup trigger for immediate performance recovery
     */
    triggerPerformanceCleanup(): void;
    protected doDeactivate(): void;
}
