export enum Phase { Input = 0, ProductAnalysis = 1, ICPDiscovery = 2, WhaleHunting = 3, Strategy = 4, AssetGeneration = 5, SalesEnablement = 6, } export type Language = 'en' | 'de'; export type Theme = 'light' | 'dark'; export interface Message { role: 'user' | 'model'; content: string; } export interface Phase1Data { features: string[]; constraints: string[]; conflictCheck: { hasConflict: boolean; details: string; relatedProduct?: string; }; rawAnalysis: string; } export interface Phase2Data { icps: { name: string; rationale: string; }[]; dataProxies: { target: string; method: string; }[]; } export interface Phase3Data { whales: { industry: string; accounts: string[]; }[]; roles: string[]; } export interface Phase4Data { strategyMatrix: { segment: string; painPoint: string; angle: string; differentiation: string; }[]; } export interface Phase6Data { battlecards: { persona: string; objection: string; responseScript: string; }[]; visualPrompts: { title: string; context: string; prompt: string; }[]; } export interface AppState { currentPhase: Phase; isLoading: boolean; history: Message[]; productInput: string; productImages: string[]; // Array of Base64 strings phase1Result?: Phase1Data; phase2Result?: Phase2Data; phase3Result?: Phase3Data; phase4Result?: Phase4Data; phase5Result?: string; // Markdown content phase6Result?: Phase6Data; language: Language; theme: Theme; }