import { BoardState } from './BoardState';
/**
 * 盤面を絶対座標で表現した、主に表示用のインターフェース
 * ポイントの座標は、Whiteのスタートが0で表記される（MoveFormatDirection.ABSOLUTE）
 */
export interface AbsoluteBoardState {
    /**
     * 各ポイントの駒数を格納した配列を返す
     */
    points(): number[];
    /**
     * 指定されたポイントの駒数を返す。正はWhiteの、負はRedの駒数を示す
     * @param n
     */
    piecesAt(n: number): number;
    /**
     * すでに上がったWhiteの駒の数を返す。
     */
    whiteBornOff(): number;
    /**
     * すでに上がったRedの駒の数を返す（負数ではなく、正の値を返すことに注意）。
     */
    redBornOff(): number;
}
/**
 * 絶対表記の盤面状態を生成する
 * @param pieces 駒の配置を表す配列
 * @param bornOffs すでに上げた駒の数の配列:bornOffs[0]は赤、[1]は白（省略時はいずれも0）
 * @returns
 */
export declare function initAbsoluteBoard(pieces?: number[], bornOffs?: [number, number]): AbsoluteBoardState;
/**
 * 相対表記であるBoardStateを、Whiteの観点で絶対表記に変換する。
 * 実質的にはそのまま返す
 * @param boardState
 */
export declare function whiteViewAbsoluteBoard(boardState: BoardState): AbsoluteBoardState;
/**
 * 相対表記であるBoardStateを、Redの観点で絶対表記に変換する。
 * 実質的には座標を反転、駒数も正負反転させて返す
 * @param boardState
 */
export declare function redViewAbsoluteBoard(boardState: BoardState): AbsoluteBoardState;
//# sourceMappingURL=AbsoluteBoardState.d.ts.map