import type { Move } from '@/types/index'; import type { Game } from '@/engine/game'; export type AIDifficulty = 'harmless' | 'easy' | 'medium' | 'hard' | 'expert' | 'godlike'; export interface AIConfig { difficulty?: AIDifficulty; maxThinkingTime?: number; maxDepth?: number; randomness?: number; } export interface MoveEvaluation { move: Move; score: number; depth: number; nodesEvaluated?: number; principalVariation?: Move[]; } export interface AIAnalysis { bestMove: Move; score: number; thinkingTime: number; depth: number; nodesEvaluated: number; openingName?: string; eco?: string; topMoves?: MoveEvaluation[]; principalVariation?: Move[]; } export interface AIEngine { readonly name: string; readonly config: AIConfig; getBestMove(game: Game): Promise; analyze(game: Game): Promise; evaluateMove?(game: Game, move: Move): Promise; } export declare const DIFFICULTY_CONFIGS: Record>>; export declare function getDefaultConfig(difficulty: AIDifficulty): AIConfig; export declare function mergeConfig(userConfig?: AIConfig): Required; //# sourceMappingURL=engine.d.ts.map