/**
 * @module ai-script-pipeline
 *
 * Library function for scene regeneration in script-to-video output
 * directories, plus pass-through re-exports of `_shared/video-utils.js` and
 * `_shared/video-providers.js` helpers (consumed by `ai-video.ts` and
 * `generate/video.ts`).
 *
 * Powers the manifest tool `remix_regenerate_scene` and the user-facing
 * `vibe pipeline regenerate-scene` CLI subcommand.
 *
 * Note: `executeScriptToVideo` and the `pipeline script-to-video` CLI / MCP
 * surface were removed in favour of the Hyperframes-style skill-driven
 * `vibe scene build` flow, which is idempotent, cheaper, and per-beat
 * editable. The `regenerate-scene` half is preserved because it operates on
 * the on-disk storyboard.{yaml,json} produced by older runs (and by other
 * pipelines that still emit that layout).
 *
 * @dependencies ElevenLabs (TTS), OpenAI/Gemini/Grok (images),
 *               Kling/Runway/Veo/Grok (video), FFmpeg (extension)
 */
import { type StoryboardSegment, DEFAULT_VIDEO_RETRIES, RETRY_DELAY_MS, sleep, uploadToImgbb, extendVideoToTarget, logSceneFailure, waitForVideoWithRetry } from "./_shared/video-utils.js";
import { generateVideoWithRetryGrok, generateVideoWithRetryKling, generateVideoWithRetryRunway, generateVideoWithRetryVeo } from "./_shared/video-providers.js";
export { DEFAULT_VIDEO_RETRIES, RETRY_DELAY_MS, sleep, uploadToImgbb, extendVideoToTarget, logSceneFailure, waitForVideoWithRetry, generateVideoWithRetryGrok, generateVideoWithRetryKling, generateVideoWithRetryRunway, generateVideoWithRetryVeo, };
export type { StoryboardSegment };
/** Options for {@link executeRegenerateScene}. */
export interface RegenerateSceneOptions {
    /** Path to the project output directory containing storyboard.json */
    projectDir: string;
    /** 1-indexed scene numbers to regenerate */
    scenes: number[];
    /** Only regenerate video (keep existing image) */
    videoOnly?: boolean;
    /** Only regenerate narration audio */
    narrationOnly?: boolean;
    /** Only regenerate scene image */
    imageOnly?: boolean;
    /** Video generation provider */
    generator?: "grok" | "kling" | "runway" | "veo";
    /** Image generation provider */
    imageProvider?: "gemini" | "openai" | "grok";
    /** ElevenLabs voice name or ID */
    voice?: string;
    /** Video aspect ratio */
    aspectRatio?: "16:9" | "9:16" | "1:1";
    /** Max retries per video generation call */
    retries?: number;
    /** Reference scene number for character consistency (auto-detects if not specified) */
    referenceScene?: number;
    /** Called at per-scene progress points (`Scene N: regenerating narration...`). */
    onProgress?: (message: string) => void;
}
/** Result from {@link executeRegenerateScene}. */
export interface RegenerateSceneResult {
    /** Whether all requested scenes were regenerated */
    success: boolean;
    /** 1-indexed scene numbers successfully regenerated */
    regeneratedScenes: number[];
    /** 1-indexed scene numbers that failed to regenerate */
    failedScenes: number[];
    /** Error message on failure */
    error?: string;
}
/**
 * Regenerate specific scene(s) in an existing script-to-video project.
 *
 * Reads the storyboard.{yaml,json} from the project directory, then
 * regenerates the requested scenes using the specified video/image provider.
 * Supports image-to-video via ImgBB URL upload for Kling.
 *
 * @param options - Scene regeneration configuration
 * @returns Result with lists of regenerated and failed scene numbers
 */
export declare function executeRegenerateScene(options: RegenerateSceneOptions): Promise<RegenerateSceneResult>;
