/**
 * @module _shared/edit/silence-cut
 * @description `executeSilenceCut` — detect silent segments via FFmpeg
 * `silencedetect` (default) or Gemini multimodal analysis, then trim and
 * concatenate the non-silent segments. Split out of `ai-edit.ts` in v0.69
 * (Plan G Phase 3).
 */
/** A detected silent segment within a media file. */
export interface SilencePeriod {
    /** Start time in seconds */
    start: number;
    /** End time in seconds */
    end: number;
    /** Duration of the silent period in seconds */
    duration: number;
}
/** Options for {@link executeSilenceCut}. */
export interface SilenceCutOptions {
    /** Path to the input video file */
    videoPath: string;
    /** Path for the output video (silent segments removed) */
    outputPath: string;
    /** FFmpeg noise threshold in dB (default: -30) */
    noiseThreshold?: number;
    /** Minimum silence duration in seconds to detect (default: 0.5) */
    minDuration?: number;
    /** Padding in seconds kept around cuts (default: 0.1) */
    padding?: number;
    /** If true, only analyze without producing output video */
    analyzeOnly?: boolean;
    /** Use Gemini multimodal analysis instead of FFmpeg silencedetect */
    useGemini?: boolean;
    /** Gemini model shorthand or full gemini-* model ID */
    model?: string;
    /** Use low-resolution mode for Gemini (longer videos) */
    lowRes?: boolean;
    /** Override API key (Google for Gemini mode) */
    apiKey?: string;
}
/** Result from {@link executeSilenceCut}. */
export interface SilenceCutResult {
    /** Whether the operation succeeded */
    success: boolean;
    /** Path to the output video (undefined in analyze-only mode) */
    outputPath?: string;
    /** Total duration of the source video in seconds */
    totalDuration?: number;
    /** Detected silent periods */
    silentPeriods?: SilencePeriod[];
    /** Total silent duration removed in seconds */
    silentDuration?: number;
    /** Detection method used */
    method?: "ffmpeg" | "gemini";
    /** Error message on failure */
    error?: string;
}
/**
 * Remove silent segments from a video using FFmpeg or Gemini detection.
 *
 * Detects silence via FFmpeg silencedetect (default) or Gemini multimodal
 * analysis, then trims and concatenates the non-silent segments.
 */
export declare function executeSilenceCut(options: SilenceCutOptions): Promise<SilenceCutResult>;
