/**
 * @module viw-webgl-viewer/gizmos
 */
import * as THREE from 'three';
import { Renderer } from '../rendering/renderer';
import { Camera } from '../camera/camera';
import { ViewerSettings } from '../settings/viewerSettings';
import { type InputHandler } from '../../../shared';
/**
 * Manages the camera target gizmo
 */
export declare class GizmoOrbit {
    private _renderer;
    private _camera;
    private _inputs;
    private _size;
    private _color;
    private _opacity;
    private _opacityAlways;
    private _showDurationMs;
    private _box;
    private _wireframe;
    private _material;
    private _materialAlways;
    private _gizmos;
    private _disconnectCamera;
    private _timeout;
    private _active;
    private _animation;
    constructor(renderer: Renderer, camera: Camera, input: InputHandler, settings: ViewerSettings);
    private connect;
    private onUpdate;
    /**
     * Determines whether the orbit gizmo is enabled.
     */
    get enabled(): boolean;
    set enabled(value: boolean);
    /**
     * Show or hide the gizmo for a brief delay if the gizmo is active.
     * @param {boolean} [show=true] - Whether to show or hide the gizmo.
     */
    show(show?: boolean): void;
    /**
     * Updates the position of the orbit gizmo.
     * @param {THREE.Vector3} position - The new position of the orbit gizmo.
     */
    setPosition(position: THREE.Vector3): void;
    /**
     * Updates the size of the orbit gizmo.
     * @param {number} size - The new size of the orbit gizmo.
     */
    setSize(size: number): void;
    /**
     * Updates the opacity of the orbit gizmo.
     * @param {number} opacity - The opacity of the non-occluded part.
     * @param {number} opacityAlways - The opacity of the occluded part.
     */
    setOpacity(opacity: number, opacityAlways: number): void;
    /**
     * Updates the color of the orbit gizmo.
     * @param {THREE.Color} color - The new color for the orbit gizmo.
     */
    setColor(color: THREE.Color): void;
    private applySettings;
    private updateScale;
    private createGizmo;
    /**
     * Disposes of all resources.
     */
    dispose(): void;
}
