import { ReactNode } from "react"; import { BoardPosition, ChessboardProps, CustomPieces, Piece, Square, Arrow } from "../types"; interface ChessboardProviderProps extends ChessboardProps { boardWidth: number; children: ReactNode; } type Premove = { sourceSq: Square; targetSq: Square; piece: Piece; }; type RequiredChessboardProps = Required; interface ChessboardProviderContext { fenString: string | undefined; tagToDisplay: ChessboardProps["tagToDisplay"]; allowDragOutsideBoard: RequiredChessboardProps["allowDragOutsideBoard"]; animationDuration: RequiredChessboardProps["animationDuration"]; arePiecesDraggable: RequiredChessboardProps["arePiecesDraggable"]; arePremovesAllowed: RequiredChessboardProps["arePremovesAllowed"]; autoPromoteToQueen: RequiredChessboardProps["autoPromoteToQueen"]; boardOrientation: RequiredChessboardProps["boardOrientation"]; boardWidth: RequiredChessboardProps["boardWidth"]; customArrowColor: RequiredChessboardProps["customArrowColor"]; customBoardStyle: ChessboardProps["customBoardStyle"]; customNotationStyle: ChessboardProps["customNotationStyle"]; altLeftClickArrowColor: ChessboardProps["altLeftClickArrowColor"]; shiftLeftClickArrowColor: ChessboardProps["shiftLeftClickArrowColor"]; shiftRightClickArrowColor: ChessboardProps["shiftRightClickArrowColor"]; shiftAltLeftClickArrowColor: ChessboardProps["shiftAltLeftClickArrowColor"]; shiftAltRightClickArrowColor: ChessboardProps["shiftAltRightClickArrowColor"]; customDarkSquareStyle: RequiredChessboardProps["customDarkSquareStyle"]; customDropSquareStyle: RequiredChessboardProps["customDropSquareStyle"]; customLightSquareStyle: RequiredChessboardProps["customLightSquareStyle"]; customPremoveDarkSquareStyle: RequiredChessboardProps["customPremoveDarkSquareStyle"]; customPremoveLightSquareStyle: RequiredChessboardProps["customPremoveLightSquareStyle"]; customSquare: RequiredChessboardProps["customSquare"]; customSquareStyles: ChessboardProps["customSquareStyles"]; dropOffBoardAction: ChessboardProps["dropOffBoardAction"]; id: RequiredChessboardProps["id"]; isDraggablePiece: RequiredChessboardProps["isDraggablePiece"]; onDragOverSquare: RequiredChessboardProps["onDragOverSquare"]; onMouseOutSquare: RequiredChessboardProps["onMouseOutSquare"]; onMouseOverSquare: RequiredChessboardProps["onMouseOverSquare"]; onPieceClick: RequiredChessboardProps["onPieceClick"]; onPieceDragBegin: RequiredChessboardProps["onPieceDragBegin"]; onPieceDragEnd: RequiredChessboardProps["onPieceDragEnd"]; onPieceDrop: RequiredChessboardProps["onPieceDrop"]; onPieceDropOffBoard: ChessboardProps["onPieceDropOffBoard"]; onPromotionCheck: RequiredChessboardProps["onPromotionCheck"]; onPromotionPieceSelect: RequiredChessboardProps["onPromotionPieceSelect"]; onSparePieceDrop: ChessboardProps["onSparePieceDrop"]; onSquareClick: RequiredChessboardProps["onSquareClick"]; promotionDialogVariant: RequiredChessboardProps["promotionDialogVariant"]; showBoardNotation: RequiredChessboardProps["showBoardNotation"]; snapToCursor: RequiredChessboardProps["snapToCursor"]; displayedMoveData: ChessboardProps["displayedMoveData"]; arrows: Arrow[]; chessPieces: CustomPieces | Record; clearArrows: () => void; clearCurrentRightClickDown: () => void; currentPosition: BoardPosition; currentRightClickDown?: Square; currentLeftClickDown?: Square; deletePieceFromSquare: (sq: Square) => void; drawNewArrow: (from: Square, to: Square) => void; handleSetPosition: (sourceSq: Square, targetSq: Square, piece: Piece, wasManualDropOverride?: boolean) => void; handleSparePieceDrop: (piece: Piece, targetSq: Square) => void; isWaitingForAnimation: boolean; lastPieceColour: string | undefined; lastSquareDraggedOver: Square | null; newArrow?: Arrow; onArrowDrawEnd: (from: Square, to: Square) => void; onRightClickDown: (square: Square) => void; onRightClickUp: (square: Square) => void; positionDifferences: { added: BoardPosition; removed: BoardPosition; }; premoves: Premove[]; promoteFromSquare: Square | null; promoteToSquare: Square | null; setLastSquareDraggedOver: React.Dispatch>; setPromoteFromSquare: React.Dispatch>; setPromoteToSquare: React.Dispatch>; setShowPromoteDialog: React.Dispatch>; setCurrentArrowColor: React.Dispatch>; showPromoteDialog: boolean; currentMoveInfo: { fromSquare: Square; toSquare: Square; } | null; isShiftAltKeyDown: boolean; isAltKeyDown: boolean; isShiftKeyDown: boolean; onLeftClickUp: (square: Square) => void; onLeftClickDown: (square: Square) => void; clearCurrentLeftClickDown: () => void; } export declare const ChessboardContext: import("react").Context; export declare const useChessboard: () => ChessboardProviderContext; export declare const ChessboardProvider: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; export {};