import Camera from "../camera/camera";
import Object2D from "../object2d";
import Controls from "./controls";
export default class TouchControls extends Controls {
    anchor: Touch;
    /**
     * Creates a {@link TouchControls} instance and sets up it's event handlers.
     *
     * @param element The element to use when handling control events
     * @param camera The camera to control
     * @param object An optional object to follow the camera's yaw
     * @param sensitivity Movement sensitivity
     */
    constructor(element: HTMLElement, camera: Camera, object?: Object2D, sensitivity?: number);
    /**
     * Finds the first touch targeting `this.element`.
     *
     * @param touches The list of touches to choose from
     * @returns The first touch targeting `this.element` or undefined
     */
    private findTouchTargetingElement;
    /**
     * Sets the anchor point to the first touch detected when anchor has not already been set.
     *
     * @param e The touch event
     */
    private touchStartHandler;
    /**
     * Calculates the difference in position from the last anchor and the current touch point.
     *
     * These values are then set in `movementX` and `movementY`.
     *
     * @param e The touch event
     */
    private touchMoveHandler;
    /**
     * Removes the touch anchor.
     *
     * @param e The touch event
     */
    private touchEndHandler;
    /**
     * Calculates the new camera direction from `movementX` and `movementY`.
     *
     * Called every tick.
     */
    update(): void;
    dispose(): void;
}
