/**
 * Video Generation Processing Utility
 *
 * Central registry + dispatch for video-generation handlers across
 * providers (Vertex Veo, Kling, Runway, Replicate-hosted models, etc.).
 *
 * Mirrors the static-handler-registry pattern established by
 * `TTSProcessor` (`utils/ttsProcessor.ts`) and `STTProcessor`
 * (`utils/sttProcessor.ts`).
 *
 * @module utils/videoProcessor
 */
import { VIDEO_ERROR_CODES } from "../constants/videoErrors.js";
import type { VideoGenerationResult, VideoHandler, VideoOutputOptions, VideoTransitionOptions } from "../types/index.js";
import { VideoError } from "../adapters/video/vertexVideoHandler.js";
export { VideoError, VIDEO_ERROR_CODES };
/**
 * Static processor managing the video handler registry.
 *
 * Handlers register themselves during `ProviderRegistry._doRegister()`
 * via `VideoProcessor.registerHandler(name, instance)`. Lookups are
 * O(1) on a normalised lower-case provider key.
 */
export declare class VideoProcessor {
    private static readonly handlers;
    /**
     * Register a video handler for a specific provider.
     */
    static registerHandler(providerName: string, handler: VideoHandler): void;
    /**
     * Check if a provider has a registered video handler.
     */
    static supports(providerName: string): boolean;
    /**
     * List the names of all registered providers.
     */
    static listProviders(): string[];
    private static getHandler;
    private static buildSpanAttributes;
    /**
     * Generate a single video clip via the registered handler.
     *
     * @param provider - Registered provider name (e.g. "vertex", "kling")
     * @param image - Source image buffer
     * @param prompt - Text prompt describing the desired motion / content
     * @param options - Resolution / length / aspect-ratio / audio options
     * @param region - Optional region override (Vertex location, etc.)
     * @throws VideoError on registry miss, handler-not-configured, or
     *         generation failure
     */
    static generate(provider: string, image: Buffer, prompt: string, options: VideoOutputOptions, region?: string): Promise<VideoGenerationResult>;
    /**
     * Generate a transition clip via the registered handler (Director Mode).
     *
     * Providers without first-and-last-frame interpolation surface a typed
     * `TRANSITION_NOT_SUPPORTED` error here; callers should fall back to
     * generating a regular clip with a transition prompt.
     */
    static generateTransition(provider: string, firstFrame: Buffer, lastFrame: Buffer, prompt: string, options?: VideoTransitionOptions, region?: string): Promise<Buffer>;
}
