/**
 * @module _shared/video-providers
 * @description Per-provider `generateVideoWithRetry*` helpers used by the
 * script-to-video pipeline. Each wraps a single AI provider's video
 * generation API in a retry loop with onProgress callbacks. Split out of
 * `ai-script-pipeline.ts` in v0.69 (Plan G Phase 4).
 */
import type { GeminiProvider, GrokProvider, KlingProvider, RunwayProvider } from "@vibeframe/ai-providers";
import { type StoryboardSegment } from "./video-utils.js";
/** Generate video with retry logic for Grok provider. */
export declare function generateVideoWithRetryGrok(grok: GrokProvider, segment: StoryboardSegment, options: {
    duration: number;
    aspectRatio: "16:9" | "9:16" | "1:1";
    referenceImage?: string;
}, maxRetries: number, onProgress?: (message: string) => void): Promise<{
    requestId: string;
} | null>;
/**
 * Generate video with retry logic for Kling provider.
 * Supports image-to-video with URL (v2.5/v2.6 models).
 */
export declare function generateVideoWithRetryKling(kling: KlingProvider, segment: StoryboardSegment, options: {
    duration: 5 | 10;
    aspectRatio: "16:9" | "9:16" | "1:1";
    referenceImage?: string;
}, maxRetries: number, onProgress?: (message: string) => void): Promise<{
    taskId: string;
    type: "text2video" | "image2video";
} | null>;
/** Generate video with retry logic for Runway provider. */
export declare function generateVideoWithRetryRunway(runway: RunwayProvider, segment: StoryboardSegment, referenceImage: string, options: {
    duration: 5 | 10;
    aspectRatio: "16:9" | "9:16";
}, maxRetries: number, onProgress?: (message: string) => void): Promise<{
    taskId: string;
} | null>;
/** Generate video with retry logic for Veo (Gemini) provider. */
export declare function generateVideoWithRetryVeo(gemini: GeminiProvider, segment: StoryboardSegment, options: {
    duration: 4 | 6 | 8;
    aspectRatio: "16:9" | "9:16" | "1:1";
    referenceImage?: string;
}, maxRetries: number, onProgress?: (message: string) => void): Promise<{
    operationName: string;
} | null>;
