import type { ProjectEntity } from "./preproduction-workspace.ts"; import { type CharacterEntry } from "./providers.ts"; export type VideoUnitAssetKind = "main-image" | "reference-audio" | "voice-description" | "entities"; export interface VideoUnitAssetIssue { entityId?: string; entityName?: string; entityType?: ProjectEntity["type"]; asset: VideoUnitAssetKind; reason: string; } export interface VideoUnitAssetReadiness { ready: boolean; entityCount: number; issues: VideoUnitAssetIssue[]; missingImageEntityIds: string[]; missingVoiceEntityIds: string[]; missingVoiceDescriptionEntityIds: string[]; } /** Inspect project and bound-library files without trusting persisted ready flags alone. */ export declare function inspectVideoUnitAssets(projectFolder: string, entities: readonly ProjectEntity[], availableCharacters?: readonly CharacterEntry[]): Promise; /** Format a concise failure for final Video Unit write guards. */ export declare function videoUnitAssetFailure(readiness: VideoUnitAssetReadiness): string;