import type { HelixRoom } from '../multiplayer.js'; import { AVATAR_POSE_LIMITS, AVATAR_POSE_MASK_ALL, AVATAR_POSE_SOURCE_ALL, AVATAR_POSE_VERSION, AvatarPoseMask, AvatarPoseSource, decodeAvatarPoseReplica, decodeAvatarPoseWire, encodeAvatarPose, sanitizeAvatarPoseWire, type AvatarPoseInputV1, type AvatarPoseReplicaStateV1, type AvatarPoseWireV1, type FingerCurls, type FingerCurlsU8, type HeadPoseI16, type QuatI16 } from '../multiplayer-contract/avatar-pose.js'; /** * Engine/server-only semantic pose. This subpath is intentionally absent from the creator-facing root, * multiplayer contract, HelixRoom state, and generated runtime API inventory. */ export type InternalAvatarPoseV1 = AvatarPoseInputV1; export interface InternalAvatarPoseCapabilityV1 { readonly version: typeof AVATAR_POSE_VERSION; /** Set the pose sampled alongside the next ordinary sendState frame. null explicitly clears tracking. */ setLocalPose(pose: InternalAvatarPoseV1 | null): void; /** Decode the reflected transport child. Missing, old, neutral, or malformed data returns null. */ decodeReplica(player: unknown): InternalAvatarPoseV1 | null; } /** * Feature-detect the private humanoid transport seam on a room handle. Symbol.for keeps this working when the * room creator and humanoid runtime resolve different copies of the SDK. A previous/foreign room returns null. */ export declare function getInternalAvatarPoseCapability(room: unknown): InternalAvatarPoseCapabilityV1 | null; /** SDK-internal installer used while constructing the curated HelixRoom handle. */ export declare function installInternalAvatarPoseCapability(room: HelixRoom, capability: InternalAvatarPoseCapabilityV1): InternalAvatarPoseCapabilityV1; /** Read a reflected child without adding it to the public PlayerState type. */ export declare function decodeInternalAvatarPoseReplica(player: unknown): InternalAvatarPoseV1 | null; export { AVATAR_POSE_LIMITS, AVATAR_POSE_MASK_ALL, AVATAR_POSE_SOURCE_ALL, AVATAR_POSE_VERSION, AvatarPoseMask, AvatarPoseSource, decodeAvatarPoseReplica, decodeAvatarPoseWire, encodeAvatarPose, sanitizeAvatarPoseWire, }; export type { AvatarPoseReplicaStateV1 as InternalAvatarPoseReplicaStateV1, AvatarPoseWireV1 as InternalAvatarPoseWireV1, FingerCurls as InternalFingerCurls, FingerCurlsU8 as InternalFingerCurlsU8, HeadPoseI16 as InternalHeadPoseI16, QuatI16 as InternalQuatI16, };