import type { Playlist } from '../../core/playlist'; import type { PlaylistSegment, TrackSamples } from '../../core/types'; import type { TimelineClock } from '../../core/timeline'; import { type Normalizer } from '../../core/normalize'; export interface SegmentTrackState { /** Columnar track data for the current segment (may contain multiple named tracks). */ tracks: Map; /** Which segment produced `tracks`, or null when nothing has loaded yet. */ segment: PlaylistSegment | null; loading: boolean; error: Error | null; } export interface SegmentTrackOptions { /** * Convert the decoded current segment into columnar track samples. * Default: `samplesNormalizer` — expects JSONL lines shaped `{ts, data}`. */ normalize?: Normalizer; } /** * Normalize the **current segment only** into columnar `{times, values, stride}` * tracks. No merging across segment boundaries. * * Use when: * - you want ordered samples for fast binary-search lookup inside one chunk * - you're OK with discontinuities at chunk boundaries (events, previews) * - you want to drive your own cross-segment logic * * For smooth scrubbing with interpolation across chunk boundaries, use * `useMergedTrack` instead. */ export declare function useSegmentTrack(engine: Playlist | null, clock?: TimelineClock | null, options?: SegmentTrackOptions): SegmentTrackState; //# sourceMappingURL=use-segment-track.d.ts.map