import type { CanonicalProductModel, ProjectStage } from '@/lib/types/product-model';
import type { MvpPlan } from '@/lib/types/mvp';
import type { MarketingModel, HomepageMessaging } from '@/lib/types/marketing';
import type { PhaseHandoff } from '@/lib/types/phase-handoff';
export type { CanonicalProductModel, ProjectStage } from '@/lib/types/product-model';
export type { MvpPlan } from '@/lib/types/mvp';
export type { MarketingModel, HomepageMessaging } from '@/lib/types/marketing';
export type { PhaseHandoff } from '@/lib/types/phase-handoff';

export type ProjectPhase =
  | 'collector'
  | 'analyzed'
  | 'vision_ready'
  | 'mvp_ready'
  | 'marketing_ready'
  | 'complete';

export interface ProjectPhaseData {
  canonicalProductModel?: CanonicalProductModel;
  mvpPlan?: MvpPlan;
  marketingPlan?: MarketingModel;
  
  /** Phase handoffs for smart transitions */
  phaseHandoffs?: Partial<Record<'collector' | 'extraction' | 'vision' | 'mvp' | 'marketing', PhaseHandoff>>;
}

export interface PhaseScore {
  overallCompletion: number;
  overallConfidence: number;
  updatedAt: string;
}

export interface ProjectPhaseScores {
  extractor?: PhaseScore & { knowledgeItemId?: string };
  vision?: PhaseScore;
  mvp?: PhaseScore;
  marketing?: PhaseScore;
}


