import type { ContextHaving, ContextUsing } from '../../../framework-types/execution-context/Types'; import type { BaseContext } from '../../../framework-types/Types'; import type { BundleExportNames } from '../../bundles/Types'; import type { AdaptationExportNames } from '../adaptation/Types'; import type { CapabilitiesExportNames, PlatformCapabilities } from '../capabilities/Types'; import type { Constants } from '../core/Constants'; import type { EventListenerEffect } from '../core/effects/EventListenerEffectFactory'; import type { MetricsAtom } from '../core/metrics/MetricsAtom'; import type { QueueAtom } from '../core/state/QueueAtom'; import type { DataOrSelfInitSegmentAtom } from '../core/state/segment/SegmentAtom'; import type { StateEffect } from '../core/state/state-effect/StateEffectFactory'; import type { StreamTimelineAtom } from '../core/state/stream-timeline/StreamTimelineMapAtom'; import type { MediaTrackAtom } from '../core/state/track/TrackAtom'; import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../core/Types'; import type { Logger } from '../core/utils/Logger'; import type { CoreUtils } from '../core/utils/Types'; import type { NetworkTask } from '../network/NetworkTask'; import type { NetworkExportNames } from '../network/Types'; import type SegmentProcessorErrors from '../segment-processing/Errors'; import type { SegmentProcessingComponent, SegmentProcessingExportNames } from '../segment-processing/Types'; import type { SourceStateAtom } from '../source/atoms/SourceStateAtom'; import type { SourceExportNames } from '../source/Types'; export type SegmentQueue = QueueAtom; export interface DataDependencies { [CapabilitiesExportNames.PlatformCapabilities]: PlatformCapabilities; [CoreExportNames.Constants]: Constants; [SourceExportNames.SourceState]: SourceStateAtom; [CoreExportNames.CoreEffects]: CoreEffects; [CoreExportNames.CoreStateAtoms]: CoreStateAtoms; [CoreExportNames.Utils]: CoreUtils; [BundleExportNames.Logger]: Logger; [AdaptationExportNames.Metrics]: MetricsAtom; [NetworkExportNames.NetworkTask]: typeof NetworkTask; [SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors; [SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent; [AdaptationExportNames.Select]: (tracks: readonly MediaTrackAtom[]) => MediaTrackAtom; } export declare enum DataExportNames { StreamTimeline = "stream-timeline" } export interface DataExports { [DataExportNames.StreamTimeline]: StreamTimelineAtom; } type BaseExecutionContext = ContextHaving; export type DataPackageContext = ContextUsing<[StateEffect, EventListenerEffect], BaseExecutionContext>; export {};