import type { BoxBounds, DefinedZoomState, ZoomState } from 'ag-charts-core';
import type { ZoomRect } from './scenes/zoomRect';
import type { ZoomProperties } from './zoomTypes';
export declare class ZoomSelector {
    private readonly rect;
    private readonly getZoom;
    private readonly isZoomValid;
    private coords?;
    constructor(rect: ZoomRect, getZoom: () => DefinedZoomState, isZoomValid: (zoom: DefinedZoomState) => boolean);
    update(event: {
        currentX: number;
        currentY: number;
    }, props: ZoomProperties, bbox?: BoxBounds): void;
    stop(innerBBox?: BoxBounds, bbox?: BoxBounds, currentZoom?: ZoomState): DefinedZoomState | undefined;
    reset(): void;
    didUpdate(): boolean;
    private updateCoords;
    private updateRect;
    private createZoomFromCoords;
    private getNormalisedDimensions;
}
