+ subtitle?: string
+
+ videoCaptions: VideoJSCaption[]
+
+ stopTime: number | string
+
+ isLive: boolean
+
+ videoUUID: string
+}
+
+type PlaylistPluginOptions = {
+ elements: VideoPlaylistElement[]
+
+ playlist: VideoPlaylist
+
+ getCurrentPosition: () => number
+
+ onItemClicked: (element: VideoPlaylistElement) => void
+}
+
+type NextPreviousVideoButtonOptions = {
+ type: 'next' | 'previous'
+ handler: Function
+ isDisabled: () => boolean
+}
+
+type WebtorrentPluginOptions = {
+ playerElement: HTMLVideoElement
+
+ autoplay: boolean
+ videoDuration: number
+
+ videoFiles: VideoFile[]
+
+ startTime: number | string
+}
+
+type P2PMediaLoaderPluginOptions = {
+ redundancyUrlManager: RedundancyUrlManager
+ type: string
+ src: string
+
+ startTime: number | string
+}
+
+type VideoJSPluginOptions = {
+ playlist?: PlaylistPluginOptions
+
+ peertube: PeerTubePluginOptions
+
+ webtorrent?: WebtorrentPluginOptions
+
+ p2pMediaLoader?: P2PMediaLoaderPluginOptions
+}
+
+type LoadedQualityData = {
+ qualitySwitchCallback: Function,
+ qualityData: {
+ video: {
+ id: number
+ label: string
+ selected: boolean
+ }[]
+ }
+}
+
+type ResolutionUpdateData = {
+ auto: boolean,
+ resolutionId: number
+ id?: number
+}
+
+type AutoResolutionUpdateData = {
+ possible: boolean