///
import { Cell, CellPos, Figure, FigureColor, GameResult, MoveData } from "../JSChessEngine";
import { ArrowCoords, ChangeMove, ChessBoardConfig } from "./models";
declare type UseChessBoardInteractiveProps = {
config?: Partial;
onChange: (moveData: MoveData) => void;
onEndGame: (result: GameResult) => void;
};
export declare const useChessBoardInteractive: (props: UseChessBoardInteractiveProps) => {
fromPos: CellPos;
newMove: ChangeMove;
animated: boolean;
movesTrail: [CellPos, CellPos];
boardConfig: ChessBoardConfig;
markedCells: CellPos[];
grabbingPos: CellPos;
actualState: Cell[][];
currentColor: FigureColor;
arrowsCoords: ArrowCoords[];
initialState: Cell[][];
holdedFigure: Figure;
grabbingCell: CellPos;
possibleMoves: CellPos[];
linesWithCheck: CellPos[][];
startArrowCoord: CellPos;
showFigurePicker: boolean;
markCell: (cellPos: CellPos) => void;
setNewMove: import("react").Dispatch>;
setAnimated: import("react").Dispatch>;
handleClick: (cellPos: CellPos, viewOnly?: boolean) => void;
clearFromPos: () => void;
handleGrabEnd: (cellPos: CellPos, withTransition?: boolean) => void;
handleGrabbing: (x: number, y: number) => void;
endRenderArrow: ([x, y]: CellPos) => void;
setActualState: import("react").Dispatch>;
setPlayerColor: import("react").Dispatch>;
setCurrentColor: import("react").Dispatch>;
selectClickFrom: (cellPos: CellPos) => void;
selectHoverFrom: (cellPos: CellPos) => void;
setInitialState: import("react").Dispatch>;
setBoardReversed: import("react").Dispatch>;
startRenderArrow: (pos: CellPos) => void;
cleanAllForFigure: () => void;
reverseChessBoard: () => void;
handleGrabbingCell: (cellPos: CellPos) => void;
moveFigureByChange: (change: ChangeMove) => void;
getHasCheckByCellPos: ([x, y]: CellPos) => boolean;
handleSelectFigurePicker: (figure: Figure) => void;
handleChangeFromExternal: (moveData: MoveData, withTransition?: boolean) => void;
moveFigureByExternalChange: (from: CellPos, to: CellPos, figure: Figure) => {
moveData?: undefined;
attackedPos?: undefined;
} | {
moveData: MoveData;
attackedPos: CellPos;
};
};
export {};