import type { ArtifactSummary } from './reference-sheets.js'; import type { SceneSelectionSummary } from './scene-selection.js'; import type { LegacyImportSummary, VideoProductionMode } from './types.js'; export type VideoProjectOpsStatus = 'missing' | 'planned' | 'active' | 'needs-review' | 'blocked' | 'complete'; export interface VideoProjectIndexEntry { slug: string; productionMode: VideoProductionMode; opsStatus: VideoProjectOpsStatus; score: number; scoreBand: 'poor' | 'fair' | 'good' | 'excellent'; targetRuntimeSeconds?: number; clipDurationSeconds?: number; genre?: string; platform?: string; style?: string; colorGrading?: string; legacyImportSummary?: LegacyImportSummary; owner?: string | null; priority?: 'low' | 'medium' | 'high' | 'critical' | null; dueDate?: string | null; dueRisk: 'none' | 'soon' | 'overdue'; tags?: string[]; blockedBy?: string[]; blockedReason?: string | null; projectExists: boolean; nextStage: string | null; storyboardReviewState?: 'missing' | 'current' | 'stale'; storyboardReviewExists?: boolean; storyboardReviewPath?: string; storyboardReviewGeneratedAt?: string; storyboardReviewStale?: boolean; reviewReportVerdict?: string; reviewPublishReady?: boolean; executionProfile?: { aspectRatio?: string; quality?: string; resolution?: string; generateAudio?: boolean; outputCount?: number; }; promptGuidance?: string[]; characterProfileCount?: number; characterHydrationSummary?: { totalProfiles: number; explicitCount: number; importedCount: number; autoCreatedCount: number; }; characterBindings?: Array<{ name: string; goBananasId?: number; referenceAssets: string[]; profileExists: boolean; }>; completedStages: string[]; pendingStages: string[]; artifactCount: number; checkpointCount: number; referenceSheets: ArtifactSummary; sceneSelection: SceneSelectionSummary; } export interface VideoProjectIndex { generatedAt: string; root: string; projects: VideoProjectIndexEntry[]; } export declare function deriveProjectOpsStatus(input: { projectExists: boolean; nextStage: string | null; completedStages: string[]; checkpoints: Array<{ status: string; }>; reviewPublishReady?: boolean; legacyImportSummary?: { queueStatusMismatch?: boolean; nestedOutputRootDetected?: boolean; }; }): VideoProjectOpsStatus; export declare function buildProjectIndex(root?: string, productionMode?: VideoProductionMode): Promise; export declare function writeProjectIndex(index: VideoProjectIndex, outputPath?: string): Promise; //# sourceMappingURL=project-index.d.ts.map