import type { Playlist } from '../../core/playlist'; import type { TimelineClock } from '../../core/timeline'; export interface UseJointAnglesForUrdfOptions { /** React render rate for the returned map. Defaults to 30. */ fps?: number; /** Which merged track to read the joint vector from. Defaults to `'data'`. */ trackName?: string; } /** * Map a continuous joint-angle m3u8 stream to a `{ jointName: angle }` * record — the shape consumed by URDF rendering components, notably * `@vuer-ai/vuer`'s `` via its `jointValues` prop. * * The `i`-th entry of `jointNames` is bound to `sample[i]`. Joint names * beyond the sample's stride are skipped; extra stride components beyond * `jointNames.length` are ignored. * * Returns an empty object until the stream has loaded its first sample. * * @example * ```tsx * const { engine } = usePlaylist({ url: '/joints.m3u8' }); * const jointValues = useJointAnglesForUrdf(engine, [ * 'shoulder_pan', 'shoulder_lift', 'elbow', * 'wrist_1', 'wrist_2', 'wrist_3', 'gripper', * ]); * return ; * ``` */ export declare function useJointAnglesForUrdf(engine: Playlist | null, jointNames: string[], clock?: TimelineClock | null, options?: UseJointAnglesForUrdfOptions): Record; //# sourceMappingURL=use-joint-angles-for-urdf.d.ts.map