import { Direction } from "./direction.js"; import { MahjongTile } from "./mahjong-tile.js"; import { Ruleset, RulesetOptions } from "./ruleset.js"; export interface GameState { roundWind: Direction; seatWind: Direction; doraIndicators: MahjongTile[]; uradoraIndicators: MahjongTile[]; isRiichi: boolean; isDoubleRiichi?: boolean; isIppatsu?: boolean; isHaitei?: boolean; isHoutei?: boolean; isRinshan?: boolean; isChankan?: boolean; isTenhou?: boolean; isChiihou?: boolean; honbaCount: number; /** Resolved by createGameState; optional for source compatibility with v1 inputs. */ ruleset?: Ruleset; } /** * The options a caller can pass in to create a GameState. * All are optional, because we have defaults. */ export interface GameStateOptions { roundWind?: Direction; seatWind?: Direction; doraIndicators?: MahjongTile[]; uradoraIndicators?: MahjongTile[]; isRiichi?: boolean; isDoubleRiichi?: boolean; isIppatsu?: boolean; isHaitei?: boolean; isHoutei?: boolean; isRinshan?: boolean; isChankan?: boolean; isTenhou?: boolean; isChiihou?: boolean; honbaCount?: number; ruleset?: RulesetOptions; } /** * Factory function: merges defaults and returns a fully-specified GameState. */ export declare function createGameState({ roundWind, seatWind, doraIndicators, uradoraIndicators, isRiichi, isDoubleRiichi, isIppatsu, isHaitei, isHoutei, isRinshan, isChankan, isTenhou, isChiihou, honbaCount, ruleset, }?: GameStateOptions): GameState; //# sourceMappingURL=game-state.d.ts.map