export default class CameraManager {
    constructor(engine: any, cameraOptions: any);
    engine: any;
    sceneCenter: THREE.Vector3;
    camera: THREE.PerspectiveCamera;
    baseZoom: any;
    isFirstRender: boolean;
    update(cameraOptions: any): void;
    /**
     *
     * @param instances
     */
    zoomTo(instances: any): void;
    /**
     *
     * @param initalFlip
     */
    flipCamera(initialFlip: any): void;
    /**
     * Reinitializes the camera with the Y axis flipped
     */
    flipCameraY(): void;
    /**
     * Reinitializes the camera with the Z axis flipped
     */
    flipCameraZ(): void;
    /**
     *
     * @param instances
     * @param zoomParameters
     * @returns {*}
     */
    zoomIterator(instances: any, zoomParameters: any): any;
    /**
     *
     * @param mesh
     * @param zoomParameters
     * @returns {*}
     */
    addMeshToZoomParameters(mesh: any, zoomParameters: any): any;
    /**
     *
     * @param zoomParameters
     */
    zoomToParameters(zoomParameters: any): void;
    resetCamera(position: any, rotation: any, zoomTo: any): void;
    /**
     * Update camera with new position and place to lookat
     * @param aabbMax
     * @param aabbMin
     */
    updateCamera(aabbMax: any, aabbMin: any): void;
    /**
     *  Refocus camera to the center of the new object
     * @param node
     */
    pointCameraTo(node: any): void;
    /**
     *
     * @param obj
     * @returns {*}
     */
    shapeCenterOfGravity(obj: any): any;
    /**
     *
     * @param obj
     * @returns {*}
     */
    boundingBox(obj: any): any;
    /**
     * Returns the camera
     * @returns camera
     */
    getCamera(): THREE.PerspectiveCamera;
    /**
     * @param x
     * @param y
     */
    incrementCameraPan(x: any, y: any): void;
    /**
     * @param x
     * @param y
     * @param z
     */
    incrementCameraRotate(x: any, y: any, z: any): void;
    /**
     * @param z
     */
    incrementCameraZoom(z: any): void;
    /**
     * @param x
     * @param y
     * @param z
     */
    setCameraPosition(x: any, y: any, z: any): void;
    /**
     * @param rx
     * @param ry
     * @param rz
     * @param radius
     */
    setCameraRotation(rx: any, ry: any, rz: any, radius: any): void;
    setTrackballControlsConfigs(config: any): void;
    /**
     * Rotate the camera around the selection
     * @movieFilter
     */
    autoRotate(movieFilter: any): void;
    rotate: NodeJS.Timeout;
    /**
     *
     * @param shaders
     */
    movieMode(shaders: any): void;
}
import * as THREE from "three";
