import type { Context } from "../engine_context.js"; import { NeedleXRSession } from "./NeedleXRSession.js"; declare type XRControllerType = "hand" | "controller"; export declare class NeedleXRSync { hasState(userId: string | null | undefined): boolean; /** Is the left controller or hand tracked */ isTracking(userId: string | null | undefined, handedness: XRHandedness): boolean | undefined; /** Is it hand tracking or a controller */ getDeviceType(userId: string, handedness: XRHandedness): XRControllerType | undefined | "unknown"; private readonly context; constructor(context: Context); destroy(): void; private onJoinedRoom; private onLeftRoom; private onOtherUserJoinedRoom; private onOtherUserLeftRoom; private _states; onUpdate(session: NeedleXRSession): void; onExitXR(session: NeedleXRSession): void; } export {};