//#region src/elements/EFMedia/SegmentIndex.d.ts type TrackRole = "video" | "audio" | "scrub"; interface TrackRef { readonly role: TrackRole; readonly id: string | number; readonly src: string; readonly segmentDurationMs?: number; readonly segmentDurationsMs?: number[]; readonly startTimeOffsetMs?: number; } interface TrackSet { video?: TrackRef; audio?: TrackRef; scrub?: TrackRef; /** Alpha matte track — grayscale H264, paired with `video`. */ alpha?: TrackRef; } interface SegmentTimeRange { segmentId: number; startMs: number; endMs: number; } interface SegmentIndex { readonly durationMs: number; readonly tracks: TrackSet; segmentAt(timeMs: number, track: TrackRef): number | undefined; segmentsInRange(fromMs: number, toMs: number, track: TrackRef): SegmentTimeRange[]; } //#endregion export { SegmentIndex, SegmentTimeRange, TrackRef, TrackRole, TrackSet }; //# sourceMappingURL=SegmentIndex.d.ts.map