/**
 * @module viw-webgl-viewer/camera
 */
import { CameraMovement } from './cameraMovement';
import { Element3D } from '../../loader/element3d';
import * as THREE from 'three';
export declare class CameraMovementSnap extends CameraMovement {
    /**
     * Moves the camera closer or farther away from orbit target.
     * @param amount movement size.
     */
    zoom(amount: number): void;
    setDistance(dist: number): void;
    rotate(angle: THREE.Vector2): void;
    applyRotation(quaternion: THREE.Quaternion): void;
    target(target: Element3D | THREE.Vector3): Promise<void>;
    orbit(angle: THREE.Vector2): void;
    move3(vector: THREE.Vector3): void;
    set(position: THREE.Vector3, target?: THREE.Vector3): void;
    private lockVector;
    predictOrbit(angle: THREE.Vector2): THREE.Vector3;
    predictRotate(angle: THREE.Vector2): THREE.Quaternion;
}
