import type { Ref } from 'react'; import type { Move, Square, PieceSymbol } from 'chess.js'; import type { Chess } from 'chess.js'; import type { BoardState } from '../state/types'; import type { MoveExecutor } from '../state/move-executor'; import { ChessboardState } from '../helpers/get-chessboard-state'; export interface ChessboardRef { move: (params: { from: Square; to: Square; promotion?: PieceSymbol; }) => Promise; undo: () => Move | null; highlight: (params: { square: Square; color?: string; }) => void; resetAllHighlightedSquares: () => void; resetBoard: (fen?: string, opts?: { slide?: { from: Square; to: Square; }; lastMove?: { from: Square; to: Square; } | null; }) => void; getState: () => ChessboardState; } interface UseChessboardRefProps { ref: Ref; chess: Chess; boardState: BoardState; moveExecutor: MoveExecutor; defaultHighlightColor?: string; } export declare const useChessboardRef: ({ ref, chess, boardState, moveExecutor, defaultHighlightColor, }: UseChessboardRefProps) => ChessboardRef; export {};