import type { Chess, Square, Color, PieceSymbol } from 'chess.js'; import type { SharedValue } from 'react-native-reanimated'; type Player = Color; type Type = PieceSymbol; type PieceType = `${Player}${Type}`; type PiecesType = Record>; type Vector = { x: T; y: T; }; type ChessMove = { from: Square; to: Square; }; type EffectTrigger = 'checkmate' | 'check' | 'stalemate' | ''; interface EffectParams { centerX: SharedValue; centerY: SharedValue; progress: SharedValue; boardSize: number; trigger: SharedValue; } export type { Chess, Player, Type, PieceType, PiecesType, Vector, ChessMove, Square, Color, PieceSymbol, EffectParams, EffectTrigger, };