import { IPuOption } from "../../main"; import { IPluginEvent, IPluginEventMap } from "../../plugins/types"; import PlayerPlugin, { PLAYER_MODES } from "./index"; interface IPlayerEvent extends IPluginEvent { target: PlayerPlugin; } interface IInitEvent extends IPlayerEvent { name: "initEvent"; mode: PLAYER_MODES; } interface ICloseWebrtcEvent extends IPlayerEvent { name: "closeWebrtcEvent"; peerConnection?: RTCPeerConnection; } interface IRotateEvent extends IPlayerEvent { name: "rotateEvent"; rotateDeg: number; } export interface IRecordStopInfo { data: Blob; startTime: number; endTime: number; duration: number; puOptions: IPuOption; fileName: string; cancelAutoDownload: () => { download(filename?: string): void; }; } export interface IPlayerPluginEventMap extends IPluginEventMap { init: IInitEvent; closeWebrtc: ICloseWebrtcEvent; refreshInfoModal: IPlayerEvent; close: IPlayerEvent; contextmenu: Event; recordStart: undefined; recordStop: IRecordStopInfo; screenshot: undefined | { img: Blob; fileName: string; cancelAutoDownload: () => { download(fileName?: string): void; }; }; fullscreen: boolean; rotate: IRotateEvent; volumeChange: { percent: number; }; intercomStart: undefined; intercomStop: undefined; } export {};