import { CubeState } from './CubeState';
import { Dice } from './Dices';
import { ResignOffer } from './ResignOffer';
/**
 * ゲームの進行状態を表す。実質的には、MatchID生成のための定義。
 */
export declare type GameState = GSOpening | GSInPlay | GSEoG;
declare type _GameState = {
    cubeState: CubeState;
};
export declare type GSOpening = _GameState & {
    tag: 'GSOpening';
};
export declare type GSInPlay = _GameState & {
    tag: 'GSInPlay';
    isResignOffered: boolean;
    isDoubleOffered: boolean;
    offer?: ResignOffer;
    dices?: Dice[];
    isRed: boolean;
};
export declare type GSEoG = _GameState & {
    tag: 'GSEoG';
    isWonByResign: boolean;
    isWonByPass: boolean;
};
export {};
//# sourceMappingURL=GameState.d.ts.map