import { Cell, SquarePos, Piece, PieceColor, MoveData } from "../JSChessEngine"; import { ChessBoardConfig } from "./models"; /** * Возвращает класс для фигуры в клетке */ export declare const getFigureCSS: (figure: Piece) => string; /** * Возвращает белая ли клетка */ export declare const getIsLightCell: (rowId: number, cellId: number) => boolean; /** * Функция, которая просто создает массив размером size */ export declare const getFilledArrayBySize: (size: number) => number[]; /** * Возвращает только массив фигурам у которых * есть поле position */ export declare const mapCellsToFiguresArray: (boardState: Cell[][]) => Piece[]; /** * * @param possibleMoves Список возможных ходов * @param position позиция для проверки */ export declare const checkIsPossibleMove: (possibleMoves: SquarePos[], position: import("../JSChessEngine").CellPos) => boolean; /** * Проверяет находится ли проверяемая позиция в * наборе позиций * @param positions набор позиций * @param pos позиция */ export declare const checkPositionsHas: (positions: SquarePos[] | undefined, pos: import("../JSChessEngine").CellPos) => boolean; /** * Проверяет, является ли ход рокеровкой * @param moveData * @returns */ export declare const checkIsCastlingMove: (moveData: MoveData) => boolean; /** * Проверка клетки, на то есть ли шах */ export declare const hasCheck: (cell: Cell, currentColor: PieceColor, linesWithCheck: SquarePos[][]) => boolean; export declare const degrees: (a: number, b: number) => number; export declare const calcAngle: (start: number[], end: number[]) => number; export declare const getChessBoardConfig: (config: Partial | undefined) => ChessBoardConfig; /** * Возвращает массив фигур по заданому цвету * @param color цвет фигур * @param forPawnTransform только фигуры для превращения пешки */ export declare const getFiguresByColor: (color: PieceColor, forPawnTransform?: boolean) => Piece[]; /** * Корректирует позицию захвата курсором * коррекция происходит по сроллу */ export declare const correctGrabbingPosByScroll: (pos: import("../JSChessEngine").CellPos) => import("../JSChessEngine").CellPos; /** * Корректирует указатели стрелки */ export declare const correctGrabbingPosForArrow: (pos: import("../JSChessEngine").CellPos, boardConfig: ChessBoardConfig) => import("../JSChessEngine").CellPos; /** * Создание тэга для хранение состояния * разворота доски * * На момент создания, есть проблема с заданием * разворота доски для слоя фигур - происходит двойной * рендер. Из-за этого доска возврщает в тоже положение * при reversed = true, но состояние игры разворачивается * * Поэтому принято решение вынести хранение и задание * разворота доски на уровень data-атрибутов html */ export declare const createHtmlReversedStateHolder: () => void; export declare const setHtmlReversedStateHolderValue: (reversed: boolean) => void; export declare const getHtmlReversedStateHolderValue: () => boolean;