module Ika3 class Schedule @contact: String @salmon_run_team_contest: Salmon @splat3_connection: Faraday::Connection @event_match: Battle def initialize: (String) -> void def salmon_run_team_contest: -> Salmon def event: -> Battle private def send_request: (Symbol, String) -> Ika3::Response def api_url: () -> "https://spla3.yuu26.com/" def splat3_connection: () -> Faraday::Connection def faraday_options: () -> { url: String, headers: { :"User-Agent" => ::String } } class Battle @start_time: untyped @end_time: untyped @rule: Rule @stages: Array[Stage] @is_fest: bool @is_tricolor: bool @tricolor_stage: Stage? def initialize: (Hash[untyped, untyped] data) -> void class Stage @id: untyped @name: String @image: String def initialize: (Hash[untyped, untyped] data) -> void end class Rule @name: String @key: untyped def initialize: (Hash[untyped, untyped] data) -> void end end class Salmon @start_time: untyped @end_time: untyped @stage: Stage @weapons: Array[Weapon] @boss: Boss? def initialize: (Hash[untyped, untyped] data) -> void class Stage @name: String @image: untyped def initialize: (Hash[untyped, untyped] data) -> void end class Weapon @name: String @image: String def initialize: (Hash[untyped, untyped] data) -> void end class Boss @id: String @name: String def initialize: (Hash[untyped, untyped] data) -> void end end end end