/**
 * @module ai-review
 *
 * AI-powered video quality review and auto-fix using Gemini.
 *
 * CLI command: review
 *
 * Execute function:
 *   executeReview - Analyze video quality across 5 categories and optionally auto-fix
 *
 * @dependencies Gemini (Google), FFmpeg (auto-fix filters)
 */
import { Command } from "commander";
import type { VideoReviewFeedback } from "./ai-edit.js";
/** Options for {@link executeReview}. */
export interface ReviewOptions {
    /** Path to the video file to review */
    videoPath: string;
    /** Optional storyboard JSON for context-aware review */
    storyboardPath?: string;
    /** Optional project context for beat-aware review */
    projectContext?: string;
    /** Automatically apply fixable corrections via FFmpeg */
    autoApply?: boolean;
    /** Run a verification pass after applying fixes */
    verify?: boolean;
    /** Gemini model shorthand (default: "flash") */
    model?: string;
    /** Output path for the fixed video (auto-apply mode) */
    outputPath?: string;
}
/** Result from {@link executeReview}. */
export interface ReviewResult {
    /** Whether the review completed successfully */
    success: boolean;
    /** Structured review feedback with per-category scores */
    feedback?: VideoReviewFeedback;
    /** Descriptions of fixes that were auto-applied */
    appliedFixes?: string[];
    /** Post-fix verification quality score 1-10 */
    verificationScore?: number;
    /** Path to the reviewed/fixed output video */
    outputPath?: string;
    /** Error message on failure */
    error?: string;
}
/**
 * Review video quality using Gemini AI and optionally auto-fix issues.
 *
 * Analyzes 5 quality categories (pacing, color, text readability, audio-visual
 * sync, composition) and returns scored feedback. When auto-apply is enabled,
 * applies fixable corrections via FFmpeg filters.
 *
 * @param options - Review configuration
 * @returns Result with structured feedback and optional fix details
 */
export declare function executeReview(options: ReviewOptions): Promise<ReviewResult>;
export declare function registerReviewCommand(aiCommand: Command): void;
