/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { BaseCameraPointersInput, PointerTouch, Nullable } from '../../loader/babylonjs-import';
import { PivotTargetCamera as Camera } from '../PivotTargetCamera';
import { CameraOptions } from '../ViewerCamera';
/**
 * Manages the touch inputs to control the movement of a PivotTargetCamera.
 * @see http://doc.babylonjs.com/how_to/customizing_camera_inputs
 */
export declare class TwinfinityCameraTouchInput extends BaseCameraPointersInput {
    private readonly _cameraOptions;
    private static _tmp;
    /** Factor to multiply normalized screen coordinates with in order to calcualte number of
     *  radians a screen coordinate (deltaX, deltaY) movement represents. Normalized screen
     *  coordinates are [-1, 1]
     */
    private static readonly _normalizedScreenCoordinatesToRadians;
    private readonly _multiTouchPanCanvasCoordinate;
    private readonly _multiTouchZoomCanvasCoordinate;
    private _pinchDelta;
    private _lastPointerEventType;
    private _currentDirection;
    private _previousNormalizedPinchDistance;
    private _startNormalizedPinchDistance;
    private _pinchOperation;
    private _pinchOperations;
    private _pointers;
    /**
     * Defines the camera the input is attached to.
     */
    camera: Camera;
    constructor(_cameraOptions: CameraOptions);
    getPointers(pointers: PointerTouch[]): PointerTouch[];
    /**
     * Get the friendly name associated with the input class.
     * @returns the input friendly name
     */
    getSimpleName(): string;
    onButtonDown(evt: PointerEvent): void;
    onButtonUp(evt: PointerEvent): void;
    onTouch(point: Nullable<PointerTouch>, offsetX: number, offsetY: number): void;
    onDoubleTap(type: string): void;
    onMultiTouch(pointA: Nullable<PointerTouch>, pointB: Nullable<PointerTouch>, previousPinchSquaredDistance: number, pinchSquaredDistance: number, previousMultiTouchPanPosition: Nullable<PointerTouch>, multiTouchPanPosition: Nullable<PointerTouch>): void;
    checkInputs(): void;
    /**
     * Gets the class name of the current input.
     * @returns the class name
     */
    getClassName(): string;
    onLostFocus(): void;
    private resetPinchOperation;
    private calculateNormalizedPinchDistance;
}
//# sourceMappingURL=TwinfinityCameraTouchInput.d.ts.map