import { Piece } from "./piece";
import { SquareIndex } from "./square";
import { IMove } from "./move";
import { Colour } from "./colour";
export type BoardPosition = [
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece,
    Piece
];
export declare const BoardPosition: {
    getAllPiecesByColour(boardPosition: BoardPosition, colour: Colour): Array<Piece>;
    createEmpty(): BoardPosition;
    copyAsync(boardPosition: BoardPosition): BoardPosition;
    setEmpty(boardPosition: BoardPosition, square: number): void;
    createDefault(): BoardPosition;
    isEmpty(boardPosition: BoardPosition, x: number, y: number): boolean;
    isSquareEmpty(boardPosition: BoardPosition, square: SquareIndex): boolean;
    isSquaresEmpty(boardPosition: BoardPosition, ...squares: Array<SquareIndex>): boolean;
    setPiece(boardPosition: BoardPosition, square: SquareIndex, piece: Piece): void;
    getPiece(boardPosition: BoardPosition, square: SquareIndex): Piece;
    getPieceByCoords(boardPosition: BoardPosition, x: number, y: number): Piece;
    getPieceOrNull(boardPosition: BoardPosition, square: SquareIndex): Piece | null;
    isInBoard(x: number, y: number): boolean;
    isIndexInBoard(index: number): boolean;
    isSquareUnderAttack(squareIndex: SquareIndex, moveList: Array<IMove>): boolean;
    isSquaresNotUnderAttack(enemyColour: Colour, moveList: Array<IMove>, boardPosition: BoardPosition, ...squareIndexes: Array<SquareIndex>): boolean;
};
