import type { TrackSamples } from '../../core/types'; import { type Interpolator } from '../../core/interpolators'; /** * Query a merged track at a precise time. * * Returns a `Float32Array` of length `track.stride` — the interpolated sample * at `time`. Returns `null` when the track is absent or has fewer than 2 * samples. * * The output buffer is reused across renders; the interpolator writes into it * in place. Do not retain the returned array across renders — it mutates. * * Default interpolator is `lerp` (per-component linear). For quaternion * orientation data pass `slerpQuat`; for categorical data pass `step` or * `nearest`. * * @example * ```tsx * const time = useClockValue(clock, 30); * const { tracks } = useMergedTrack(engine, clock); * const position = useTrackSample(tracks.get('data'), time); * const orientation = useTrackSample(quatTrack, time, slerpQuat); * ``` */ export declare function useTrackSample(track: TrackSamples | undefined, time: number, interp?: Interpolator): Float32Array | null; //# sourceMappingURL=use-track-sample.d.ts.map