/**
 * @module edit-cmd
 *
 * Top-level `vibe edit` command group for post-production editing.
 *
 * Commands:
 *   edit silence-cut    - Remove silent segments (FFmpeg / Gemini)
 *   edit jump-cut       - Remove filler words (Whisper + FFmpeg)
 *   edit caption        - Add styled captions (Whisper + FFmpeg)
 *   edit noise-reduce   - Audio/video noise removal (FFmpeg)
 *   edit fade           - Fade in/out effects (FFmpeg)
 *   edit translate-srt  - Translate SRT subtitles (Claude or OpenAI)
 *   edit grade          - Color grading (Claude + FFmpeg)
 *   edit text-overlay   - Simple static text overlays (FFmpeg drawtext)
 *   edit motion-overlay - Designed motion graphics overlays (Remotion/Lottie)
 *   edit speed-ramp     - Speed ramping (Whisper + Claude + FFmpeg)
 *   edit reframe        - Reframe aspect ratio (Claude Vision + FFmpeg)
 *   edit image          - Image editing (Gemini, OpenAI, or Grok)
 *   edit interpolate    - Frame interpolation / slow motion (FFmpeg)
 *   edit upscale       - Video upscaling (FFmpeg or Replicate)
 *   edit fill-gaps      - Fill timeline gaps with AI video (Kling)
 *
 * @dependencies Whisper, Claude, Gemini, Kling, Replicate, FFmpeg
 */
import { Command } from "commander";
export declare const editCommand: Command;
export interface GradeOptions {
    videoPath: string;
    style?: string;
    preset?: string;
    output?: string;
    analyzeOnly?: boolean;
    apiKey?: string;
}
export interface GradeResult {
    success: boolean;
    outputPath?: string;
    style?: string;
    description?: string;
    ffmpegFilter?: string;
    error?: string;
}
export declare function executeGrade(options: GradeOptions): Promise<GradeResult>;
export interface SpeedRampOptions {
    videoPath: string;
    output?: string;
    style?: "dramatic" | "smooth" | "action";
    minSpeed?: number;
    maxSpeed?: number;
    analyzeOnly?: boolean;
    language?: string;
    apiKey?: string;
}
export interface SpeedRampResult {
    success: boolean;
    outputPath?: string;
    keyframes?: Array<{
        time: number;
        speed: number;
        reason: string;
    }>;
    avgSpeed?: number;
    error?: string;
}
export declare function executeSpeedRamp(options: SpeedRampOptions): Promise<SpeedRampResult>;
export interface ReframeOptions {
    videoPath: string;
    aspect?: string;
    focus?: "auto" | "face" | "center" | "action";
    output?: string;
    analyzeOnly?: boolean;
    apiKey?: string;
}
export interface ReframeResult {
    success: boolean;
    outputPath?: string;
    sourceAspect?: string;
    targetAspect?: string;
    keyframeCount?: number;
    error?: string;
}
export declare function executeReframe(options: ReframeOptions): Promise<ReframeResult>;
export interface InterpolateOptions {
    videoPath: string;
    output?: string;
    factor?: number;
    fps?: number;
    quality?: "fast" | "quality";
}
export interface InterpolateResult {
    success: boolean;
    outputPath?: string;
    originalFps?: number;
    targetFps?: number;
    factor?: number;
    error?: string;
}
export declare function executeInterpolate(options: InterpolateOptions): Promise<InterpolateResult>;
export interface UpscaleOptions {
    videoPath: string;
    output?: string;
    scale?: number;
    quality?: "fast" | "quality";
}
export interface UpscaleResult {
    success: boolean;
    outputPath?: string;
    originalRes?: string;
    targetRes?: string;
    error?: string;
}
export declare function executeUpscale(options: UpscaleOptions): Promise<UpscaleResult>;
