import React from 'react'; import type { ImageSourcePropType } from 'react-native'; import type { Move, Square } from 'chess.js'; import type { BoardStateProviderProps } from './state'; import type { MoveResult } from './state/move-executor'; import type { ChessboardRef } from './hooks'; import type { ChessboardState } from './helpers/get-chessboard-state'; import type { EffectParams } from './types'; export interface ChessboardProps extends Omit { onMove?: (result: MoveResult) => void; onIllegalMove?: (from: Square, to: Square) => void; renderEffect?: (params: EffectParams) => React.ReactNode; /** * Optional custom piece sprite sheet. Must match the standard * 6×2 / 128px-cell layout (row 0 = white p,n,b,r,q,k; row 1 = * black). Falls back to the bundled sheet when omitted. */ spriteSource?: ImageSourcePropType; /** * Optional font asset for the board's letter and number labels * (e.g. `require('./Inter.ttf')`). Falls back to the platform * system font when omitted. */ fontSource?: ImageSourcePropType; } declare const Chessboard: React.ForwardRefExoticComponent>; export default Chessboard; export { Chessboard }; export type { ChessboardRef, ChessboardState, MoveResult, Move }; export type { EffectParams } from './types';