]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/assets/player/peertube-videojs-typings.ts
Reduce bundle sizes
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / peertube-videojs-typings.ts
1 import * as videojs from 'video.js'
2 import { VideoFile } from '../../../../shared/models/videos/video.model'
3 import { PeerTubePlugin } from './peertube-videojs-plugin'
4
5 declare namespace videojs {
6 interface Player {
7 peertube (): PeerTubePlugin
8 }
9 }
10
11 interface VideoJSComponentInterface {
12 _player: videojs.Player
13
14 new (player: videojs.Player, options?: any)
15
16 registerComponent (name: string, obj: any)
17 }
18
19 type PeertubePluginOptions = {
20 videoFiles: VideoFile[]
21 playerElement: HTMLVideoElement
22 videoViewUrl: string
23 videoDuration: number
24 startTime: number
25 autoplay: boolean
26 }
27
28 // videojs typings don't have some method we need
29 const videojsUntyped = videojs as any
30
31 export {
32 VideoJSComponentInterface,
33 PeertubePluginOptions,
34 videojsUntyped
35 }