# sig/kleene/multi_match_dfa.rbs

class Kleene::BatchMatchTracker
  def add_empty_match: () -> untyped
  def add_end_of_match: () -> untyped
  def add_match: () -> untyped
  def add_start_of_candidate_match: () -> untyped
  def empty_match_positions: () -> untyped
  def end_positions: () -> untyped
  def initialize: () -> void
  def invert_candidate_match_start_positions: () -> untyped
  def matches_for: () -> untyped
  def reset: () -> untyped
  def start_positions: () -> untyped
end


# sig/kleene/multi_match_dfa.rbs

class Kleene::BatchMultiMatchDFA < Kleene::MultiMatchDFA
  def match_tracker: () -> untyped
  def matches: () -> untyped
  def setup_callbacks: () -> untyped
end


# sig/kleene/dfa.rbs

class Kleene::DFA
  def accept?: () -> untyped
  def add_transition: () -> untyped
  def all_transitions: () -> untyped
  def clear_error_states: () -> untyped
  def deep_clone: () -> untyped
  def error?: () -> untyped
  def error_states: () -> untyped
  def handle_token!: () -> untyped
  def initialize: () -> void
  def match?: () -> untyped
  def matches: () -> untyped
  def matches_at_offset: () -> untyped
  def minimize!: () -> untyped
  def next_state: () -> untyped
  def on_transition: () -> untyped
  def on_transition_to: () -> untyped
  def origin_nfa: () -> untyped
  def reachable_states: () -> untyped
  def regex_pattern: () -> untyped
  def reset_current_state: () -> untyped
  def set_regex_pattern: () -> untyped
  def shallow_clone: () -> untyped
  def to_s: () -> untyped
  def update_final_states: () -> untyped
end


# sig/kleene/dfa.rbs

class Kleene::DFATransition
  def accept?: () -> untyped
  def initialize: () -> void
end


# sig/kleene/multi_match_dfa.rbs

class Kleene::MachineTuple
  def initialize: () -> void
  def initialize: () -> void
end


# sig/kleene/kleene.rbs

class Kleene::MatchRef
  def ==: () -> untyped
  def eql?: () -> untyped
  def initialize: () -> void
  def text: () -> untyped
  def to_s: () -> untyped
end


# sig/kleene/multi_match_dfa.rbs

class Kleene::MultiMatchDFA
  def create_composite_nfa: () -> untyped
  def initialize: () -> void
  def machines_from_dfa: () -> untyped
  def machines_from_nfa: () -> untyped
  def machines_from_nfa_with_dead_err: () -> untyped
end


# sig/kleene/nfa.rbs

class Kleene::NFA
  def accept?: () -> untyped
  def add_state: () -> untyped
  def add_states: () -> untyped
  def add_transition: () -> untyped
  def all_transitions: () -> untyped
  def deep_clone: () -> untyped
  def epsilon_closure: () -> untyped
  def error_states: () -> untyped
  def graphviz: () -> untyped
  def handle_token!: () -> untyped
  def initialize: () -> void
  def match?: () -> untyped
  def matches: () -> untyped
  def matches_at_offset: () -> untyped
  def next_states: () -> untyped
  def reachable_states: () -> untyped
  def regex_pattern: () -> untyped
  def remove_state: () -> untyped
  def reset_current_states: () -> untyped
  def set_regex_pattern: () -> untyped
  def to_dfa: () -> untyped
  def to_s: () -> untyped
  def transitions_from: () -> untyped
  def update_final_states: () -> untyped
end


# sig/kleene/nfa.rbs

class Kleene::NFATransition
  def accept?: () -> untyped
  def epsilon?: () -> untyped
  def initialize: () -> void
end


# sig/kleene/naive_online_regex.rbs

class Kleene::NaiveOnlineRegex
  def drop_matches_that_have_rolled_off: () -> untyped
  def ingest: () -> untyped
  def initialize: () -> void
  def matches: () -> untyped
  def matches_for: () -> untyped
  def reset: () -> untyped
  def resize_buffer!: () -> untyped
end


# sig/kleene/online_dfa.rbs

class Kleene::OnlineDFA
  def create_composite_nfa: () -> untyped
  def ingest: () -> untyped
  def initialize: () -> void
  def machines_from_dfa: () -> untyped
  def machines_from_nfa: () -> untyped
  def machines_from_nfa_with_dead_err: () -> untyped
  def matches: () -> untyped
  def reset: () -> untyped
  def setup_callbacks: () -> untyped
end


# sig/kleene/naive_online_regex.rbs

class Kleene::OnlineMatch
  def ==: () -> untyped
  def []: () -> untyped
  def captures: () -> untyped
  def clone: () -> untyped
  def decrement_offsets: () -> untyped
  def eql?: () -> untyped
  def hash: () -> untyped
  def identity: () -> untyped
  def initialize: () -> void
  def to_a: () -> untyped
  def to_h: () -> untyped
end


# sig/kleene/online_dfa.rbs

class Kleene::OnlineMatchTracker
  def add_empty_match: () -> untyped
  def add_end_of_match: () -> untyped
  def add_match: () -> untyped
  def add_start_of_candidate_match: () -> untyped
  def empty_match_positions: () -> untyped
  def end_positions: () -> untyped
  def initialize: () -> void
  def invert_candidate_match_start_positions: () -> untyped
  def matches_for: () -> untyped
  def reset: () -> untyped
  def start_positions: () -> untyped
end


# sig/kleene/parser.rbs

class Kleene::Parser
  def parse: () -> untyped
end


# sig/kleene/kleene.rbs

class Kleene::State
  def self.new_error_state: () -> untyped
  def self.next_id: () -> untyped
  def dup: () -> untyped
  def error?: () -> untyped
  def final?: () -> untyped
  def initialize: () -> void
  def to_s: () -> untyped
end


# sig/kleene/patches.rbs

class String
  def scan_matches: () -> untyped
end


# sig/kleene/patches.rbs

module Enumerable
  def compact_map: () -> untyped
  def find_map: () -> untyped
end


# sig/kleene/dsl.rbs

module Kleene::DSL
  def any: () -> untyped
  def append: () -> untyped
  def append!: () -> untyped
  def dot: () -> untyped
  def kleene: () -> untyped
  def literal: () -> untyped
  def optional: () -> untyped
  def plus: () -> untyped
  def range: () -> untyped
  def seq: () -> untyped
  def seq2: () -> untyped
  def union: () -> untyped
  def union!: () -> untyped
  def with_err: () -> untyped
  def with_err!: () -> untyped
  def with_err_dead_end: () -> untyped
  def with_err_dead_end!: () -> untyped
end
