import type { PortableTool } from "../portable-tool.js";
export declare const VIDEO_EDIT_TOOL_NAME: "video_edit";
export interface VideoEditToolParams {
    prompt: string;
    source_videos: string[];
    reference_images?: string[];
    duration?: number;
    aspect_ratio?: string;
    resolution?: string;
}
export declare const VIDEO_EDIT_TOOL_SCHEMA: {
    readonly type: "object";
    readonly properties: {
        readonly prompt: {
            readonly type: "string";
            readonly description: string;
        };
        readonly source_videos: {
            readonly type: "array";
            readonly items: {
                readonly type: "string";
            };
            readonly minItems: 1;
            readonly maxItems: 3;
            readonly description: string;
        };
        readonly reference_images: {
            readonly type: "array";
            readonly items: {
                readonly type: "string";
            };
            readonly maxItems: 9;
            readonly description: string;
        };
        readonly duration: {
            readonly type: "number";
            readonly minimum: 4;
            readonly maximum: 15;
            readonly description: "Output duration in seconds (4-15s). Default: same as source.";
        };
        readonly aspect_ratio: {
            readonly type: "string";
            readonly description: "Output aspect ratio: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9. Default: same as source.";
        };
        readonly resolution: {
            readonly type: "string";
            readonly description: "Output resolution: '480p' or '720p'. Default: '720p'.";
        };
    };
    readonly required: readonly ["prompt", "source_videos"];
};
export interface VideoEditResult {
    mediaUrls: string[];
    model?: string;
    durationMs?: number;
}
/** Deps injected by the host runtime for video editing. */
export interface VideoEditToolDeps {
    /**
     * Edit a video via the configured backend (Seedance 2.0, etc.).
     * The host handles URL resolution, model routing, and storage.
     */
    editVideo(params: {
        prompt: string;
        sourceVideos: string[];
        referenceImages?: string[];
        duration?: number;
        aspectRatio?: string;
        resolution?: string;
    }): Promise<VideoEditResult>;
}
export declare function createVideoEditTool(deps: VideoEditToolDeps): PortableTool<VideoEditToolParams>;
