export interface SubtitleStyleInput {
    color?: string;
    fontSizeRatio?: number;
    stroke?: boolean;
    background?: boolean;
    position?: "bottom" | "center" | "top";
}
export interface ComposeShotInput {
    /** A footage clip (e.g. stock mp4) to scale/crop. */
    video?: string;
    /** A still image to animate (Ken Burns) or show static. Used when no video. */
    image?: string;
    motion?: "none" | "kenburns";
    audio?: string;
    subtitle?: string;
    subtitleStyle?: SubtitleStyleInput;
    fontFile?: string | null;
    fade?: boolean;
    width: number;
    height: number;
    /** Planned shot duration (ms); drives Ken Burns length + fade-out timing. */
    durationMs?: number;
    out: string;
}
export declare function composeShot(input: ComposeShotInput): Promise<void>;
