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;
}
