chlss
Version:
Open-Source Chess Engine in TypeScript.
23 lines (22 loc) • 1.09 kB
TypeScript
import { IBoard } from "./board";
import { IMove } from "./move";
import { Colour } from "./colour";
export declare const Terminations: {
Mate: number;
Timeout: number;
Resignation: number;
Stalemate: number;
InsufficientMaterial: number;
FiftyMoveRule: number;
Repetition: number;
Agreement: number;
};
export type Termination = typeof Terminations.Mate | typeof Terminations.Timeout | typeof Terminations.Resignation | typeof Terminations.Stalemate | typeof Terminations.InsufficientMaterial | typeof Terminations.FiftyMoveRule | typeof Terminations.Repetition | typeof Terminations.Agreement;
export declare const TerminationApi: ITerminationApi;
export interface ITerminationApi {
getTermination(board: IBoard, legalMoves: Array<IMove>, enemyMoves: Array<IMove>): Termination | null;
isInMateWhenNoLegalMoves(board: IBoard, attacksOurKing: boolean): Colour | null;
isInStalemateWhenNoLegalMoves(board: IBoard, attacksOurKing: boolean): boolean;
isFiftyMoveRule(board: IBoard): boolean;
isInsufficientMaterial(board: IBoard): boolean;
}