export interface DecisionOption { id?: string; name: string; description: string; } export interface DecisionCriterion { id?: string; name: string; description: string; weight: number; evaluationMethod: "quantitative" | "qualitative" | "boolean"; } export interface CriterionEvaluation { criterionId: string; optionId: string; score: number; justification: string; } export interface PossibleOutcome { id?: string; description: string; probability: number; value: number; optionId: string; confidenceInEstimate: number; } export interface InformationGap { description: string; impact: number; researchMethod: string; } export interface DecisionFrameworkData { decisionStatement: string; options: DecisionOption[]; criteria?: DecisionCriterion[]; stakeholders?: string[]; constraints?: string[]; timeHorizon?: string; riskTolerance?: "risk-averse" | "risk-neutral" | "risk-seeking"; possibleOutcomes?: PossibleOutcome[]; criteriaEvaluations?: CriterionEvaluation[]; informationGaps?: InformationGap[]; analysisType: "expected-utility" | "multi-criteria" | "maximin" | "minimax-regret" | "satisficing"; stage: "problem-definition" | "options" | "criteria" | "evaluation" | "analysis" | "recommendation"; recommendation?: string; sensitivityInsights?: string[]; expectedValues?: Record; multiCriteriaScores?: Record; decisionId: string; iteration: number; suggestedNextStage?: string; nextStageNeeded: boolean; }