import { MulmoStudioContext, MulmoBeat, MulmoTransition, MulmoCanvasDimension, MulmoFillOption, MulmoVideoFilter } from "../types/index.js"; import { FfmpegContext } from "../utils/ffmpeg_utils.js"; type VideoId = string | undefined; export declare const getVideoPart: (inputIndex: number, isMovie: boolean, duration: number, canvasInfo: MulmoCanvasDimension, fillOption: MulmoFillOption, speed: number, filters?: MulmoVideoFilter[], frameCount?: number) => { videoId: string; videoPart: string; }; export declare const getAudioPart: (inputIndex: number, duration: number, delay: number, mixAudio: number) => { audioId: string; audioPart: string; }; export declare const getOutOverlayCoords: (transitionType: string, d: number, t: number) => string; export declare const getInOverlayCoords: (transitionType: string, d: number, t: number) => string; export declare const getNeedFirstFrame: (context: MulmoStudioContext) => boolean[]; export declare const getNeedLastFrame: (context: MulmoStudioContext) => boolean[]; export declare const resolveMovieVolume: (beat: MulmoBeat, context: MulmoStudioContext) => number; export declare const isExplicitMixMode: (context: MulmoStudioContext) => boolean; export declare const mixAudiosFromMovieBeats: (ffmpegContext: FfmpegContext, artifactAudioId: string, audioIdsFromMovieBeats: string[], context: MulmoStudioContext) => string; export declare const getExtraPadding: (context: MulmoStudioContext, index: number) => number; export declare const getFillOption: (context: MulmoStudioContext, beat: MulmoBeat) => { style: "aspectFit" | "aspectFill"; }; export declare const getTransitionVideoId: (transition: MulmoTransition, videoIdsForBeats: VideoId[], index: number) => { videoId: string; nextVideoId: undefined; beatIndex: number; } | { videoId: string; nextVideoId: string; beatIndex: number; }; export declare const getConcatVideoFilter: (concatVideoId: string, videoIdsForBeats: VideoId[]) => string; export declare const getTransitionFrameDurations: (context: MulmoStudioContext, index: number) => { firstDuration: number; lastDuration: number; }; export declare const validateBeatSource: (studioBeat: MulmoStudioContext["studio"]["beats"][number], index: number) => string; export declare const addSplitAndExtractFrames: (ffmpegContext: FfmpegContext, videoId: string, firstDuration: number, lastDuration: number, isMovie: boolean, needFirst: boolean, needLast: boolean, canvasInfo: { width: number; height: number; }) => void; export declare const createVideo: (audioArtifactFilePath: string, outputVideoPath: string, context: MulmoStudioContext, isTest?: boolean) => Promise; export declare const movieFilePath: (context: MulmoStudioContext) => string; export declare const movie: (context: MulmoStudioContext) => Promise; export {};