import { Color, Square } from './types.js'; /** * An immutable set of squares, implemented as a bitboard. A xiangqi board is 9x10, hence we * need 90 bits. We use 3 32-bits integers. */ export declare class SquareSet implements Iterable { readonly lo: number; readonly mid: number; readonly hi: number; constructor(lo: number, mid: number, hi: number); static fromSquare(square: Square): SquareSet; static fromSquares(...squares: Square[]): SquareSet; static fromRank(rank: number): SquareSet; static fromFile(file: number): SquareSet; static empty(): SquareSet; static full(): SquareSet; static backranks(): SquareSet; static backrank(color: Color): SquareSet; complement(): SquareSet; xor(other: SquareSet): SquareSet; union(other: SquareSet): SquareSet; intersect(other: SquareSet): SquareSet; diff(other: SquareSet): SquareSet; intersects(other: SquareSet): boolean; isDisjoint(other: SquareSet): boolean; supersetOf(other: SquareSet): boolean; subsetOf(other: SquareSet): boolean; shr96(shift: number): SquareSet; shl96(shift: number): SquareSet; equals(other: SquareSet): boolean; size(): number; isEmpty(): boolean; nonEmpty(): boolean; has(square: Square): boolean; set(square: Square, on: boolean): SquareSet; with(square: Square): SquareSet; without(square: Square): SquareSet; toggle(square: Square): SquareSet; last(): Square | undefined; first(): Square | undefined; withoutFirst(): SquareSet; moreThanOne(): boolean; singleSquare(): Square | undefined; [Symbol.iterator](): Iterator; reversed(): Iterable; }