import {NativeModules} from 'react-native'; import type { Int32, Float, UnsafeObject, } from 'react-native/Libraries/Types/CodegenTypes'; import type {VideoSaveData} from '../types/video-ref'; // @TODO rename to "Spec" when applying new arch export interface VideoManagerType { seekCmd: (reactTag: Int32, time: Float, tolerance?: Float) => Promise; setPlayerPauseStateCmd: (reactTag: Int32, paused: boolean) => Promise; setLicenseResultCmd: ( reactTag: Int32, result: string, licenseUrl: string, ) => Promise; setLicenseResultErrorCmd: ( reactTag: Int32, error: string, licenseUrl: string, ) => Promise; setFullScreenCmd: (reactTag: Int32, fullScreen: boolean) => Promise; setSourceCmd: (reactTag: Int32, source?: UnsafeObject) => Promise; setVolumeCmd: (reactTag: Int32, volume: number) => Promise; enterPictureInPictureCmd: (reactTag: number) => Promise; exitPictureInPictureCmd: (reactTag: number) => Promise; save: (reactTag: Int32, option: UnsafeObject) => Promise; getCurrentPosition: (reactTag: Int32) => Promise; } export default NativeModules.VideoManager as VideoManagerType;