/**
 * @module _shared/edit/caption
 * @description `executeCaption` — Whisper transcribe + ASS subtitles
 * burn-in (or Remotion fallback if libass missing). Split out of
 * `ai-edit.ts` in v0.69 (Plan G Phase 3).
 */
/** Visual style preset for burned-in captions. */
export type CaptionStyle = "minimal" | "bold" | "outline" | "karaoke";
/** Options for {@link executeCaption}. */
export interface CaptionOptions {
    /** Path to the input video file */
    videoPath: string;
    /** Path for the output video with burned-in captions */
    outputPath: string;
    /** Caption visual style preset (default: "bold") */
    style?: CaptionStyle;
    /** Font size override (auto-calculated from video height if omitted) */
    fontSize?: number;
    /** Font color name (default: "white") */
    fontColor?: string;
    /** Language code for Whisper transcription */
    language?: string;
    /** Vertical position of captions (default: "bottom") */
    position?: "top" | "center" | "bottom";
    /** Override OpenAI API key */
    apiKey?: string;
}
/** Result from {@link executeCaption}. */
export interface CaptionResult {
    /** Whether the operation succeeded */
    success: boolean;
    /** Path to the output video with captions */
    outputPath?: string;
    /** Path to the generated SRT file */
    srtPath?: string;
    /** Number of transcript segments */
    segmentCount?: number;
    /** Error message on failure */
    error?: string;
}
/**
 * Transcribe video audio and burn styled captions using Whisper + FFmpeg.
 *
 * Pipeline: extract audio -> Whisper transcription -> generate SRT ->
 * burn captions via FFmpeg subtitles filter (or Remotion fallback).
 */
export declare function executeCaption(options: CaptionOptions): Promise<CaptionResult>;
