module HTTPX class Timers @intervals: Array[Interval] @next_interval_at: Float def after: (Numeric interval_in_secs, ^() -> void) -> Interval | (Numeric interval_in_secs) { () -> void } -> Interval def wait_interval: () -> Numeric? def fire: (?TimeoutError error) -> void def initialize: () -> void class Interval include Comparable type callback = ^() -> void attr_reader interval: Numeric @callbacks: Array[callback] @on_empty: callback? def on_empty: () { () -> void } -> void def to_f: () -> Float def <<: (callback) -> void def delete: (callback) -> void def elapse: (Numeric elapsed) -> Numeric def elapsed?: () -> bool def no_callbacks?: () -> bool private def initialize: (Numeric interval) -> void end end end