import { type RemoteControlRequest, type RemoteControlResponse } from './RemoteControlProtocol'; import type { EmbodiedControlStep, XRCompoundControl } from '../embodied-control'; import { type RemoteControlCameraToolArgs, type RemoteControlClickToolArgs, type RemoteControlLookAtTargetToolArgs, type RemoteControlPointToToolArgs, type RemoteControlReachToToolArgs, type RemoteControlScreenshotToolArgs, type RemoteControlTarget, type RemoteControlTeleportToToolArgs } from './built-in-tools'; export type RemoteControlClientOptions = { url?: string; sessionId?: string; WebSocketConstructor?: typeof WebSocket; }; export declare class RemoteControlClient { private ws?; private pending; private pageReady; private waiters; private readonly url; private readonly sessionId; private readonly WebSocketConstructor; constructor(options?: string | RemoteControlClientOptions); connect(): Promise; close(): void; waitForPage(): Promise; /** @deprecated Use waitForPage(). */ waitForSimulator(): Promise; step(step: EmbodiedControlStep): Promise; apply(control: XRCompoundControl): Promise; teleportTo(target: RemoteControlTarget, options?: RemoteControlTeleportToToolArgs['options']): Promise; lookAtTarget(target: RemoteControlTarget, options?: RemoteControlLookAtTargetToolArgs['options']): Promise; pointTo(handIndex: number, target: RemoteControlTarget, options?: RemoteControlPointToToolArgs['options']): Promise; reachTo(handIndex: number, target: RemoteControlTarget, options?: RemoteControlReachToToolArgs['options']): Promise; click(handIndex?: RemoteControlClickToolArgs['handIndex'], options?: RemoteControlClickToolArgs['options']): Promise; getCamera(args?: RemoteControlCameraToolArgs): Promise; getHands(): Promise; getScreenshot(args?: RemoteControlScreenshotToolArgs): Promise; getSimulatorState(): Promise; callTool(name: string, args?: unknown): Promise; ping(): Promise; request(request: RemoteControlRequest): Promise; private onOpen; private onMessage; private onClose; }