import Point from '../../util/point';
declare class TwoTouchHandler {
    _enabled: boolean;
    _active: boolean;
    _firstTwoTouches: [number, number];
    _vector: Point;
    _startVector: Point;
    _aroundCenter: boolean;
    constructor();
    reset(): void;
    _start(points: [Point, Point]): void;
    _move(points: [Point, Point], pinchAround: Point, e: TouchEvent): {};
    touchstart(e: TouchEvent, points: Array<Point>, mapTouches: Array<Touch>): void;
    touchmove(e: TouchEvent, points: Array<Point>, mapTouches: Array<Touch>): {};
    touchend(e: TouchEvent, points: Array<Point>, mapTouches: Array<Touch>): void;
    touchcancel(): void;
    enable(options?: {
        around?: 'center';
    } | null): void;
    disable(): void;
    isEnabled(): boolean;
    isActive(): boolean;
}
export declare class TouchZoomHandler extends TwoTouchHandler {
    _distance: number;
    _startDistance: number;
    reset(): void;
    _start(points: [Point, Point]): void;
    _move(points: [Point, Point], pinchAround: Point): {
        zoomDelta: number;
        pinchAround: Point;
    };
}
export declare class TouchRotateHandler extends TwoTouchHandler {
    _minDiameter: number;
    reset(): void;
    _start(points: [Point, Point]): void;
    _move(points: [Point, Point], pinchAround: Point): {
        bearingDelta: number;
        pinchAround: Point;
    };
    _isBelowThreshold(vector: Point): boolean;
}
/**
 * The `TouchPitchHandler` allows the user to pitch the map by dragging up and down with two fingers.
 */
export declare class TouchPitchHandler extends TwoTouchHandler {
    _valid: boolean | void;
    _firstMove: number;
    _lastPoints: [Point, Point];
    reset(): void;
    _start(points: [Point, Point]): void;
    _move(points: [Point, Point], center: Point, e: TouchEvent): {
        pitchDelta: number;
    };
    gestureBeginsVertically(vectorA: Point, vectorB: Point, timeStamp: number): boolean | void;
}
export {};
//# sourceMappingURL=touch_zoom_rotate.d.ts.map