import type { ImageSourcePropType } from 'react-native'; import type { SharedValue, WithSpringConfig } from 'react-native-reanimated'; import type { Square, Color } from 'chess.js'; export type PieceCode = 'wp' | 'wn' | 'wb' | 'wr' | 'wq' | 'wk' | 'bp' | 'bn' | 'bb' | 'br' | 'bq' | 'bk' | null; export interface SquareState { piece: SharedValue; translateX: SharedValue; translateY: SharedValue; scale: SharedValue; zIndex: SharedValue; lastMove: SharedValue; inCheck: SharedValue; } export interface HighlightState { color: SharedValue; } export interface BoardState { squares: Record; highlights: Record; turn: SharedValue; selectedSquare: SharedValue; validMoves: SharedValue; lastMove: SharedValue<{ from: Square; to: Square; } | null>; isCheck: SharedValue; kingInCheckSquare: SharedValue; } export interface BoardConfig { boardSize: number; pieceSize: number; gestureEnabled: boolean; flipped: boolean; withLetters: boolean; withNumbers: boolean; colors: { white: string; black: string; lastMoveHighlight: string; checkmateHighlight: string; promotionPieceButton: string; }; durations: { move: number; }; animations: { move: WithSpringConfig; scale: WithSpringConfig; snapBack: WithSpringConfig; }; fontSource: ImageSourcePropType | null; } export declare const SQUARES: Square[];