import { z } from "zod";
export declare const voice: z.ZodObject<{
    languageCode: z.ZodString;
    name: z.ZodString;
    speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    languageCode: string;
    speakingRate: number;
    pitch: number;
    volumeGainDb: number;
}, {
    name: string;
    languageCode: string;
    speakingRate?: number | undefined;
    pitch?: number | undefined;
    volumeGainDb?: number | undefined;
}>;
export declare const volumeMix: z.ZodObject<{
    narration: z.ZodDefault<z.ZodNumber>;
    bgm: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    narration: number;
    bgm: number;
}, {
    narration?: number | undefined;
    bgm?: number | undefined;
}>;
export declare const narrationDefaults: z.ZodObject<{
    voice: z.ZodOptional<z.ZodObject<{
        languageCode: z.ZodString;
        name: z.ZodString;
        speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        languageCode: string;
        speakingRate: number;
        pitch: number;
        volumeGainDb: number;
    }, {
        name: string;
        languageCode: string;
        speakingRate?: number | undefined;
        pitch?: number | undefined;
        volumeGainDb?: number | undefined;
    }>>;
    volumeMix: z.ZodOptional<z.ZodObject<{
        narration: z.ZodDefault<z.ZodNumber>;
        bgm: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        narration: number;
        bgm: number;
    }, {
        narration?: number | undefined;
        bgm?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    voice?: {
        name: string;
        languageCode: string;
        speakingRate: number;
        pitch: number;
        volumeGainDb: number;
    } | undefined;
    volumeMix?: {
        narration: number;
        bgm: number;
    } | undefined;
}, {
    voice?: {
        name: string;
        languageCode: string;
        speakingRate?: number | undefined;
        pitch?: number | undefined;
        volumeGainDb?: number | undefined;
    } | undefined;
    volumeMix?: {
        narration?: number | undefined;
        bgm?: number | undefined;
    } | undefined;
}>;
export declare const projectSettings: z.ZodObject<{
    resolution: z.ZodString;
    fps: z.ZodNumber;
    duration: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
    narrationDefaults: z.ZodOptional<z.ZodObject<{
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        volumeMix: z.ZodOptional<z.ZodObject<{
            narration: z.ZodDefault<z.ZodNumber>;
            bgm: z.ZodDefault<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            narration: number;
            bgm: number;
        }, {
            narration?: number | undefined;
            bgm?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        volumeMix?: {
            narration: number;
            bgm: number;
        } | undefined;
    }, {
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        volumeMix?: {
            narration?: number | undefined;
            bgm?: number | undefined;
        } | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    fps: number;
    resolution: string;
    duration?: number | null | undefined;
    narrationDefaults?: {
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        volumeMix?: {
            narration: number;
            bgm: number;
        } | undefined;
    } | undefined;
}, {
    fps: number;
    resolution: string;
    duration?: number | null | undefined;
    narrationDefaults?: {
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        volumeMix?: {
            narration?: number | undefined;
            bgm?: number | undefined;
        } | undefined;
    } | undefined;
}>;
export declare const background: z.ZodObject<{
    type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
    value: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "image" | "color" | "gradient";
    value: string;
}, {
    type: "image" | "color" | "gradient";
    value: string;
}>;
export declare const transition: z.ZodObject<{
    type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
    duration: z.ZodNumber;
    direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
}, "strip", z.ZodTypeAny, {
    type: "fade" | "wipe" | "dissolve";
    duration: number;
    direction?: "left" | "right" | "up" | "down" | undefined;
}, {
    type: "fade" | "wipe" | "dissolve";
    duration: number;
    direction?: "left" | "right" | "up" | "down" | undefined;
}>;
export declare const narrationTiming: z.ZodObject<{
    delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    fadeIn: number;
    fadeOut: number;
    delay: number;
}, {
    fadeIn?: number | undefined;
    fadeOut?: number | undefined;
    delay?: number | undefined;
}>;
export declare const narration: z.ZodObject<{
    text: z.ZodString;
    voice: z.ZodOptional<z.ZodObject<{
        languageCode: z.ZodString;
        name: z.ZodString;
        speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        languageCode: string;
        speakingRate: number;
        pitch: number;
        volumeGainDb: number;
    }, {
        name: string;
        languageCode: string;
        speakingRate?: number | undefined;
        pitch?: number | undefined;
        volumeGainDb?: number | undefined;
    }>>;
    timing: z.ZodOptional<z.ZodObject<{
        delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        fadeIn: number;
        fadeOut: number;
        delay: number;
    }, {
        fadeIn?: number | undefined;
        fadeOut?: number | undefined;
        delay?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    text: string;
    voice?: {
        name: string;
        languageCode: string;
        speakingRate: number;
        pitch: number;
        volumeGainDb: number;
    } | undefined;
    timing?: {
        fadeIn: number;
        fadeOut: number;
        delay: number;
    } | undefined;
}, {
    text: string;
    voice?: {
        name: string;
        languageCode: string;
        speakingRate?: number | undefined;
        pitch?: number | undefined;
        volumeGainDb?: number | undefined;
    } | undefined;
    timing?: {
        fadeIn?: number | undefined;
        fadeOut?: number | undefined;
        delay?: number | undefined;
    } | undefined;
}>;
export declare const baseScene: z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>;
export declare const textStyle: z.ZodObject<{
    fontSize: z.ZodNumber;
    color: z.ZodString;
    fontFamily: z.ZodString;
    fontWeight: z.ZodOptional<z.ZodString>;
    textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
}, "strip", z.ZodTypeAny, {
    color: string;
    fontSize: number;
    fontFamily: string;
    fontWeight?: string | undefined;
    textAlign?: "center" | "left" | "right" | undefined;
}, {
    color: string;
    fontSize: number;
    fontFamily: string;
    fontWeight?: string | undefined;
    textAlign?: "center" | "left" | "right" | undefined;
}>;
export declare const position: z.ZodObject<{
    x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
    y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
}, "strip", z.ZodTypeAny, {
    x: number | "center";
    y: number | "center";
}, {
    x: number | "center";
    y: number | "center";
}>;
export declare const textContent: z.ZodObject<{
    text: z.ZodString;
    style: z.ZodObject<{
        fontSize: z.ZodNumber;
        color: z.ZodString;
        fontFamily: z.ZodString;
        fontWeight: z.ZodOptional<z.ZodString>;
        textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
    }, "strip", z.ZodTypeAny, {
        color: string;
        fontSize: number;
        fontFamily: string;
        fontWeight?: string | undefined;
        textAlign?: "center" | "left" | "right" | undefined;
    }, {
        color: string;
        fontSize: number;
        fontFamily: string;
        fontWeight?: string | undefined;
        textAlign?: "center" | "left" | "right" | undefined;
    }>;
    position: z.ZodObject<{
        x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
    }, "strip", z.ZodTypeAny, {
        x: number | "center";
        y: number | "center";
    }, {
        x: number | "center";
        y: number | "center";
    }>;
}, "strip", z.ZodTypeAny, {
    style: {
        color: string;
        fontSize: number;
        fontFamily: string;
        fontWeight?: string | undefined;
        textAlign?: "center" | "left" | "right" | undefined;
    };
    text: string;
    position: {
        x: number | "center";
        y: number | "center";
    };
}, {
    style: {
        color: string;
        fontSize: number;
        fontFamily: string;
        fontWeight?: string | undefined;
        textAlign?: "center" | "left" | "right" | undefined;
    };
    text: string;
    position: {
        x: number | "center";
        y: number | "center";
    };
}>;
export declare const textScene: z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"text">;
    content: z.ZodObject<{
        text: z.ZodString;
        style: z.ZodObject<{
            fontSize: z.ZodNumber;
            color: z.ZodString;
            fontFamily: z.ZodString;
            fontWeight: z.ZodOptional<z.ZodString>;
            textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
        }, "strip", z.ZodTypeAny, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }>;
}, "strip", z.ZodTypeAny, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>;
export declare const generateImageSource: z.ZodObject<{
    type: z.ZodLiteral<"generate">;
    prompt: z.ZodString;
    style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
    aspectRatio: z.ZodOptional<z.ZodString>;
    seed: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "generate";
    prompt: string;
    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
    aspectRatio?: string | undefined;
    seed?: number | undefined;
}, {
    type: "generate";
    prompt: string;
    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
    aspectRatio?: string | undefined;
    seed?: number | undefined;
}>;
export declare const imageContent: z.ZodObject<{
    src: z.ZodUnion<[z.ZodString, z.ZodObject<{
        type: z.ZodLiteral<"generate">;
        prompt: z.ZodString;
        style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
        aspectRatio: z.ZodOptional<z.ZodString>;
        seed: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "generate";
        prompt: string;
        style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
        aspectRatio?: string | undefined;
        seed?: number | undefined;
    }, {
        type: "generate";
        prompt: string;
        style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
        aspectRatio?: string | undefined;
        seed?: number | undefined;
    }>]>;
    fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
    position: z.ZodObject<{
        x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
    }, "strip", z.ZodTypeAny, {
        x: number | "center";
        y: number | "center";
    }, {
        x: number | "center";
        y: number | "center";
    }>;
}, "strip", z.ZodTypeAny, {
    position: {
        x: number | "center";
        y: number | "center";
    };
    src: string | {
        type: "generate";
        prompt: string;
        style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
        aspectRatio?: string | undefined;
        seed?: number | undefined;
    };
    fit: "fill" | "cover" | "contain";
}, {
    position: {
        x: number | "center";
        y: number | "center";
    };
    src: string | {
        type: "generate";
        prompt: string;
        style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
        aspectRatio?: string | undefined;
        seed?: number | undefined;
    };
    fit: "fill" | "cover" | "contain";
}>;
export declare const imageScene: z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"image">;
    content: z.ZodObject<{
        src: z.ZodUnion<[z.ZodString, z.ZodObject<{
            type: z.ZodLiteral<"generate">;
            prompt: z.ZodString;
            style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
            aspectRatio: z.ZodOptional<z.ZodString>;
            seed: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }>]>;
        fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }>;
}, "strip", z.ZodTypeAny, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>;
export declare const videoTrim: z.ZodObject<{
    start: z.ZodNumber;
    end: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    start: number;
    end: number;
}, {
    start: number;
    end: number;
}>;
export declare const videoContent: z.ZodObject<{
    src: z.ZodString;
    trim: z.ZodOptional<z.ZodObject<{
        start: z.ZodNumber;
        end: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        start: number;
        end: number;
    }, {
        start: number;
        end: number;
    }>>;
}, "strip", z.ZodTypeAny, {
    src: string;
    trim?: {
        start: number;
        end: number;
    } | undefined;
}, {
    src: string;
    trim?: {
        start: number;
        end: number;
    } | undefined;
}>;
export declare const videoScene: z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"video">;
    content: z.ZodObject<{
        src: z.ZodString;
        trim: z.ZodOptional<z.ZodObject<{
            start: z.ZodNumber;
            end: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            start: number;
            end: number;
        }, {
            start: number;
            end: number;
        }>>;
    }, "strip", z.ZodTypeAny, {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    }, {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "video";
    content: {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "video";
    content: {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>;
export declare const textLayer: z.ZodObject<{
    type: z.ZodLiteral<"text">;
    content: z.ZodObject<{
        text: z.ZodString;
        style: z.ZodObject<{
            fontSize: z.ZodNumber;
            color: z.ZodString;
            fontFamily: z.ZodString;
            fontWeight: z.ZodOptional<z.ZodString>;
            textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
        }, "strip", z.ZodTypeAny, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }>;
    zIndex: z.ZodOptional<z.ZodNumber>;
    opacity: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}>;
export declare const imageLayer: z.ZodObject<{
    type: z.ZodLiteral<"image">;
    content: z.ZodObject<{
        src: z.ZodUnion<[z.ZodString, z.ZodObject<{
            type: z.ZodLiteral<"generate">;
            prompt: z.ZodString;
            style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
            aspectRatio: z.ZodOptional<z.ZodString>;
            seed: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }>]>;
        fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }>;
    zIndex: z.ZodOptional<z.ZodNumber>;
    opacity: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}>;
export declare const layer: z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"text">;
    content: z.ZodObject<{
        text: z.ZodString;
        style: z.ZodObject<{
            fontSize: z.ZodNumber;
            color: z.ZodString;
            fontFamily: z.ZodString;
            fontWeight: z.ZodOptional<z.ZodString>;
            textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
        }, "strip", z.ZodTypeAny, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }>;
    zIndex: z.ZodOptional<z.ZodNumber>;
    opacity: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"image">;
    content: z.ZodObject<{
        src: z.ZodUnion<[z.ZodString, z.ZodObject<{
            type: z.ZodLiteral<"generate">;
            prompt: z.ZodString;
            style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
            aspectRatio: z.ZodOptional<z.ZodString>;
            seed: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }>]>;
        fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }>;
    zIndex: z.ZodOptional<z.ZodNumber>;
    opacity: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    zIndex?: number | undefined;
    opacity?: number | undefined;
}>]>;
export declare const compositeScene: z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"composite">;
    layers: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"text">;
        content: z.ZodObject<{
            text: z.ZodString;
            style: z.ZodObject<{
                fontSize: z.ZodNumber;
                color: z.ZodString;
                fontFamily: z.ZodString;
                fontWeight: z.ZodOptional<z.ZodString>;
                textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
            }, "strip", z.ZodTypeAny, {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            }, {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            }>;
            position: z.ZodObject<{
                x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            }, "strip", z.ZodTypeAny, {
                x: number | "center";
                y: number | "center";
            }, {
                x: number | "center";
                y: number | "center";
            }>;
        }, "strip", z.ZodTypeAny, {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        }, {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        }>;
        zIndex: z.ZodOptional<z.ZodNumber>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }, {
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"image">;
        content: z.ZodObject<{
            src: z.ZodUnion<[z.ZodString, z.ZodObject<{
                type: z.ZodLiteral<"generate">;
                prompt: z.ZodString;
                style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
                aspectRatio: z.ZodOptional<z.ZodString>;
                seed: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            }, {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            }>]>;
            fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
            position: z.ZodObject<{
                x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            }, "strip", z.ZodTypeAny, {
                x: number | "center";
                y: number | "center";
            }, {
                x: number | "center";
                y: number | "center";
            }>;
        }, "strip", z.ZodTypeAny, {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        }, {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        }>;
        zIndex: z.ZodOptional<z.ZodNumber>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }, {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    type: "composite";
    duration: number;
    id: string;
    layers: ({
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    } | {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    })[];
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "composite";
    duration: number;
    id: string;
    layers: ({
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    } | {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    })[];
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>;
export declare const scene: z.ZodUnion<[z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"text">;
    content: z.ZodObject<{
        text: z.ZodString;
        style: z.ZodObject<{
            fontSize: z.ZodNumber;
            color: z.ZodString;
            fontFamily: z.ZodString;
            fontWeight: z.ZodOptional<z.ZodString>;
            textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
        }, "strip", z.ZodTypeAny, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }, {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        }>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }, {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    }>;
}, "strip", z.ZodTypeAny, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "text";
    content: {
        style: {
            color: string;
            fontSize: number;
            fontFamily: string;
            fontWeight?: string | undefined;
            textAlign?: "center" | "left" | "right" | undefined;
        };
        text: string;
        position: {
            x: number | "center";
            y: number | "center";
        };
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>, z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"image">;
    content: z.ZodObject<{
        src: z.ZodUnion<[z.ZodString, z.ZodObject<{
            type: z.ZodLiteral<"generate">;
            prompt: z.ZodString;
            style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
            aspectRatio: z.ZodOptional<z.ZodString>;
            seed: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }, {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        }>]>;
        fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
        position: z.ZodObject<{
            x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
        }, "strip", z.ZodTypeAny, {
            x: number | "center";
            y: number | "center";
        }, {
            x: number | "center";
            y: number | "center";
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }, {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    }>;
}, "strip", z.ZodTypeAny, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "image";
    content: {
        position: {
            x: number | "center";
            y: number | "center";
        };
        src: string | {
            type: "generate";
            prompt: string;
            style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
            aspectRatio?: string | undefined;
            seed?: number | undefined;
        };
        fit: "fill" | "cover" | "contain";
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>, z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"video">;
    content: z.ZodObject<{
        src: z.ZodString;
        trim: z.ZodOptional<z.ZodObject<{
            start: z.ZodNumber;
            end: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            start: number;
            end: number;
        }, {
            start: number;
            end: number;
        }>>;
    }, "strip", z.ZodTypeAny, {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    }, {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "video";
    content: {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "video";
    content: {
        src: string;
        trim?: {
            start: number;
            end: number;
        } | undefined;
    };
    duration: number;
    id: string;
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>, z.ZodObject<{
    id: z.ZodString;
    duration: z.ZodNumber;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
        value: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "image" | "color" | "gradient";
        value: string;
    }, {
        type: "image" | "color" | "gradient";
        value: string;
    }>>;
    transition: z.ZodOptional<z.ZodObject<{
        type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
        duration: z.ZodNumber;
        direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
    }, "strip", z.ZodTypeAny, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }, {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    }>>;
    narration: z.ZodOptional<z.ZodObject<{
        text: z.ZodString;
        voice: z.ZodOptional<z.ZodObject<{
            languageCode: z.ZodString;
            name: z.ZodString;
            speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        }, {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        }>>;
        timing: z.ZodOptional<z.ZodObject<{
            delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        }, {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    }, {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    }>>;
} & {
    type: z.ZodLiteral<"composite">;
    layers: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"text">;
        content: z.ZodObject<{
            text: z.ZodString;
            style: z.ZodObject<{
                fontSize: z.ZodNumber;
                color: z.ZodString;
                fontFamily: z.ZodString;
                fontWeight: z.ZodOptional<z.ZodString>;
                textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
            }, "strip", z.ZodTypeAny, {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            }, {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            }>;
            position: z.ZodObject<{
                x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            }, "strip", z.ZodTypeAny, {
                x: number | "center";
                y: number | "center";
            }, {
                x: number | "center";
                y: number | "center";
            }>;
        }, "strip", z.ZodTypeAny, {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        }, {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        }>;
        zIndex: z.ZodOptional<z.ZodNumber>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }, {
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"image">;
        content: z.ZodObject<{
            src: z.ZodUnion<[z.ZodString, z.ZodObject<{
                type: z.ZodLiteral<"generate">;
                prompt: z.ZodString;
                style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
                aspectRatio: z.ZodOptional<z.ZodString>;
                seed: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            }, {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            }>]>;
            fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
            position: z.ZodObject<{
                x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            }, "strip", z.ZodTypeAny, {
                x: number | "center";
                y: number | "center";
            }, {
                x: number | "center";
                y: number | "center";
            }>;
        }, "strip", z.ZodTypeAny, {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        }, {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        }>;
        zIndex: z.ZodOptional<z.ZodNumber>;
        opacity: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }, {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    type: "composite";
    duration: number;
    id: string;
    layers: ({
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    } | {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    })[];
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate: number;
            pitch: number;
            volumeGainDb: number;
        } | undefined;
        timing?: {
            fadeIn: number;
            fadeOut: number;
            delay: number;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}, {
    type: "composite";
    duration: number;
    id: string;
    layers: ({
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    } | {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        zIndex?: number | undefined;
        opacity?: number | undefined;
    })[];
    narration?: {
        text: string;
        voice?: {
            name: string;
            languageCode: string;
            speakingRate?: number | undefined;
            pitch?: number | undefined;
            volumeGainDb?: number | undefined;
        } | undefined;
        timing?: {
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
            delay?: number | undefined;
        } | undefined;
    } | undefined;
    transition?: {
        type: "fade" | "wipe" | "dissolve";
        duration: number;
        direction?: "left" | "right" | "up" | "down" | undefined;
    } | undefined;
    background?: {
        type: "image" | "color" | "gradient";
        value: string;
    } | undefined;
}>]>;
export declare const weightedPrompt: z.ZodObject<{
    text: z.ZodString;
    weight: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    text: string;
    weight: number;
}, {
    text: string;
    weight: number;
}>;
export declare const musicGenerationConfig: z.ZodObject<{
    bpm: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    guidance: z.ZodOptional<z.ZodNumber>;
    density: z.ZodOptional<z.ZodNumber>;
    brightness: z.ZodOptional<z.ZodNumber>;
    scale: z.ZodOptional<z.ZodString>;
    muteBass: z.ZodOptional<z.ZodBoolean>;
    muteDrums: z.ZodOptional<z.ZodBoolean>;
    onlyBassAndDrums: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    bpm?: number | undefined;
    temperature?: number | undefined;
    guidance?: number | undefined;
    density?: number | undefined;
    brightness?: number | undefined;
    scale?: string | undefined;
    muteBass?: boolean | undefined;
    muteDrums?: boolean | undefined;
    onlyBassAndDrums?: boolean | undefined;
}, {
    bpm?: number | undefined;
    temperature?: number | undefined;
    guidance?: number | undefined;
    density?: number | undefined;
    brightness?: number | undefined;
    scale?: string | undefined;
    muteBass?: boolean | undefined;
    muteDrums?: boolean | undefined;
    onlyBassAndDrums?: boolean | undefined;
}>;
export declare const generateMusicSource: z.ZodObject<{
    type: z.ZodLiteral<"generate">;
    prompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
        text: z.ZodString;
        weight: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        text: string;
        weight: number;
    }, {
        text: string;
        weight: number;
    }>, "many">>;
    prompt: z.ZodOptional<z.ZodString>;
    config: z.ZodOptional<z.ZodObject<{
        bpm: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        guidance: z.ZodOptional<z.ZodNumber>;
        density: z.ZodOptional<z.ZodNumber>;
        brightness: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodString>;
        muteBass: z.ZodOptional<z.ZodBoolean>;
        muteDrums: z.ZodOptional<z.ZodBoolean>;
        onlyBassAndDrums: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        bpm?: number | undefined;
        temperature?: number | undefined;
        guidance?: number | undefined;
        density?: number | undefined;
        brightness?: number | undefined;
        scale?: string | undefined;
        muteBass?: boolean | undefined;
        muteDrums?: boolean | undefined;
        onlyBassAndDrums?: boolean | undefined;
    }, {
        bpm?: number | undefined;
        temperature?: number | undefined;
        guidance?: number | undefined;
        density?: number | undefined;
        brightness?: number | undefined;
        scale?: string | undefined;
        muteBass?: boolean | undefined;
        muteDrums?: boolean | undefined;
        onlyBassAndDrums?: boolean | undefined;
    }>>;
    duration: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "generate";
    prompt?: string | undefined;
    duration?: number | undefined;
    prompts?: {
        text: string;
        weight: number;
    }[] | undefined;
    config?: {
        bpm?: number | undefined;
        temperature?: number | undefined;
        guidance?: number | undefined;
        density?: number | undefined;
        brightness?: number | undefined;
        scale?: string | undefined;
        muteBass?: boolean | undefined;
        muteDrums?: boolean | undefined;
        onlyBassAndDrums?: boolean | undefined;
    } | undefined;
    seed?: number | undefined;
}, {
    type: "generate";
    prompt?: string | undefined;
    duration?: number | undefined;
    prompts?: {
        text: string;
        weight: number;
    }[] | undefined;
    config?: {
        bpm?: number | undefined;
        temperature?: number | undefined;
        guidance?: number | undefined;
        density?: number | undefined;
        brightness?: number | undefined;
        scale?: string | undefined;
        muteBass?: boolean | undefined;
        muteDrums?: boolean | undefined;
        onlyBassAndDrums?: boolean | undefined;
    } | undefined;
    seed?: number | undefined;
}>;
export declare const backgroundMusic: z.ZodObject<{
    src: z.ZodUnion<[z.ZodString, z.ZodObject<{
        type: z.ZodLiteral<"generate">;
        prompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
            text: z.ZodString;
            weight: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            text: string;
            weight: number;
        }, {
            text: string;
            weight: number;
        }>, "many">>;
        prompt: z.ZodOptional<z.ZodString>;
        config: z.ZodOptional<z.ZodObject<{
            bpm: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            guidance: z.ZodOptional<z.ZodNumber>;
            density: z.ZodOptional<z.ZodNumber>;
            brightness: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodString>;
            muteBass: z.ZodOptional<z.ZodBoolean>;
            muteDrums: z.ZodOptional<z.ZodBoolean>;
            onlyBassAndDrums: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            bpm?: number | undefined;
            temperature?: number | undefined;
            guidance?: number | undefined;
            density?: number | undefined;
            brightness?: number | undefined;
            scale?: string | undefined;
            muteBass?: boolean | undefined;
            muteDrums?: boolean | undefined;
            onlyBassAndDrums?: boolean | undefined;
        }, {
            bpm?: number | undefined;
            temperature?: number | undefined;
            guidance?: number | undefined;
            density?: number | undefined;
            brightness?: number | undefined;
            scale?: string | undefined;
            muteBass?: boolean | undefined;
            muteDrums?: boolean | undefined;
            onlyBassAndDrums?: boolean | undefined;
        }>>;
        duration: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "generate";
        prompt?: string | undefined;
        duration?: number | undefined;
        prompts?: {
            text: string;
            weight: number;
        }[] | undefined;
        config?: {
            bpm?: number | undefined;
            temperature?: number | undefined;
            guidance?: number | undefined;
            density?: number | undefined;
            brightness?: number | undefined;
            scale?: string | undefined;
            muteBass?: boolean | undefined;
            muteDrums?: boolean | undefined;
            onlyBassAndDrums?: boolean | undefined;
        } | undefined;
        seed?: number | undefined;
    }, {
        type: "generate";
        prompt?: string | undefined;
        duration?: number | undefined;
        prompts?: {
            text: string;
            weight: number;
        }[] | undefined;
        config?: {
            bpm?: number | undefined;
            temperature?: number | undefined;
            guidance?: number | undefined;
            density?: number | undefined;
            brightness?: number | undefined;
            scale?: string | undefined;
            muteBass?: boolean | undefined;
            muteDrums?: boolean | undefined;
            onlyBassAndDrums?: boolean | undefined;
        } | undefined;
        seed?: number | undefined;
    }>]>;
    volume: z.ZodNumber;
    fadeIn: z.ZodOptional<z.ZodNumber>;
    fadeOut: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    volume: number;
    src: string | {
        type: "generate";
        prompt?: string | undefined;
        duration?: number | undefined;
        prompts?: {
            text: string;
            weight: number;
        }[] | undefined;
        config?: {
            bpm?: number | undefined;
            temperature?: number | undefined;
            guidance?: number | undefined;
            density?: number | undefined;
            brightness?: number | undefined;
            scale?: string | undefined;
            muteBass?: boolean | undefined;
            muteDrums?: boolean | undefined;
            onlyBassAndDrums?: boolean | undefined;
        } | undefined;
        seed?: number | undefined;
    };
    fadeIn?: number | undefined;
    fadeOut?: number | undefined;
}, {
    volume: number;
    src: string | {
        type: "generate";
        prompt?: string | undefined;
        duration?: number | undefined;
        prompts?: {
            text: string;
            weight: number;
        }[] | undefined;
        config?: {
            bpm?: number | undefined;
            temperature?: number | undefined;
            guidance?: number | undefined;
            density?: number | undefined;
            brightness?: number | undefined;
            scale?: string | undefined;
            muteBass?: boolean | undefined;
            muteDrums?: boolean | undefined;
            onlyBassAndDrums?: boolean | undefined;
        } | undefined;
        seed?: number | undefined;
    };
    fadeIn?: number | undefined;
    fadeOut?: number | undefined;
}>;
export declare const audioSettings: z.ZodObject<{
    backgroundMusic: z.ZodOptional<z.ZodObject<{
        src: z.ZodUnion<[z.ZodString, z.ZodObject<{
            type: z.ZodLiteral<"generate">;
            prompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                weight: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                text: string;
                weight: number;
            }, {
                text: string;
                weight: number;
            }>, "many">>;
            prompt: z.ZodOptional<z.ZodString>;
            config: z.ZodOptional<z.ZodObject<{
                bpm: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                guidance: z.ZodOptional<z.ZodNumber>;
                density: z.ZodOptional<z.ZodNumber>;
                brightness: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodString>;
                muteBass: z.ZodOptional<z.ZodBoolean>;
                muteDrums: z.ZodOptional<z.ZodBoolean>;
                onlyBassAndDrums: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            }, {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            }>>;
            duration: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "generate";
            prompt?: string | undefined;
            duration?: number | undefined;
            prompts?: {
                text: string;
                weight: number;
            }[] | undefined;
            config?: {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            } | undefined;
            seed?: number | undefined;
        }, {
            type: "generate";
            prompt?: string | undefined;
            duration?: number | undefined;
            prompts?: {
                text: string;
                weight: number;
            }[] | undefined;
            config?: {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            } | undefined;
            seed?: number | undefined;
        }>]>;
        volume: z.ZodNumber;
        fadeIn: z.ZodOptional<z.ZodNumber>;
        fadeOut: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        volume: number;
        src: string | {
            type: "generate";
            prompt?: string | undefined;
            duration?: number | undefined;
            prompts?: {
                text: string;
                weight: number;
            }[] | undefined;
            config?: {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            } | undefined;
            seed?: number | undefined;
        };
        fadeIn?: number | undefined;
        fadeOut?: number | undefined;
    }, {
        volume: number;
        src: string | {
            type: "generate";
            prompt?: string | undefined;
            duration?: number | undefined;
            prompts?: {
                text: string;
                weight: number;
            }[] | undefined;
            config?: {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            } | undefined;
            seed?: number | undefined;
        };
        fadeIn?: number | undefined;
        fadeOut?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    backgroundMusic?: {
        volume: number;
        src: string | {
            type: "generate";
            prompt?: string | undefined;
            duration?: number | undefined;
            prompts?: {
                text: string;
                weight: number;
            }[] | undefined;
            config?: {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            } | undefined;
            seed?: number | undefined;
        };
        fadeIn?: number | undefined;
        fadeOut?: number | undefined;
    } | undefined;
}, {
    backgroundMusic?: {
        volume: number;
        src: string | {
            type: "generate";
            prompt?: string | undefined;
            duration?: number | undefined;
            prompts?: {
                text: string;
                weight: number;
            }[] | undefined;
            config?: {
                bpm?: number | undefined;
                temperature?: number | undefined;
                guidance?: number | undefined;
                density?: number | undefined;
                brightness?: number | undefined;
                scale?: string | undefined;
                muteBass?: boolean | undefined;
                muteDrums?: boolean | undefined;
                onlyBassAndDrums?: boolean | undefined;
            } | undefined;
            seed?: number | undefined;
        };
        fadeIn?: number | undefined;
        fadeOut?: number | undefined;
    } | undefined;
}>;
export declare const kumikiProject: z.ZodObject<{
    version: z.ZodString;
    name: z.ZodString;
    settings: z.ZodObject<{
        resolution: z.ZodString;
        fps: z.ZodNumber;
        duration: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
        narrationDefaults: z.ZodOptional<z.ZodObject<{
            voice: z.ZodOptional<z.ZodObject<{
                languageCode: z.ZodString;
                name: z.ZodString;
                speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            }, {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            }>>;
            volumeMix: z.ZodOptional<z.ZodObject<{
                narration: z.ZodDefault<z.ZodNumber>;
                bgm: z.ZodDefault<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                narration: number;
                bgm: number;
            }, {
                narration?: number | undefined;
                bgm?: number | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            volumeMix?: {
                narration: number;
                bgm: number;
            } | undefined;
        }, {
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            volumeMix?: {
                narration?: number | undefined;
                bgm?: number | undefined;
            } | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        fps: number;
        resolution: string;
        duration?: number | null | undefined;
        narrationDefaults?: {
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            volumeMix?: {
                narration: number;
                bgm: number;
            } | undefined;
        } | undefined;
    }, {
        fps: number;
        resolution: string;
        duration?: number | null | undefined;
        narrationDefaults?: {
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            volumeMix?: {
                narration?: number | undefined;
                bgm?: number | undefined;
            } | undefined;
        } | undefined;
    }>;
    scenes: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        id: z.ZodString;
        duration: z.ZodNumber;
        background: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
            value: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "image" | "color" | "gradient";
            value: string;
        }, {
            type: "image" | "color" | "gradient";
            value: string;
        }>>;
        transition: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
            duration: z.ZodNumber;
            direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
        }, "strip", z.ZodTypeAny, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }>>;
        narration: z.ZodOptional<z.ZodObject<{
            text: z.ZodString;
            voice: z.ZodOptional<z.ZodObject<{
                languageCode: z.ZodString;
                name: z.ZodString;
                speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            }, {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            }>>;
            timing: z.ZodOptional<z.ZodObject<{
                delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            }, {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        }, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        }>>;
    } & {
        type: z.ZodLiteral<"text">;
        content: z.ZodObject<{
            text: z.ZodString;
            style: z.ZodObject<{
                fontSize: z.ZodNumber;
                color: z.ZodString;
                fontFamily: z.ZodString;
                fontWeight: z.ZodOptional<z.ZodString>;
                textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
            }, "strip", z.ZodTypeAny, {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            }, {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            }>;
            position: z.ZodObject<{
                x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            }, "strip", z.ZodTypeAny, {
                x: number | "center";
                y: number | "center";
            }, {
                x: number | "center";
                y: number | "center";
            }>;
        }, "strip", z.ZodTypeAny, {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        }, {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }, {
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }>, z.ZodObject<{
        id: z.ZodString;
        duration: z.ZodNumber;
        background: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
            value: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "image" | "color" | "gradient";
            value: string;
        }, {
            type: "image" | "color" | "gradient";
            value: string;
        }>>;
        transition: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
            duration: z.ZodNumber;
            direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
        }, "strip", z.ZodTypeAny, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }>>;
        narration: z.ZodOptional<z.ZodObject<{
            text: z.ZodString;
            voice: z.ZodOptional<z.ZodObject<{
                languageCode: z.ZodString;
                name: z.ZodString;
                speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            }, {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            }>>;
            timing: z.ZodOptional<z.ZodObject<{
                delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            }, {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        }, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        }>>;
    } & {
        type: z.ZodLiteral<"image">;
        content: z.ZodObject<{
            src: z.ZodUnion<[z.ZodString, z.ZodObject<{
                type: z.ZodLiteral<"generate">;
                prompt: z.ZodString;
                style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
                aspectRatio: z.ZodOptional<z.ZodString>;
                seed: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            }, {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            }>]>;
            fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
            position: z.ZodObject<{
                x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
            }, "strip", z.ZodTypeAny, {
                x: number | "center";
                y: number | "center";
            }, {
                x: number | "center";
                y: number | "center";
            }>;
        }, "strip", z.ZodTypeAny, {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        }, {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }, {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }>, z.ZodObject<{
        id: z.ZodString;
        duration: z.ZodNumber;
        background: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
            value: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "image" | "color" | "gradient";
            value: string;
        }, {
            type: "image" | "color" | "gradient";
            value: string;
        }>>;
        transition: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
            duration: z.ZodNumber;
            direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
        }, "strip", z.ZodTypeAny, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }>>;
        narration: z.ZodOptional<z.ZodObject<{
            text: z.ZodString;
            voice: z.ZodOptional<z.ZodObject<{
                languageCode: z.ZodString;
                name: z.ZodString;
                speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            }, {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            }>>;
            timing: z.ZodOptional<z.ZodObject<{
                delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            }, {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        }, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        }>>;
    } & {
        type: z.ZodLiteral<"video">;
        content: z.ZodObject<{
            src: z.ZodString;
            trim: z.ZodOptional<z.ZodObject<{
                start: z.ZodNumber;
                end: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                start: number;
                end: number;
            }, {
                start: number;
                end: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            src: string;
            trim?: {
                start: number;
                end: number;
            } | undefined;
        }, {
            src: string;
            trim?: {
                start: number;
                end: number;
            } | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "video";
        content: {
            src: string;
            trim?: {
                start: number;
                end: number;
            } | undefined;
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }, {
        type: "video";
        content: {
            src: string;
            trim?: {
                start: number;
                end: number;
            } | undefined;
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }>, z.ZodObject<{
        id: z.ZodString;
        duration: z.ZodNumber;
        background: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"color">, z.ZodLiteral<"image">, z.ZodLiteral<"gradient">]>;
            value: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "image" | "color" | "gradient";
            value: string;
        }, {
            type: "image" | "color" | "gradient";
            value: string;
        }>>;
        transition: z.ZodOptional<z.ZodObject<{
            type: z.ZodUnion<[z.ZodLiteral<"fade">, z.ZodLiteral<"wipe">, z.ZodLiteral<"dissolve">]>;
            duration: z.ZodNumber;
            direction: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"up">, z.ZodLiteral<"down">]>>;
        }, "strip", z.ZodTypeAny, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }, {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        }>>;
        narration: z.ZodOptional<z.ZodObject<{
            text: z.ZodString;
            voice: z.ZodOptional<z.ZodObject<{
                languageCode: z.ZodString;
                name: z.ZodString;
                speakingRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                pitch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                volumeGainDb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            }, {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            }>>;
            timing: z.ZodOptional<z.ZodObject<{
                delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeIn: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
                fadeOut: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            }, {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        }, {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        }>>;
    } & {
        type: z.ZodLiteral<"composite">;
        layers: z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            content: z.ZodObject<{
                text: z.ZodString;
                style: z.ZodObject<{
                    fontSize: z.ZodNumber;
                    color: z.ZodString;
                    fontFamily: z.ZodString;
                    fontWeight: z.ZodOptional<z.ZodString>;
                    textAlign: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">]>>;
                }, "strip", z.ZodTypeAny, {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                }, {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                }>;
                position: z.ZodObject<{
                    x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                    y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                }, "strip", z.ZodTypeAny, {
                    x: number | "center";
                    y: number | "center";
                }, {
                    x: number | "center";
                    y: number | "center";
                }>;
            }, "strip", z.ZodTypeAny, {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            }, {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            }>;
            zIndex: z.ZodOptional<z.ZodNumber>;
            opacity: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            content: {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        }, {
            type: "text";
            content: {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image">;
            content: z.ZodObject<{
                src: z.ZodUnion<[z.ZodString, z.ZodObject<{
                    type: z.ZodLiteral<"generate">;
                    prompt: z.ZodString;
                    style: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"photorealistic">, z.ZodLiteral<"illustration">, z.ZodLiteral<"anime">, z.ZodLiteral<"sketch">]>>;
                    aspectRatio: z.ZodOptional<z.ZodString>;
                    seed: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                }, {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                }>]>;
                fit: z.ZodUnion<[z.ZodLiteral<"cover">, z.ZodLiteral<"contain">, z.ZodLiteral<"fill">]>;
                position: z.ZodObject<{
                    x: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                    y: z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"center">]>;
                }, "strip", z.ZodTypeAny, {
                    x: number | "center";
                    y: number | "center";
                }, {
                    x: number | "center";
                    y: number | "center";
                }>;
            }, "strip", z.ZodTypeAny, {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            }, {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            }>;
            zIndex: z.ZodOptional<z.ZodNumber>;
            opacity: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "image";
            content: {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        }, {
            type: "image";
            content: {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        }>]>, "many">;
    }, "strip", z.ZodTypeAny, {
        type: "composite";
        duration: number;
        id: string;
        layers: ({
            type: "text";
            content: {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        } | {
            type: "image";
            content: {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        })[];
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }, {
        type: "composite";
        duration: number;
        id: string;
        layers: ({
            type: "text";
            content: {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        } | {
            type: "image";
            content: {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        })[];
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    }>]>, "many">;
    audio: z.ZodOptional<z.ZodObject<{
        backgroundMusic: z.ZodOptional<z.ZodObject<{
            src: z.ZodUnion<[z.ZodString, z.ZodObject<{
                type: z.ZodLiteral<"generate">;
                prompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    text: z.ZodString;
                    weight: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    text: string;
                    weight: number;
                }, {
                    text: string;
                    weight: number;
                }>, "many">>;
                prompt: z.ZodOptional<z.ZodString>;
                config: z.ZodOptional<z.ZodObject<{
                    bpm: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    guidance: z.ZodOptional<z.ZodNumber>;
                    density: z.ZodOptional<z.ZodNumber>;
                    brightness: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodString>;
                    muteBass: z.ZodOptional<z.ZodBoolean>;
                    muteDrums: z.ZodOptional<z.ZodBoolean>;
                    onlyBassAndDrums: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                }, {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                }>>;
                duration: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            }, {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            }>]>;
            volume: z.ZodNumber;
            fadeIn: z.ZodOptional<z.ZodNumber>;
            fadeOut: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            volume: number;
            src: string | {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            };
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
        }, {
            volume: number;
            src: string | {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            };
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        backgroundMusic?: {
            volume: number;
            src: string | {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            };
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
        } | undefined;
    }, {
        backgroundMusic?: {
            volume: number;
            src: string | {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            };
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
        } | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    version: string;
    name: string;
    scenes: ({
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    } | {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    } | {
        type: "video";
        content: {
            src: string;
            trim?: {
                start: number;
                end: number;
            } | undefined;
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    } | {
        type: "composite";
        duration: number;
        id: string;
        layers: ({
            type: "text";
            content: {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        } | {
            type: "image";
            content: {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        })[];
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            timing?: {
                fadeIn: number;
                fadeOut: number;
                delay: number;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    })[];
    settings: {
        fps: number;
        resolution: string;
        duration?: number | null | undefined;
        narrationDefaults?: {
            voice?: {
                name: string;
                languageCode: string;
                speakingRate: number;
                pitch: number;
                volumeGainDb: number;
            } | undefined;
            volumeMix?: {
                narration: number;
                bgm: number;
            } | undefined;
        } | undefined;
    };
    audio?: {
        backgroundMusic?: {
            volume: number;
            src: string | {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            };
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
        } | undefined;
    } | undefined;
}, {
    version: string;
    name: string;
    scenes: ({
        type: "text";
        content: {
            style: {
                color: string;
                fontSize: number;
                fontFamily: string;
                fontWeight?: string | undefined;
                textAlign?: "center" | "left" | "right" | undefined;
            };
            text: string;
            position: {
                x: number | "center";
                y: number | "center";
            };
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    } | {
        type: "image";
        content: {
            position: {
                x: number | "center";
                y: number | "center";
            };
            src: string | {
                type: "generate";
                prompt: string;
                style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                aspectRatio?: string | undefined;
                seed?: number | undefined;
            };
            fit: "fill" | "cover" | "contain";
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    } | {
        type: "video";
        content: {
            src: string;
            trim?: {
                start: number;
                end: number;
            } | undefined;
        };
        duration: number;
        id: string;
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    } | {
        type: "composite";
        duration: number;
        id: string;
        layers: ({
            type: "text";
            content: {
                style: {
                    color: string;
                    fontSize: number;
                    fontFamily: string;
                    fontWeight?: string | undefined;
                    textAlign?: "center" | "left" | "right" | undefined;
                };
                text: string;
                position: {
                    x: number | "center";
                    y: number | "center";
                };
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        } | {
            type: "image";
            content: {
                position: {
                    x: number | "center";
                    y: number | "center";
                };
                src: string | {
                    type: "generate";
                    prompt: string;
                    style?: "photorealistic" | "illustration" | "anime" | "sketch" | undefined;
                    aspectRatio?: string | undefined;
                    seed?: number | undefined;
                };
                fit: "fill" | "cover" | "contain";
            };
            zIndex?: number | undefined;
            opacity?: number | undefined;
        })[];
        narration?: {
            text: string;
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            timing?: {
                fadeIn?: number | undefined;
                fadeOut?: number | undefined;
                delay?: number | undefined;
            } | undefined;
        } | undefined;
        transition?: {
            type: "fade" | "wipe" | "dissolve";
            duration: number;
            direction?: "left" | "right" | "up" | "down" | undefined;
        } | undefined;
        background?: {
            type: "image" | "color" | "gradient";
            value: string;
        } | undefined;
    })[];
    settings: {
        fps: number;
        resolution: string;
        duration?: number | null | undefined;
        narrationDefaults?: {
            voice?: {
                name: string;
                languageCode: string;
                speakingRate?: number | undefined;
                pitch?: number | undefined;
                volumeGainDb?: number | undefined;
            } | undefined;
            volumeMix?: {
                narration?: number | undefined;
                bgm?: number | undefined;
            } | undefined;
        } | undefined;
    };
    audio?: {
        backgroundMusic?: {
            volume: number;
            src: string | {
                type: "generate";
                prompt?: string | undefined;
                duration?: number | undefined;
                prompts?: {
                    text: string;
                    weight: number;
                }[] | undefined;
                config?: {
                    bpm?: number | undefined;
                    temperature?: number | undefined;
                    guidance?: number | undefined;
                    density?: number | undefined;
                    brightness?: number | undefined;
                    scale?: string | undefined;
                    muteBass?: boolean | undefined;
                    muteDrums?: boolean | undefined;
                    onlyBassAndDrums?: boolean | undefined;
                } | undefined;
                seed?: number | undefined;
            };
            fadeIn?: number | undefined;
            fadeOut?: number | undefined;
        } | undefined;
    } | undefined;
}>;
//# sourceMappingURL=models.d.ts.map