import type { Color, FriendlyPiece, Graph, Index, ParsedGame } from '../base'; import type { ToMoves } from '../utils'; export type KnightMoves = ToMoves<[ ..._KnightStep, ..._KnightStep, ..._KnightStep, ..._KnightStep, ..._KnightStep, ..._KnightStep, ..._KnightStep, ..._KnightStep ], From>; type _KnightStep = Graph[From][DiagonalDirection] extends infer To extends Index ? Graph[To][OrthogonalDirection] extends infer Next extends Index ? Game['board'][Next] extends FriendlyPiece ? [] : [Next] : [] : []; export {};