export interface AnalysisRequest { fen: string; depth: number; } export interface RawAnalysisResponse { fen: string; evaluation: number; depth: number; bestMove: string; mate: number | null; continuationMoves: string[]; } export interface AnalysisResponse { eval: number; winChance: number; depth: number; bestMove: string; mate: number | null; continuations: string[]; } export type MoveQuality = 'brilliant' | 'best' | 'good' | 'inaccuracy' | 'mistake' | 'blunder'; export interface AnnotatedMove { san: string; fen: string; evalBefore: number | null; evalAfter: number | null; quality: MoveQuality | null; bestMove: string | null; winChanceBefore: number | null; winChanceAfter: number | null; }