export type OpenAIImageSize = "1792x1024" | "1024x1792" | "1024x1024" | "1536x1024" | "1024x1536";
export type OpenAIImageModeration = "low" | "auto";
export type OpenAIImageQuality = "low" | "medium" | "high" | "auto";
export type OpenAIImageOptions = {
    model: string;
    prompt: string;
    n: number;
    size: OpenAIImageSize;
    moderation?: OpenAIImageModeration;
    quality?: OpenAIImageQuality;
    background?: "opaque" | "transparent" | "auto";
};
export type AgentBufferResult = {
    buffer?: Buffer;
    saved?: string;
    text?: string;
};
export type AgentPromptInputs = {
    prompt: string;
};
export type AgentTextInputs = {
    text: string;
};
export type AgentErrorResult = {
    error: unknown;
};
export type AgentConfig = {
    apiKey?: string;
};
export type ImageAgentInputs = AgentPromptInputs & {
    referenceImages: string[] | null | undefined;
};
export type OpenAIImageAgentInputs = AgentPromptInputs & {
    referenceImages: string[] | null | undefined;
};
export type ImageAgentParams = {
    model: string;
    canvasSize: {
        width: number;
        height: number;
    };
    vertexai_project?: string;
    vertexai_location?: string;
};
export type OpenAIImageAgentParams = ImageAgentParams & {
    moderation: OpenAIImageModeration | null | undefined;
    quality?: OpenAIImageQuality;
};
export type ReplicateImageAgentParams = {
    model: `${string}/${string}` | undefined;
    canvasSize: {
        width: number;
        height: number;
    };
    aspectRatio?: string;
    outputSize?: number;
    steps?: number;
    guidanceScale?: number;
};
export type OpenAIImageAgentConfig = {
    baseURL?: string;
    apiKey?: string;
    apiVersion?: string;
};
export type GoogleImageAgentConfig = {
    projectId?: string;
    token?: string;
};
export type GenAIImageAgentConfig = {
    apiKey?: string;
};
export type ReplicateImageAgentConfig = AgentConfig;
export type MovieReferenceImage = {
    imagePath: string;
    referenceType: "ASSET" | "STYLE";
};
export type MovieAgentInputs = AgentPromptInputs & {
    imagePath?: string;
    lastFrameImagePath?: string;
    referenceImages?: MovieReferenceImage[];
    movieFile: string;
};
export type GoogleMovieAgentParams = ImageAgentParams & {
    duration?: number;
    vertexai_project?: string;
    vertexai_location?: string;
    generateAudio?: boolean;
};
export type ReplicateMovieAgentParams = {
    model: `${string}/${string}` | undefined;
    canvasSize: {
        width: number;
        height: number;
    };
    duration?: number;
    generateAudio?: boolean;
};
export type ReplicateSoundEffectAgentParams = {
    model: `${string}/${string}` | undefined;
    duration?: number;
};
export type SoundEffectAgentInputs = AgentPromptInputs & {
    soundEffectFile: string;
    movieFile: string;
};
export type ReplicateLipSyncAgentParams = {
    model: `${string}/${string}` | undefined;
    duration?: number;
};
export type LipSyncAgentInputs = {
    lipSyncFile: string;
    movieFile: string;
    audioFile: string;
    imageFile: string;
};
export type GoogleMovieAgentConfig = GoogleImageAgentConfig;
export type ReplicateMovieAgentConfig = AgentConfig;
export type ReplicateSoundEffectAgentConfig = AgentConfig;
export type ReplicateLipSyncAgentConfig = AgentConfig;
export type TTSAgentParams = {
    suppressError: boolean;
    voice: string;
};
export type OpenAITTSAgentParams = TTSAgentParams & {
    instructions: string;
    model: string;
    speed: number;
};
export type KotodamaTTSAgentParams = TTSAgentParams & {
    decoration: string;
};
export type GoogleTTSAgentParams = TTSAgentParams & {
    speed: number;
    model: string;
    instructions: string;
};
export type ElevenlabsTTSAgentParams = TTSAgentParams & {
    model: string;
    stability: number;
    similarityBoost: number;
    speed: number;
};
