# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::AlternationNotAllowedInOptional < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::AlternativeMayNotBeEmpty < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::AlternativeMayNotExclusivelyContainOptionals < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::AmbiguousParameterTypeError < Cucumber::CucumberExpressions::CucumberExpressionError
  def expressions: () -> untyped
  def initialize: () -> void
  def parameter_type_names: () -> untyped
end


# sig/cucumber/cucumber_expressions/argument.rbs

class Cucumber::CucumberExpressions::Argument
  def self.build: () -> untyped
  def initialize: () -> void
  def value: () -> untyped
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::CantEscape < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/combinatorial_generated_expression_factory.rbs

class Cucumber::CucumberExpressions::CombinatorialGeneratedExpressionFactory
  def generate_expressions: () -> untyped
  def generate_permutations: () -> untyped
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/cucumber_expression.rbs

class Cucumber::CucumberExpressions::CucumberExpression
  def assert_no_optionals: () -> untyped
  def assert_no_parameters: () -> untyped
  def assert_not_empty: () -> untyped
  def escape_regex: () -> untyped
  def initialize: () -> void
  def match: () -> untyped
  def regexp: () -> untyped
  def rewrite_alternation: () -> untyped
  def rewrite_alternative: () -> untyped
  def rewrite_expression: () -> untyped
  def rewrite_optional: () -> untyped
  def rewrite_parameter: () -> untyped
  def rewrite_to_regex: () -> untyped
  def source: () -> untyped
  def to_s: () -> untyped
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::CucumberExpressionError < Cucumber::CucumberExpressions::StandardError
  def build_message: () -> untyped
  def point_at: () -> untyped
  def point_at_located: () -> untyped
end


# sig/cucumber/cucumber_expressions/cucumber_expression_generator.rbs

class Cucumber::CucumberExpressions::CucumberExpressionGenerator
  def create_parameter_type_matchers: () -> untyped
  def create_parameter_type_matchers2: () -> untyped
  def escape: () -> untyped
  def generate_expression: () -> untyped
  def generate_expressions: () -> untyped
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/cucumber_expression_parser.rbs

class Cucumber::CucumberExpressions::CucumberExpressionParser
  def create_alternative_nodes: () -> untyped
  def looking_at: () -> untyped
  def looking_at_any: () -> untyped
  def parse: () -> untyped
  def parse_between: () -> untyped
  def parse_token: () -> untyped
  def parse_tokens_until: () -> untyped
  def split_alternatives: () -> untyped
end


# sig/cucumber/cucumber_expressions/cucumber_expression_tokenizer.rbs

class Cucumber::CucumberExpressions::CucumberExpressionTokenizer
  def convert_buffer_to_token: () -> untyped
  def should_create_new_token?: () -> untyped
  def token_type_of: () -> untyped
  def tokenize: () -> untyped
end


# sig/cucumber/cucumber_expressions/expression_factory.rbs

class Cucumber::CucumberExpressions::ExpressionFactory
  def create_expression: () -> untyped
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/generated_expression.rbs

class Cucumber::CucumberExpressions::GeneratedExpression
  def get_parameter_name: () -> untyped
  def initialize: () -> void
  def parameter_names: () -> untyped
  def source: () -> untyped
end


# sig/cucumber/cucumber_expressions/group.rbs

class Cucumber::CucumberExpressions::Group
  def initialize: () -> void
  def values: () -> untyped
end


# sig/cucumber/cucumber_expressions/group_builder.rbs

class Cucumber::CucumberExpressions::GroupBuilder
  def add: () -> untyped
  def build: () -> untyped
  def capturing?: () -> untyped
  def children: () -> untyped
  def initialize: () -> void
  def move_children_to: () -> untyped
  def set_non_capturing!: () -> untyped
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::InvalidParameterTypeName < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::InvalidParameterTypeNameInNode < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::MissingEndToken < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/ast.rbs

class Cucumber::CucumberExpressions::Node
  def end: () -> untyped
  def initialize: () -> void
  def nodes: () -> untyped
  def start: () -> untyped
  def text: () -> untyped
  def to_hash: () -> untyped
  def token: () -> untyped
  def type: () -> untyped
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::OptionalIsNotAllowedInOptional < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::OptionalMayNotBeEmpty < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::ParameterIsNotAllowedInOptional < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/parameter_type.rbs

class Cucumber::CucumberExpressions::ParameterType
  def self.check_parameter_type_name: () -> untyped
  def self.is_valid_parameter_type_name: () -> untyped
  def <=>: () -> untyped
  def initialize: () -> void
  def prefer_for_regexp_match?: () -> untyped
  def regexp_source: () -> untyped
  def string_array: () -> untyped
  def transform: () -> untyped
  def use_for_snippets?: () -> untyped
end


# sig/cucumber/cucumber_expressions/parameter_type_matcher.rbs

class Cucumber::CucumberExpressions::ParameterTypeMatcher
  def <=>: () -> untyped
  def advance_to: () -> untyped
  def find: () -> untyped
  def full_word?: () -> untyped
  def group: () -> untyped
  def initialize: () -> void
  def space_after_match_or_sentence_end?: () -> untyped
  def space_before_match_or_sentence_start?: () -> untyped
  def start: () -> untyped
end


# sig/cucumber/cucumber_expressions/parameter_type_registry.rbs

class Cucumber::CucumberExpressions::ParameterTypeRegistry
  def define_parameter_type: () -> untyped
  def initialize: () -> void
  def lookup_by_regexp: () -> untyped
  def lookup_by_type_name: () -> untyped
  def parameter_types: () -> untyped
end


# sig/cucumber/cucumber_expressions/regular_expression.rbs

class Cucumber::CucumberExpressions::RegularExpression
  def initialize: () -> void
  def match: () -> untyped
  def regexp: () -> untyped
  def source: () -> untyped
  def to_s: () -> untyped
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::TheEndOfLineCannotBeEscaped < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end


# sig/cucumber/cucumber_expressions/ast.rbs

class Cucumber::CucumberExpressions::Token
  def self.can_escape: () -> untyped
  def self.is_escape_character: () -> untyped
  def self.purpose_of: () -> untyped
  def self.symbol_of: () -> untyped
  def self.type_of: () -> untyped
  def end: () -> untyped
  def initialize: () -> void
  def start: () -> untyped
  def text: () -> untyped
  def to_hash: () -> untyped
  def type: () -> untyped
end


# sig/cucumber/cucumber_expressions/tree_regexp.rbs

class Cucumber::CucumberExpressions::TreeRegexp
  def create_group_builder: () -> untyped
  def initialize: () -> void
  def is_non_capturing: () -> untyped
  def match: () -> untyped
end


# sig/cucumber/cucumber_expressions/errors.rbs

class Cucumber::CucumberExpressions::UndefinedParameterTypeError < Cucumber::CucumberExpressions::CucumberExpressionError
  def initialize: () -> void
end
