import * as THREE from 'three';
interface OrbitControlsLike {
    target: THREE.Vector3;
    addEventListener: (eventName: string, listener: () => void) => void;
    removeEventListener: (eventName: string, listener: () => void) => void;
    update(): void;
}
/**
 * A highly customizable standalone view cube addon for three.js.
 */
export declare class SimpleCameraControls {
    private camera;
    private animating;
    private turnRate;
    private radius;
    private q1;
    private q2;
    private controls;
    private target;
    private clock;
    /**
     * Construct one instance of view cube helper
     * @param camera Camera used in your canvas
     * @param renderer Renderer used in your canvas
     * @param options Options to customize view cube helper
     */
    constructor(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera);
    /**
     * Set associated obit controls
     * @param controls The associated orbit controls
     */
    setControls(controls: OrbitControlsLike): void;
    /**
     * Animation loop
     */
    update(): void;
    /**
     * Fly with the target quaterion
     * @param quaternion
     */
    flyTo(quaternion: THREE.Quaternion): void;
}
export {};
//# sourceMappingURL=simpleCameraControls.d.ts.map