import { MulmoStudioContext, MulmoBeat, MulmoCanvasDimension, MulmoImageParams, MulmoMovieParams, Text2ImageAgentInfo } from "../types/index.js";
type ImagePreprocessAgentReturnValue = {
    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: MulmoMovieParams;
    };
    firstFrameImagePath?: string;
    lastFrameImagePath?: string;
    movieReferenceImages?: {
        imagePath: string;
        referenceType: "ASSET" | "STYLE";
    }[];
};
type ImagePreprocessAgentResponseBase = ImagePreprocessAgentReturnValue & {
    imagePath?: string;
};
type ImageGenearalPreprocessAgentResponse = ImagePreprocessAgentResponseBase & {
    imageAgentInfo: Text2ImageAgentInfo;
    prompt: string;
    referenceImages: string[];
    referenceImageForMovie: string;
};
type ImageHtmlPreprocessAgentResponse = {
    imagePath: string;
    htmlPrompt: string;
    htmlPath: string;
    htmlImageSystemPrompt: string;
    htmlImageFile: string;
};
type ImageOnlyMoviePreprocessAgentResponse = ImagePreprocessAgentResponseBase & {
    imageFromMovie: boolean;
    useLastFrame?: boolean;
};
type ImagePluginPreprocessAgentResponse = ImagePreprocessAgentResponseBase & {
    referenceImageForMovie: string;
    markdown: string;
    html: string;
};
type ImagePreprocessAgentResponse = ImagePreprocessAgentResponseBase | ImageHtmlPreprocessAgentResponse | ImagePluginPreprocessAgentResponse | ImageOnlyMoviePreprocessAgentResponse | ImageGenearalPreprocessAgentResponse;
export declare const imagePreprocessAgent: (namedInputs: {
    context: MulmoStudioContext;
    beat: MulmoBeat;
    index: number;
    imageRefs?: Record<string, string>;
}) => Promise<ImagePreprocessAgentResponse>;
export declare const imagePluginAgent: (namedInputs: {
    context: MulmoStudioContext;
    beat: MulmoBeat;
    index: number;
    imageRefs?: Record<string, string>;
    movieRefs?: Record<string, string>;
}) => Promise<void>;
export declare const htmlImageGeneratorAgent: (namedInputs: {
    file: string;
    canvasSize: MulmoCanvasDimension;
    htmlText: string;
}) => Promise<void>;
export {};
