module Prism
class Dispatcher < Visitor
attr_reader listeners: Hash[Symbol, Array[untyped]]
def initialize: () -> void
def register: (untyped, *Symbol) -> void
def register_public_methods: (untyped) -> void
def dispatch: (Prism::node) -> void
def dispatch_once: (Prism::node) -> void
private def register_events: (untyped, Array[Symbol]) -> void
class DispatchOnce < Visitor
attr_reader listeners: Hash[Symbol, Array[untyped]]
def initialize: (Hash[Symbol, Array[untyped]]) -> void
end
end
end