import type { Express } from 'express'; import cors from 'cors'; import type { AIDifficulty } from './ai/engine'; export interface ApiConfig { port?: number; cors?: cors.CorsOptions; compression?: boolean; } export interface GameResponse { id: string; fen: string; pgn: string; turn: 'white' | 'black'; gameOver: boolean; winner: 'white' | 'black' | null; checkmate: boolean; stalemate: boolean; check: boolean; inThreefoldRepetition: boolean; inFiftyMoveRule: boolean; moveHistory: MoveRecord[]; aiEnabled: boolean; aiDifficulty: AIDifficulty | null; useOpeningBook: boolean; createdAt: string; updatedAt: string; } export interface MoveRecord { from: string; to: string; piece: string; capturedPiece: string | null; promotion: string | null; san: string; timestamp: string; } export interface ErrorResponse { error: string; code: string; details?: string; timestamp: string; } export declare class ApiServer { private app; private games; private gameMetadata; constructor(config?: ApiConfig); private setupMiddleware; private setupRoutes; private setupErrorHandling; private getHealth; private getVersion; private createGame; private getGame; private listGames; private deleteGame; private makeMove; private getMoveHistory; private undoMove; private getAIMove; private getAIHint; private getAnalysis; private getLegalMoves; private loadFromFEN; private getPGN; private gameToResponse; private createErrorResponse; listen(port: number, callback?: () => void): void; getApp(): Express; } export default ApiServer; //# sourceMappingURL=api-server.d.ts.map