import type { IResolutionInfo, IManifestFetcherSettings, ISegmentQueueCreatorBackoffOptions, IPausedPlaybackObservation, IRepresentationsChoice, ITrackSwitchingMode } from "../core/types"; import type { IDefaultConfig } from "../default_config"; import type { ISerializedSourceBufferError } from "../errors/source_buffer_error"; import type { SourceBufferType } from "../mse"; import type { IFreezingStatus, IRebufferingStatus } from "../playback_observer"; import type { ICmcdOptions, IManifestLoader, IRepresentationFilter, ISegmentLoader, ITrackType } from "../public_types"; import type { ITransportOptions } from "../transports"; import type { ILogFormat, ILoggerLevel } from "../utils/logger"; import type { IRange } from "../utils/ranges"; import type RxPlayer from "./api"; import type { IContentProtection, IProcessedProtectionData } from "./decrypt"; import type { ITextDisplayer, ITextDisplayerData } from "./text_displayer"; export type IRxPlayer = RxPlayer; export type { IContentProtection, IProcessedProtectionData, ITextDisplayer, ITextDisplayerData, }; /** * First message sent by the main thread to the Core. * The Core should only receive one `IInitMessage` at most and it should be * always the first message received. * * Allows for Core initialization. */ export interface IInitMessage { type: MainThreadMessageType.Init; value: { /** Link to the DASH_WASM's feature WebAssembly file to parse DASH MPDs. */ dashWasmUrl: string | undefined; /** * If `true` the final element on the current page displaying the content * can display video content. * * If `false`, it cannot, but it can be assumed to be able to play audio * content. * An example where it would be set to `false` is for `HTMLAudioElement` * elements (`