/**
 * @module ai-motion
 * @description Motion graphics render and composite command.
 *
 * ## Commands: vibe generate motion
 * ## Dependencies: Claude, Gemini, Remotion
 *
 * Extracted from ai.ts as part of modularisation.
 * ai.ts re-exports all public types and functions from this module.
 * @see MODELS.md for AI model configuration
 */
import { type Command } from "commander";
export interface MotionCommandOptions {
    description: string;
    duration?: number;
    width?: number;
    height?: number;
    fps?: number;
    style?: string;
    /** If set, render the generated code with Remotion */
    render?: boolean;
    /** Base video to composite the motion graphic onto */
    video?: string;
    /** Image to analyze with Gemini — color/mood/composition fed into Claude prompt */
    image?: string;
    /** Analyze base video before generating motion: auto | off | required */
    understand?: "auto" | "off" | "required";
    /** Override the default video understanding prompt */
    understandingPrompt?: string;
    /** Path to existing TSX file to refine instead of generating from scratch */
    fromTsx?: string;
    /**
     * LLM model alias for code generation.
     * sonnet (default) | opus | gemini | gemini-2.5-pro | gemini-3.1-pro
     */
    model?: string;
    /** Output path (TSX if code-only, WebM/MP4 if rendered) */
    output?: string;
}
export interface MotionCommandResult {
    success: boolean;
    codePath?: string;
    renderedPath?: string;
    compositedPath?: string;
    componentName?: string;
    error?: string;
}
export declare function executeMotion(options: MotionCommandOptions): Promise<MotionCommandResult>;
/**
 * Register the 'motion' sub-command on the given parent command.
 * Called from ai.ts: registerMotionCommand(aiCommand)
 */
export declare function registerMotionCommand(aiCommand: Command): void;
