import type { CrocoProjectSnapshot } from "./preproduction-workspace.ts"; import type { CharacterEntry } from "./providers.ts"; import type { VideoUnitGeneratedImage } from "./studio-video-units.ts"; export declare const STUDIO_VIDEO_UNIT_IMAGE_MODEL = "qwen-image-2.1"; export declare const STUDIO_VIDEO_UNIT_MAX_REFERENCE_IMAGES = 10; export interface VideoUnitImageTarget { unitId: string; kind: "storyboard" | "keyframe"; keyframeId?: string; } export type VideoUnitImageAction = "generate" | "optimize"; export interface StudioVideoUnitImagePlan { target: VideoUnitImageTarget; label: string; prompt: string; model: string; size: string; referenceImages: string[]; outputDir: string; inputFingerprint: string; } /** Return a stable identity for duplicate-target detection and result matching. */ export declare function videoUnitImageTargetKey(target: VideoUnitImageTarget): string; /** Resolve the closest supported keyframe canvas for a project aspect ratio. */ export declare function videoUnitImageSize(aspectRatio: string): string; /** Build one image-generation or Image Edit plan from the latest project state. */ export declare function buildStudioVideoUnitImagePlan(state: CrocoProjectSnapshot, target: VideoUnitImageTarget, action: VideoUnitImageAction, characters: readonly CharacterEntry[], editInstruction?: string): Promise; /** Return the target's persisted generated-image record. */ export declare function videoUnitGeneratedImage(state: CrocoProjectSnapshot, target: VideoUnitImageTarget): VideoUnitGeneratedImage | undefined;