import { Observable, Event } from '@zcomponent/core'; import * as THREE from 'three'; export declare class RotationHelper extends THREE.Object3D { revolutionCounter: RevolutionCounter; private mesh; axis: Observable<"X" | "Y" | "Z" | null, never>; enabled: Observable; angleDelta: Observable; space: Observable<"local" | "world" | null, never>; object: Observable | null, never>; constructor(domElement: HTMLElement); private onRotateStart; private onRotateEnd; private onRotate; updateCamera(camera: THREE.Camera): void; dispose: () => void; } declare class RevolutionCounter extends THREE.Object3D { private domElement; startAngle: number; private isDragging; accumulatedAngle: Observable; private lastAngle; started: Event<[]>; ended: Event<[]>; camera: THREE.Camera; angleDelta: Event<[number]>; enabled: boolean; space: Observable<"local" | "world" | null, never>; private overlayElement; private objectDirection; private cameraDirection; private raycaster; private raycasterCoord; private referenceVector; private vectorFromOrigin; private overlayElementPosition; private worldStartVector; private plane; constructor(domElement: HTMLElement); private angleBetweenOriginAndPointer; private updateOverlayElementPosition; onPointerDown: (event: PointerEvent) => void; onPointerMove: (event: PointerEvent) => void; onPointerUp: () => void; private getOverlayPosition; private getCameraOrientationSign; dispose: () => void; } export {};