import type { ContextHaving, ContextUsing } from '../../../../framework-types/execution-context/Types'; import type { VTTProperties } from '@bitmovin-internal/player-web-lib-vtt/types'; import type { Constants } from '../../core/Constants'; import type { DataOrSelfInitSegmentAtom } from '../../core/state/segment/SegmentAtom'; import type { SubtitleSelectionGroupAtom } from '../../core/state/selection-group/SelectionGroupAtom'; import type { StoreEffectFactory } from '../../core/state/StoreEffectFactory'; import type { StreamTimelineAtom } from '../../core/state/stream-timeline/StreamTimelineMapAtom'; import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types'; import type { CoreUtils } from '../../core/utils/Types'; import type { DataExportNames } from '../../data/Types'; import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom'; import type { SourceExportNames } from '../../source/Types'; import type { ContextWithState } from '../../Types'; import type { createSubtitleCueAtom } from '../subtitle-base/SubtitleCueAtom'; import type { SubtitleCueMapAtom } from '../subtitle-base/SubtitleCueMapAtom'; import type { SubtitleBaseExportNames } from '../subtitle-base/Types'; import type { WebVttParseTask } from './WebVttParseTask'; export declare enum WebVttExportNames { WebVttParseTask = "web-vtt-parse-task" } export type WebVttParseTask = typeof WebVttParseTask; export type WebVttDependencies = { [CoreExportNames.CoreStateAtoms]: CoreStateAtoms; [CoreExportNames.Utils]: CoreUtils; [CoreExportNames.CoreEffects]: CoreEffects; [CoreExportNames.Constants]: Constants; [SubtitleBaseExportNames.SubtitleCueMapAtom]: SubtitleCueMapAtom; [SubtitleBaseExportNames.CreateSubtitleCueAtom]: typeof createSubtitleCueAtom; [SourceExportNames.SourceState]: SourceStateAtom; [DataExportNames.StreamTimeline]: StreamTimelineAtom; }; export type WebVttExports = { [WebVttExportNames.WebVttParseTask]: WebVttParseTask; }; export type WebVttPackageContext = ContextUsing<[ StoreEffectFactory<'subtitleSegmentCache', Map> ], ContextHaving>; export type WebVttSubtitleCueMetadata = { i: number; vttProperties: VTTProperties; offset?: number; layout?: string; updates: Array<{ updateTime: number; html: string; }>; };