import type { Image } from './image' /** A single video file format for a given quality level. */ export type VideoSourceType = { /** The video format. */ format: 'mp4' | 'mp4-luminance' /** The video URI. */ uri: string /** The fully resolved video URL. */ url: string } /** An adaptive streaming video source (HLS or DASH). */ export type AdaptiveVideoSource = { /** The adaptive streaming format. */ format: 'hls' | 'dash' /** The video URI. */ uri: string /** The fully resolved video URL. */ url: string } /** A set of video files for a specific quality level. */ export type VideoSource = { /** The video quality level. */ quality: '1080p' | '720p' | '480p' | '360p' /** The video width in pixels at this quality level. */ width: number /** The video height in pixels at this quality level. */ height: number /** The available file types for this quality level. */ types: Array } /** * A video from Wix Media, including all available sources and quality levels. * * @example * ```tsx * import type { Video } from '@wix/editor-react-types'; * * interface MyComponentProps { * video?: Video; * } * ``` */ export type Video = { /** The original video URI. */ uri: string /** Human-readable name to use for the video. */ name?: string /** All available quality-level sources for progressive playback. */ sources: Array /** Adaptive streaming sources (HLS/DASH) for streaming playback. */ adaptiveSources: Array /** Whether the video contains an audio track. */ hasAudio: boolean /** The video frame rate in frames per second. */ fps: number /** A poster image to display before the video plays. */ poster?: Image }