@type t() :: %Riichi.Scoring.Input{
after_a_kan?: boolean() | nil,
dealer?: boolean() | nil,
decompositions: [Riichi.Decomposer.decomposed_hand()] | nil,
dora_indicators: [Riichi.Tile.t()] | nil,
event: Riichi.Scoring.winnable_event() | nil,
first_chance?: boolean() | nil,
last_turn?: boolean() | nil,
riichi: (Riichi.Player.RiichiFlags.t() | nil) | nil,
round_wind: Riichi.Round.wind() | nil,
rules: Riichi.Rules.t() | nil,
seat_wind: Riichi.Round.wind() | nil,
ura_dora_indicators: [Riichi.Tile.t()] | nil
}