import type { BorderType, CircleShape, ConcaveShape, ConvexShape, RectangleShape, ShadowType, SizeType, Spacing } from ".."; import type { BaseComponent } from "../base"; import type { ColorGradientScheme } from "../colors"; import type { FitMode, ImageInfo, VideoInfo } from "../media"; import type { Overrides } from "../overrides"; export type VideoObjectFit = "fit" | "fill"; export type VideoMaskShape = { type: "rectangle" | "circle" | "concave" | "convex"; corners?: { top_leading?: number; top_trailing?: number; bottom_leading?: number; bottom_trailing?: number; } | null; }; export interface VideoProps extends BaseComponent { type: "video"; visible?: boolean | null; source: VideoInfo | null; fallback_source?: ImageInfo | null; override_source_lid?: string | null; size: SizeType; mask_shape?: RectangleShape | CircleShape | ConcaveShape | ConvexShape | null; fit_mode: FitMode; padding?: Spacing | null; margin?: Spacing | null; color_overlay?: ColorGradientScheme | null; border?: BorderType | null; shadow?: ShadowType | null; overrides?: Overrides; auto_play: boolean; loop: boolean; mute_audio: boolean; show_controls: boolean; }