import { FC, ReactElement } from "react"; import { Position } from "../../interfaces/Position"; import { Move } from "../../interfaces/Move"; import { ValidMoves } from "../../types/ValidMoves"; import { PieceColor } from "../../types/PieceColor"; export interface WithMoveValidationCallbackProps { allowMarkers: boolean; clickable: boolean; check: boolean; position: Position; draggable: boolean; width: number; lastMoveSquares: string[]; turnColor: PieceColor; validMoves: ValidMoves; viewOnly: boolean; movableColor: PieceColor | "both"; onResize(width: number): void; onMove(move: Move): void; onSetPremove(move: Move, playPremove: () => void, cancelPremove: () => void): void; onUnsetPremove(): void; } export interface WithMoveValidationProps { initialFen?: string; playerVsCompMode?: boolean; children(callbackProps: WithMoveValidationCallbackProps): ReactElement | null; } export declare const WithMoveValidation: FC;