import { type CallbackFunction } from "graphai"; import { langSchema, localizedTextSchema, mulmoBeatSchema, mulmoScriptSchema, mulmoStudioSchema, mulmoStudioBeatSchema, mulmoStoryboardSchema, mulmoStoryboardSceneSchema, mulmoStudioMultiLingualSchema, mulmoStudioMultiLingualArraySchema, mulmoStudioMultiLingualDataSchema, mulmoStudioMultiLingualFileSchema, speakerDictionarySchema, speakerSchema, mulmoSpeechParamsSchema, mulmoImageParamsSchema, mulmoImageParamsImagesValueSchema, mulmoImageParamsImagesSchema, mulmoFillOptionSchema, mulmoTransitionSchema, mulmoVideoFilterSchema, mulmoMovieParamsSchema, mulmoSoundEffectParamsSchema, mulmoLipSyncParamsSchema, textSlideParamsSchema, speechOptionsSchema, speakerDataSchema, mulmoCanvasDimensionSchema, mulmoPromptTemplateSchema, mulmoPromptTemplateFileSchema, text2ImageProviderSchema, text2HtmlImageProviderSchema, text2MovieProviderSchema, text2SpeechProviderSchema, mulmoPresentationStyleSchema, multiLingualTextsSchema, mulmoImageAssetSchema, mulmoMermaidMediaSchema, mulmoTextSlideMediaSchema, mulmoMarkdownMediaSchema, mulmoImageMediaSchema, mulmoChartMediaSchema, mediaSourceSchema, mediaSourceMermaidSchema, backgroundImageSchema, backgroundImageSourceSchema, mulmoSessionStateSchema, mulmoOpenAIImageModelSchema, mulmoGoogleImageModelSchema, mulmoGoogleMovieModelSchema, mulmoReplicateMovieModelSchema, mulmoImagePromptMediaSchema, mulmoMovieMediaSchema, mulmoMoviePromptMediaSchema, markdownLayoutSchema, row2Schema, grid2x2Schema } from "./schema.js"; import { pdf_modes, pdf_sizes, storyToScriptGenerateMode } from "./const.js"; import type { LLM } from "./provider2agent.js"; import { z } from "zod"; export type LANG = z.infer; export type MulmoBeat = z.infer; export type MulmoSpeechParams = z.infer; export type Speaker = z.infer; export type SpeakerDictonary = z.infer; export type SpeechOptions = z.infer; export type SpeakerData = z.infer; export type MulmoImageParams = z.infer; export type MulmoImageParamsImagesValue = z.infer; export type MulmoImageParamsImages = z.infer; export type MulmoFillOption = z.infer; export type MulmoTransition = z.infer; export type MulmoVideoFilter = z.infer; export type TextSlideParams = z.infer; export type Text2ImageProvider = z.infer; export type Text2HtmlImageProvider = z.infer; export type Text2MovieProvider = z.infer; export type Text2SpeechProvider = z.infer; export type LocalizedText = z.infer; export type MulmoScript = z.infer; export type MulmoPresentationStyle = z.infer; export type MulmoCanvasDimension = z.infer; export type MulmoStoryboardScene = z.infer; export type MulmoStoryboard = z.infer; export type MulmoStudioBeat = z.infer; export type MulmoMediaSource = z.infer; export type MulmoMediaMermaidSource = z.infer; export type BackgroundImage = z.infer; export type BackgroundImageSource = z.infer; export type MulmoStudio = z.infer; export type MulmoPromptTemplate = z.infer; export type MulmoPromptTemplateFile = z.infer; export type MulmoStudioMultiLingual = z.infer; export type MulmoStudioMultiLingualArray = z.infer; export type MulmoStudioMultiLingualData = z.infer; export type MulmoStudioMultiLingualFile = z.infer; export type MultiLingualTexts = z.infer; export type MulmoMovieParams = z.infer; export type MulmoSoundEffectParams = z.infer; export type MulmoLipSyncParams = z.infer; export type MulmoOpenAIImageModel = z.infer; export type MulmoGoogleImageModel = z.infer; export type MulmoGoogleMovieModel = z.infer; export type MulmoReplicateMovieModel = z.infer; export type MulmoImagePromptMedia = z.infer; export type MulmoMoviePromptMedia = z.infer; export type MulmoMarkdownLayout = z.infer; export type MulmoRow2 = z.infer; export type MulmoGrid2x2 = z.infer; export type MulmoImageAsset = z.infer; export type MulmoTextSlideMedia = z.infer; export type MulmoMarkdownMedia = z.infer; export type MulmoImageMedia = z.infer; export type MulmoMovieMedia = z.infer; export type MulmoChartMedia = z.infer; export type MulmoMermaidMedia = z.infer; export type MulmoSessionState = z.infer; export type MulmoStudioContext = { fileDirs: FileObject; studio: MulmoStudio; lang: string; force: boolean; sessionState: MulmoSessionState; presentationStyle: MulmoPresentationStyle; multiLingual: MulmoStudioMultiLingualArray; }; export type ScriptingParams = { urls: string[]; outDirPath: string; cacheDirPath: string; templateName: string; filename: string; llm_model?: string; llm?: LLM; verbose?: boolean; }; export type ImageProcessorParams = { beat: MulmoBeat; context: MulmoStudioContext; imagePath: string; textSlideStyle: string; canvasSize: MulmoCanvasDimension; imageRefs?: Record; movieRefs?: Record; beatDuration?: number; }; export type PDFMode = (typeof pdf_modes)[number]; export type PDFSize = (typeof pdf_sizes)[number]; export type Text2ImageAgentInfo = { agent: string; imageParams: MulmoImageParams; keyName?: string; }; export type Text2HtmlAgentInfo = { provider: Text2HtmlImageProvider; agent: string; model: string; max_tokens: number; }; export type BeatMediaType = "movie" | "image"; export type StoryToScriptGenerateMode = (typeof storyToScriptGenerateMode)[keyof typeof storyToScriptGenerateMode]; export type SessionType = "audio" | "image" | "video" | "multiLingual" | "caption" | "pdf" | "markdown" | "html" | "viewer"; export type BeatSessionType = "audio" | "image" | "multiLingual" | "caption" | "movie" | "html" | "imageReference" | "soundEffect" | "lipSync"; export type SessionProgressEvent = { kind: "session"; sessionType: SessionType; inSession: boolean; result?: boolean; } | { kind: "beat"; sessionType: BeatSessionType; id: string; inSession: boolean; }; export type SessionProgressCallback = (change: SessionProgressEvent) => void; export interface FileObject { baseDirPath: string; mulmoFilePath: string; mulmoFileDirPath: string; outDirPath: string; imageDirPath: string; audioDirPath: string; nodeModuleRootPath?: string; isHttpPath: boolean; fileOrUrl: string; outputStudioFilePath: string; outputMultilingualFilePath: string; presentationStylePath: string | undefined; fileName: string; grouped: boolean; } export type InitOptions = { b?: string; o?: string; i?: string; a?: string; file?: string; l?: string; c?: string; p?: string; g?: boolean; }; export type PublicAPIArgs = { settings?: Record; callbacks?: CallbackFunction[]; }; export type ImageType = "image" | "movie";