/**
 * @module viw-webgl-viewer/gizmos
 */
import * as THREE from 'three';
import { Camera } from '../camera/camera';
export declare class Axis {
    axis: string;
    direction: THREE.Vector3;
    size: number;
    color: string;
    colorSub: string;
    position: THREE.Vector3;
    label: string | undefined;
    line: number | undefined;
    constructor(init: Axis);
}
export declare class GizmoOptions {
    size: number;
    padding: number;
    bubbleSizePrimary: number;
    bubbleSizeSecondary: number;
    lineWidth: number;
    fontSize: string;
    fontFamily: string;
    fontWeight: string;
    fontColor: string;
    className: string;
    colorX: string;
    colorY: string;
    colorZ: string;
    colorXSub: string;
    colorYSub: string;
    colorZSub: string;
    constructor(init?: Partial<GizmoOptions>);
}
/**
 * The axis gizmos of the viewer.
 */
export declare class GizmoAxes {
    private options;
    private axes;
    private camera;
    private _canvas;
    private context;
    private rect;
    private isDragging;
    private isDragSignificant;
    private dragStart;
    private dragLast;
    private pointer;
    private center;
    private invRotMat;
    private selectedAxis;
    /**
     * The canvas on which the axes are drawn.
     */
    get canvas(): HTMLCanvasElement;
    constructor(camera: Camera, options?: Partial<GizmoOptions>);
    private animate;
    private createAxes;
    private createCanvas;
    private onTouchMove;
    private onTouchEnd;
    private onPointerDown;
    private onPointerUp;
    private onPointerEnter;
    private onPointerMove;
    private toMouseVector;
    private onPointerDrag;
    private initDrag;
    private updateDrag;
    private endDrag;
    private onMouseClick;
    private update;
    private drawLayers;
    private drawCircle;
    private drawLine;
    private setAxisPosition;
    private pickAxes;
    /**
     * Disposes of the gizmo, removing event listeners and cleaning up resources.
     */
    dispose(): void;
}
export { GizmoAxes as OrbitControlsGizmo };
