import { EmbodiedControlOptions, EmbodiedControlStep, XRCompoundControl } from "./EmbodiedControlTypes.js"; import { EmbodiedControlExecutor } from "./EmbodiedControlExecutor.js"; import * as THREE from "three"; import { Core, Script } from "xrblocks"; //#region src/addons/embodied-control/EmbodiedControl.d.ts export declare class EmbodiedControl extends Script { static dependencies: { core: typeof Core; camera: typeof THREE.Camera; }; editorIcon: string; executor?: EmbodiedControlExecutor; private options; private core?; private camera?; private autoPauseScheduled; private autoPauseComplete; private readyComplete; private resolveReady; /** Resolves after initialization and any requested auto-pause complete. */ readonly ready: Promise; constructor(options?: EmbodiedControlOptions); init(dependencies: { core: Core; camera: THREE.Camera; }): void; onSimulatorStarted(): void; private initializeExecutor; private scheduleAutoPause; private markReady; private afterRenderedFrame; step(step: EmbodiedControlStep): Promise; applyControl(control: XRCompoundControl): void; get busy(): boolean; teleportTo(target: THREE.Vector3 | [number, number, number] | THREE.Object3D, options?: { distance?: number; faceTarget?: boolean; snapToGround?: boolean; }): Promise; lookAtTarget(target: THREE.Object3D | THREE.Vector3 | [number, number, number], options?: { velocity?: number; }): Promise; pointTo(handIndex: number, target: THREE.Object3D | THREE.Vector3 | [number, number, number], options?: { velocity?: number; }): Promise; /** Moves the index fingertip or palm center to a world-space target. */ reachTo(handIndex: number, target: THREE.Vector3 | [number, number, number] | THREE.Object3D, options?: { velocity?: number; anchor?: 'index-tip' | 'palm-center'; }): Promise; click(handIndex?: number, options?: { durationMs?: number; }): Promise; } //#endregion