export { NUM_TILE_TYPES, NUM_TILE_TYPES_WITH_RED, SUIT_NUM, HONOR_NUM, NUM_SUITS, MANZU_OFFSET, PINZU_OFFSET, SOUZU_OFFSET, JIHAI_OFFSET, YAOCHU_IDS, RED_MANZU_ID, RED_PINZU_ID, RED_SOUZU_ID } from "./core/constants.js"; export { NORMAL_FIVE_IDS, RED_IDS, maxTilesForId, buildDefaultRemaining } from "./core/remaining.js"; export { tileToString, parseTiles, getSuit, getSuitIndex, getNum, isYaochu, isRedTile, toNormalTile, nextTile } from "./core/tile.js"; export type { TileId, TileSuit } from "./core/tile.js"; export { createHand, handFromTiles, handFromNotation, handToString, handToNotation, countTiles, splitToSuits } from "./core/hand.js"; export type { HandArray } from "./core/hand.js"; export { calculateShanten, calculateShantenRegular, calculateShantenChiitoi, calculateShantenKokushi } from "./shanten/shanten-calculator.js"; export { calculateUkeire13, calculateUkeire14, mergeRedAcceptTiles } from "./shanten/ukeire.js"; export type { UkeireOptions, UkeireResult } from "./types.js"; export { setSuitTable, setHonorTable, isInitialized } from "./shanten/lookup-table.js"; export { initFromUrl } from "./shanten/init.js"; export { decomposeHand } from "./scoring/decomposer.js"; export { determineWaitType, determineWaitTypes } from "./scoring/wait-type.js"; export { evaluateYaku } from "./scoring/yaku.js"; export { calculateFu } from "./scoring/fu.js"; export { calculateScore, calcBasicPoints, tsumoPoints } from "./scoring/score-calculator.js"; export type { MentsuType, Mentsu, RegularDecomposition, ChiitoiDecomposition, HandDecomposition, WaitType, YakuResult, GameContext, ScoreResult } from "./scoring/types.js"; export { calculateEV13, calculateEV14 } from "./ev/ev-calculator.js"; export type { EVOptions, EVResult } from "./ev/types.js"; export { init } from "./init.js"; export { simulateDiscards } from "./mc/simulator.js"; export type { MCOptions, MCResult } from "./mc/simulator.js"; export { TENPAI_PROB_BY_TURN, AVG_DEAL_IN_LOSS, tileDanger, getTenpaiProb, getAvgDealInLoss } from "./models/danger.js"; export { evaluateDiscards } from "./models/evaluation.js"; export type { EvalOptions, EvalResult } from "./models/evaluation.js"; export { analyzeFuroBoost, calculateReducedShanten } from "./models/furo-boost.js"; export type { FuroTarget, FuroAnalysis, FuroBoostOptions } from "./models/furo-boost.js"; export { estimateFuroScore, countBySuit, getPrimarySuit } from "./models/furo-scoring.js"; export type { FuroYakuBreakdown, FuroScoreEstimate } from "./models/furo-scoring.js"; export { WorkerClient } from "./worker-client.js"; export type { WorkerClientOptions, WorkerClientOptionsSingle, WorkerClientOptionsMulti } from "./worker-client.js";