import { GrabPointerOptions, RayPointerOptions, TouchPointerOptions } from '@pmndrs/pointer-events'; import { XRControllerModelOptions } from './controller/model.js'; import { XRHandModelOptions } from './hand/model.js'; import { PointerCursorModelOptions } from './pointer/cursor.js'; import { PointerRayModelOptions } from './pointer/ray.js'; import { TeleportPointerRayModelOptions } from './teleport.js'; export type DefaultXRInputSourceGrabPointerOptions = GrabPointerOptions & { makeDefault?: boolean; cursorModel?: boolean | PointerCursorModelOptions; }; export type DefaultXRInputSourceRayPointerOptions = RayPointerOptions & { makeDefault?: boolean; rayModel?: boolean | PointerRayModelOptions; cursorModel?: boolean | PointerCursorModelOptions; }; export type DefaultXRHandTouchPointerOptions = TouchPointerOptions & { makeDefault?: boolean; cursorModel?: boolean | PointerCursorModelOptions; }; export type DefaultXRControllerOptions = { /** * provide options to the * `false` disables the model * @default true */ model?: boolean | XRControllerModelOptions; /** * provide options to the * `false` disables the grab pointer * @default true */ grabPointer?: boolean | DefaultXRInputSourceGrabPointerOptions; /** * provide options to the * `false` disables the ray pointer * @default true */ rayPointer?: boolean | DefaultXRInputSourceRayPointerOptions; /** * provide options to the * `false` disables the teleport pointer * @default false */ teleportPointer?: boolean | DefaultXRInputSourceTeleportPointerOptions; }; export type DefaultXRHandOptions = { model?: boolean | XRHandModelOptions; grabPointer?: boolean | DefaultXRInputSourceGrabPointerOptions; rayPointer?: boolean | DefaultXRInputSourceRayPointerOptions; touchPointer?: boolean | DefaultXRHandTouchPointerOptions; teleportPointer?: boolean | DefaultXRInputSourceTeleportPointerOptions; }; export type DefaultXRTransientPointerOptions = RayPointerOptions & { cursorModel?: boolean | PointerCursorModelOptions; }; export type DefaultXRGazeOptions = RayPointerOptions & { cursorModel?: boolean | PointerCursorModelOptions; }; export type DefaultXRScreenInputOptions = RayPointerOptions; export type DefaultXRInputSourceTeleportPointerOptions = Omit & { makeDefault?: boolean; rayModel?: boolean | TeleportPointerRayModelOptions; cursorModel?: boolean | PointerCursorModelOptions; };