import { AbsoluteBoardState } from '../AbsoluteBoardState';
import { BoardState } from '../BoardState';
import { BoardStateNode } from '../BoardStateNode';
import { Ply } from '../Ply';
import { SGInPlay } from './SingleGameState';
/**
 * チェッカープレイが未確定の状態を表す
 */
export declare type CheckerPlayState = {
    isCommitted: false;
    curPly: Ply;
    curBoardState: BoardStateNode;
    absBoard: AbsoluteBoardState;
    isUndoable: boolean;
    boardStateNodeRevertTo: BoardStateNode;
    absBoardRevertTo: AbsoluteBoardState;
    toAbsBoard: (board: BoardState) => AbsoluteBoardState;
    toPly: (board: BoardStateNode) => Ply;
    toPos: (n: number) => number;
    revertDicesFlag: boolean;
};
/**
 * チェッカープレイが確定した状態を表す
 */
export declare type CheckerPlayStateCommitted = {
    isCommitted: true;
    boardStateNode: BoardStateNode;
};
/**
 * チェッカープレイ開始状態を示すSGStateオブジェクトを、CheckerPlayStateオブジェクトに変換する
 * @param sgInPlay
 * @returns
 */
export declare function asCheckerPlayState(sgInPlay: SGInPlay): CheckerPlayState;
//# sourceMappingURL=CheckerPlayState.d.ts.map