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<VideoProps>;
    auto_play: boolean;
    loop: boolean;
    mute_audio: boolean;
    show_controls: boolean;
}
