import type { GraphData } from "graphai";
import { MulmoStudioContext, MulmoImageParams, PublicAPIArgs } from "../types/index.js";
export declare const beat_graph_data: {
    version: number;
    concurrency: number;
    nodes: {
        context: {};
        htmlImageAgentInfo: {};
        imageRefs: {};
        movieRefs: {};
        beat: {};
        __mapIndex: {};
        forceMovie: {
            value: boolean;
        };
        forceImage: {
            value: boolean;
        };
        forceLipSync: {
            value: boolean;
        };
        forceSoundEffect: {
            value: boolean;
        };
        withBackup: {
            value: boolean;
        };
        localRefs: {
            agent: (namedInputs: {
                context: MulmoStudioContext;
                beat: import("../types/type.js").MulmoBeat;
                index: number;
                imageRefs: Record<string, string>;
                movieRefs: Record<string, string>;
            }) => Promise<import("./image_references.js").MediaRefs>;
            inputs: {
                context: string;
                beat: string;
                index: string;
                imageRefs: string;
                movieRefs: string;
            };
        };
        preprocessor: {
            agent: (namedInputs: {
                context: MulmoStudioContext;
                beat: import("../types/type.js").MulmoBeat;
                index: number;
                imageRefs?: Record<string, string>;
            }) => Promise<({
                imageParams?: MulmoImageParams;
                movieFile?: string;
                beatDuration?: number;
                soundEffectFile?: string;
                soundEffectPrompt?: string;
                soundEffectModel?: string;
                soundEffectAgentInfo?: {
                    agentName: string;
                    defaultModel: string;
                };
                lipSyncFile?: string;
                lipSyncModel?: string;
                lipSyncAgentName?: string;
                lipSyncTrimAudio?: boolean;
                startAt?: number;
                duration?: number;
                bgmFile?: string | null;
                audioFile?: string;
                movieAgentInfo?: {
                    agent: string;
                    movieParams: import("../types/type.js").MulmoMovieParams;
                };
                firstFrameImagePath?: string;
                lastFrameImagePath?: string;
                movieReferenceImages?: {
                    imagePath: string;
                    referenceType: "ASSET" | "STYLE";
                }[];
            } & {
                imagePath?: string;
            }) | ({
                imageParams?: MulmoImageParams;
                movieFile?: string;
                beatDuration?: number;
                soundEffectFile?: string;
                soundEffectPrompt?: string;
                soundEffectModel?: string;
                soundEffectAgentInfo?: {
                    agentName: string;
                    defaultModel: string;
                };
                lipSyncFile?: string;
                lipSyncModel?: string;
                lipSyncAgentName?: string;
                lipSyncTrimAudio?: boolean;
                startAt?: number;
                duration?: number;
                bgmFile?: string | null;
                audioFile?: string;
                movieAgentInfo?: {
                    agent: string;
                    movieParams: import("../types/type.js").MulmoMovieParams;
                };
                firstFrameImagePath?: string;
                lastFrameImagePath?: string;
                movieReferenceImages?: {
                    imagePath: string;
                    referenceType: "ASSET" | "STYLE";
                }[];
            } & {
                imagePath?: string;
            } & {
                imageAgentInfo: import("../types/type.js").Text2ImageAgentInfo;
                prompt: string;
                referenceImages: string[];
                referenceImageForMovie: string;
            }) | {
                imagePath: string;
                htmlPrompt: string;
                htmlPath: string;
                htmlImageSystemPrompt: string;
                htmlImageFile: string;
            } | ({
                imageParams?: MulmoImageParams;
                movieFile?: string;
                beatDuration?: number;
                soundEffectFile?: string;
                soundEffectPrompt?: string;
                soundEffectModel?: string;
                soundEffectAgentInfo?: {
                    agentName: string;
                    defaultModel: string;
                };
                lipSyncFile?: string;
                lipSyncModel?: string;
                lipSyncAgentName?: string;
                lipSyncTrimAudio?: boolean;
                startAt?: number;
                duration?: number;
                bgmFile?: string | null;
                audioFile?: string;
                movieAgentInfo?: {
                    agent: string;
                    movieParams: import("../types/type.js").MulmoMovieParams;
                };
                firstFrameImagePath?: string;
                lastFrameImagePath?: string;
                movieReferenceImages?: {
                    imagePath: string;
                    referenceType: "ASSET" | "STYLE";
                }[];
            } & {
                imagePath?: string;
            } & {
                imageFromMovie: boolean;
                useLastFrame?: boolean;
            }) | ({
                imageParams?: MulmoImageParams;
                movieFile?: string;
                beatDuration?: number;
                soundEffectFile?: string;
                soundEffectPrompt?: string;
                soundEffectModel?: string;
                soundEffectAgentInfo?: {
                    agentName: string;
                    defaultModel: string;
                };
                lipSyncFile?: string;
                lipSyncModel?: string;
                lipSyncAgentName?: string;
                lipSyncTrimAudio?: boolean;
                startAt?: number;
                duration?: number;
                bgmFile?: string | null;
                audioFile?: string;
                movieAgentInfo?: {
                    agent: string;
                    movieParams: import("../types/type.js").MulmoMovieParams;
                };
                firstFrameImagePath?: string;
                lastFrameImagePath?: string;
                movieReferenceImages?: {
                    imagePath: string;
                    referenceType: "ASSET" | "STYLE";
                }[];
            } & {
                imagePath?: string;
            } & {
                referenceImageForMovie: string;
                markdown: string;
                html: string;
            })>;
            inputs: {
                context: string;
                beat: string;
                index: string;
                imageRefs: string;
                movieRefs: string;
            };
        };
        imagePlugin: {
            if: string;
            defaultValue: {};
            agent: (namedInputs: {
                context: MulmoStudioContext;
                beat: import("../types/type.js").MulmoBeat;
                index: number;
                imageRefs?: Record<string, string>;
                movieRefs?: Record<string, string>;
            }) => Promise<void>;
            inputs: {
                context: string;
                beat: string;
                index: string;
                imageRefs: string;
                movieRefs: string;
                onComplete: string[];
            };
        };
        htmlImageAgent: {
            if: string;
            defaultValue: {};
            agent: string;
            inputs: {
                media: string;
                prompt: string;
                system: string;
                params: {
                    model: string;
                    max_tokens: string;
                };
                cache: {
                    force: string[];
                    withBackup: string[];
                    file: string;
                    index: string;
                    id: string;
                    mulmoContext: string;
                    sessionType: string;
                };
            };
        };
        htmlReader: {
            if: string;
            agent: (namedInputs: {
                htmlPath: string;
            }) => Promise<{
                html: string;
            }>;
            inputs: {
                onComplete: string[];
                htmlPath: string;
            };
            output: {
                htmlText: string;
            };
            defaultValue: {};
        };
        htmlImageGenerator: {
            if: string;
            defaultValue: {};
            agent: (namedInputs: {
                file: string;
                canvasSize: import("../types/type.js").MulmoCanvasDimension;
                htmlText: string;
            }) => Promise<void>;
            inputs: {
                htmlText: string;
                canvasSize: string;
                file: string;
            };
        };
        imageGenerator: {
            if: string;
            agent: string;
            retry: number;
            inputs: {
                media: string;
                prompt: string;
                referenceImages: string;
                cache: {
                    force: string[];
                    withBackup: string[];
                    file: string;
                    index: string;
                    id: string;
                    mulmoContext: string;
                    sessionType: string;
                };
                params: {
                    model: string;
                    moderation: string;
                    canvasSize: string;
                    quality: string;
                    vertexai_project: string;
                    vertexai_location: string;
                };
            };
            defaultValue: {};
        };
        movieGenerator: {
            if: string;
            agent: string;
            inputs: {
                media: string;
                onComplete: string[];
                prompt: string;
                imagePath: string;
                lastFrameImagePath: string;
                referenceImages: string;
                movieFile: string;
                cache: {
                    force: string[];
                    withBackup: string[];
                    file: string;
                    index: string;
                    id: string;
                    sessionType: string;
                    mulmoContext: string;
                };
                params: {
                    model: string;
                    duration: string;
                    canvasSize: string;
                    vertexai_project: string;
                    vertexai_location: string;
                    generateAudio: string;
                };
            };
            defaultValue: {};
        };
        imageFromMovie: {
            if: string;
            agent: (namedInputs: {
                movieFile: string;
                imageFile: string;
                useLastFrame: boolean;
            }) => Promise<object>;
            inputs: {
                onComplete: string[];
                imageFile: string;
                movieFile: string;
                useLastFrame: string;
            };
            defaultValue: {};
        };
        audioChecker: {
            agent: (namedInputs: {
                movieFile: string;
                imageFile: string;
                soundEffectFile: string;
                index: number;
            }) => Promise<{
                hasMovieAudio: boolean;
            }>;
            inputs: {
                onComplete: string[];
                movieFile: string;
                imageFile: string;
                soundEffectFile: string;
                index: string;
            };
        };
        soundEffectGenerator: {
            if: string;
            agent: string;
            inputs: {
                onComplete: string[];
                prompt: string;
                movieFile: string;
                soundEffectFile: string;
                params: {
                    model: string;
                    duration: string;
                };
                cache: {
                    force: string[];
                    withBackup: string[];
                    file: string;
                    index: string;
                    id: string;
                    sessionType: string;
                    mulmoContext: string;
                };
            };
            defaultValue: {};
        };
        AudioTrimmer: {
            if: string;
            agent: (namedInputs: {
                audioFile: string;
                bgmFile: string;
                startAt: number;
                duration: number;
            }) => Promise<{
                buffer: Buffer<ArrayBufferLike>;
            }>;
            inputs: {
                onComplete: string[];
                audioFile: string;
                bgmFile: string;
                startAt: string;
                duration: string;
                cache: {
                    force: string[];
                    file: string;
                    index: string;
                    id: string;
                    mulmoContext: string;
                };
            };
            defaultValue: {};
        };
        lipSyncGenerator: {
            if: string;
            agent: string;
            inputs: {
                onComplete: string[];
                movieFile: string;
                imageFile: string;
                audioFile: string;
                lipSyncFile: string;
                params: {
                    model: string;
                    duration: string;
                };
                cache: {
                    force: string[];
                    withBackup: string[];
                    file: string;
                    index: string;
                    id: string;
                    sessionType: string;
                    mulmoContext: string;
                };
            };
            defaultValue: {};
        };
        output: {
            agent: string;
            inputs: {
                onComplete: string[];
                imageFile: string;
                movieFile: string;
                soundEffectFile: string;
                lipSyncFile: string;
                hasMovieAudio: string;
                htmlImageFile: string;
                markdown: string;
                html: string;
            };
            output: {
                imageFile: string;
                movieFile: string;
                soundEffectFile: string;
                lipSyncFile: string;
                hasMovieAudio: string;
                htmlImageFile: string;
                markdown: string;
                html: string;
            };
            isResult: boolean;
        };
    };
};
export declare const images_graph_data: GraphData;
export { imageGraphOption } from "./graph_option.js";
type ImageOptions = {
    imageAgents: Record<string, unknown>;
};
export declare const images: (context: MulmoStudioContext, args?: PublicAPIArgs & {
    options?: ImageOptions;
}) => Promise<MulmoStudioContext>;
export declare const generateBeatImage: (inputs: {
    index: number;
    context: MulmoStudioContext;
    args?: PublicAPIArgs & {
        forceMovie?: boolean;
        forceImage?: boolean;
        forceLipSync?: boolean;
        forceSoundEffect?: boolean;
        withBackup?: boolean;
    };
}) => Promise<void>;
