Arie/serveme

View on GitHub
sorbet/rbi/gems/cucumber@8.0.0.rbi

Summary

Maintainability
Test Coverage
# typed: true

# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `cucumber` gem.
# Please instead update this file by running `bin/tapioca gem cucumber`.

# source://cucumber//lib/cucumber/platform.rb#8
module Cucumber
  class << self
    # source://cucumber//lib/cucumber/deprecate.rb#52
    def deprecate(*args); end

    # @private
    #
    # source://cucumber//lib/cucumber/platform.rb#21
    def file_mode(mode, encoding = T.unsafe(nil)); end

    # source://cucumber//lib/cucumber.rb#15
    def logger; end

    # source://cucumber//lib/cucumber.rb#23
    def logger=(logger); end

    # Returns the value of attribute use_full_backtrace.
    #
    # source://cucumber//lib/cucumber/platform.rb#18
    def use_full_backtrace; end

    # Sets the attribute use_full_backtrace
    #
    # @param value the value to set the attribute use_full_backtrace to.
    #
    # source://cucumber//lib/cucumber/platform.rb#18
    def use_full_backtrace=(_arg0); end

    # Returns the value of attribute use_legacy_autoloader.
    #
    # source://cucumber//lib/cucumber.rb#13
    def use_legacy_autoloader; end

    # Sets the attribute use_legacy_autoloader
    #
    # @param value the value to set the attribute use_legacy_autoloader to.
    #
    # source://cucumber//lib/cucumber.rb#13
    def use_legacy_autoloader=(_arg0); end

    # Returns the value of attribute wants_to_quit.
    #
    # source://cucumber//lib/cucumber.rb#13
    def wants_to_quit; end

    # Sets the attribute wants_to_quit
    #
    # @param value the value to set the attribute wants_to_quit to.
    #
    # source://cucumber//lib/cucumber.rb#13
    def wants_to_quit=(_arg0); end
  end
end

# Raised when a step matches 2 or more StepDefinitions
#
# source://cucumber//lib/cucumber/errors.rb#36
class Cucumber::Ambiguous < ::StandardError
  # @return [Ambiguous] a new instance of Ambiguous
  #
  # source://cucumber//lib/cucumber/errors.rb#37
  def initialize(step_name, step_definitions, used_guess); end
end

# source://cucumber//lib/cucumber/step_match.rb#145
class Cucumber::AmbiguousStepMatch
  # @return [AmbiguousStepMatch] a new instance of AmbiguousStepMatch
  #
  # source://cucumber//lib/cucumber/step_match.rb#146
  def initialize(error); end

  # source://cucumber//lib/cucumber/step_match.rb#150
  def activate(test_step); end
end

# source://cucumber//lib/cucumber/platform.rb#11
Cucumber::BINARY = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/rerun_file.rb#4
module Cucumber::Cli; end

# source://cucumber//lib/cucumber/cli/configuration.rb#17
class Cucumber::Cli::Configuration
  include ::Cucumber::Constantize

  # @return [Configuration] a new instance of Configuration
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#22
  def initialize(out_stream = T.unsafe(nil), error_stream = T.unsafe(nil)); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#61
  def dry_run?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#65
  def expand?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#69
  def fail_fast?; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#101
  def filters; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#105
  def formats; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#57
  def guess?; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#81
  def log; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#97
  def name_regexps; end

  # Returns the value of attribute out_stream.
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#20
  def out_stream; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#28
  def parse!(args); end

  # source://cucumber//lib/cucumber/cli/configuration.rb#109
  def paths; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#41
  def randomize?; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#73
  def retry_attempts; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#45
  def seed; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#77
  def snippet_type; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#49
  def strict; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#93
  def tag_expressions; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#89
  def tag_limits; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#113
  def to_hash; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#37
  def verbose?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#53
  def wip?; end

  private

  # source://cucumber//lib/cucumber/cli/configuration.rb#141
  def add_default_formatter; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#131
  def arrange_formats; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#149
  def formatter_missing?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#145
  def needs_default_formatter?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/configuration.rb#153
  def publish_only?; end

  # source://cucumber//lib/cucumber/cli/configuration.rb#125
  def set_environment_variables; end
end

# source://cucumber//lib/cucumber/cli/configuration.rb#119
class Cucumber::Cli::Configuration::LogFormatter < ::Logger::Formatter
  # source://cucumber//lib/cucumber/cli/configuration.rb#120
  def call(_severity, _time, _progname, msg); end
end

# source://cucumber//lib/cucumber/cli/main.rb#10
class Cucumber::Cli::Main
  # @return [Main] a new instance of Main
  #
  # source://cucumber//lib/cucumber/cli/main.rb#17
  def initialize(args, out = T.unsafe(nil), err = T.unsafe(nil), kernel = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/cli/main.rb#58
  def configuration; end

  # source://cucumber//lib/cucumber/cli/main.rb#24
  def execute!(existing_runtime = T.unsafe(nil)); end

  private

  # source://cucumber//lib/cucumber/cli/main.rb#67
  def exit_ok; end

  # source://cucumber//lib/cucumber/cli/main.rb#71
  def exit_tests_failed; end

  # source://cucumber//lib/cucumber/cli/main.rb#75
  def exit_unable_to_finish; end

  # stops the program immediately, without running at_exit blocks
  #
  # source://cucumber//lib/cucumber/cli/main.rb#80
  def exit_unable_to_finish!; end

  # source://cucumber//lib/cucumber/cli/main.rb#93
  def runtime(existing_runtime); end

  # source://cucumber//lib/cucumber/cli/main.rb#84
  def trap_interrupt; end

  class << self
    # source://cucumber//lib/cucumber/cli/main.rb#12
    def execute(args); end
  end
end

# source://cucumber//lib/cucumber/cli/options.rb#11
class Cucumber::Cli::Options
  # @return [Options] a new instance of Options
  #
  # source://cucumber//lib/cucumber/cli/options.rb#72
  def initialize(out_stream = T.unsafe(nil), error_stream = T.unsafe(nil), options = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/cli/options.rb#86
  def [](key); end

  # source://cucumber//lib/cucumber/cli/options.rb#90
  def []=(key, value); end

  # source://cucumber//lib/cucumber/cli/options.rb#180
  def check_formatter_stream_conflicts; end

  # source://cucumber//lib/cucumber/cli/options.rb#172
  def custom_profiles; end

  # source://cucumber//lib/cucumber/cli/options.rb#176
  def filters; end

  # source://cucumber//lib/cucumber/cli/options.rb#94
  def parse!(args); end

  # source://cucumber//lib/cucumber/cli/options.rb#187
  def to_hash; end

  protected

  # Returns the value of attribute expanded_args.
  #
  # source://cucumber//lib/cucumber/cli/options.rb#193
  def expanded_args; end

  # Returns the value of attribute options.
  #
  # source://cucumber//lib/cucumber/cli/options.rb#193
  def options; end

  # Returns the value of attribute profiles.
  #
  # source://cucumber//lib/cucumber/cli/options.rb#193
  def profiles; end

  private

  # source://cucumber//lib/cucumber/cli/options.rb#403
  def add_option(option, value); end

  # source://cucumber//lib/cucumber/cli/options.rb#435
  def add_profile(p); end

  # source://cucumber//lib/cucumber/cli/options.rb#407
  def add_tag(value); end

  # source://cucumber//lib/cucumber/cli/options.rb#421
  def add_tag_limit(tag_limits, tag_name, limit); end

  # source://cucumber//lib/cucumber/cli/options.rb#415
  def add_tag_limits(value); end

  # source://cucumber//lib/cucumber/cli/options.rb#358
  def banner; end

  # source://cucumber//lib/cucumber/cli/options.rb#427
  def color(color); end

  # source://cucumber//lib/cucumber/cli/options.rb#211
  def color_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#604
  def default_options; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/options.rb#506
  def default_profile_should_be_used?; end

  # source://cucumber//lib/cucumber/cli/options.rb#395
  def disable_profile_loading; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/options.rb#477
  def disable_profile_loading?; end

  # source://cucumber//lib/cucumber/cli/options.rb#218
  def dry_run_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#222
  def exclude_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#448
  def exit_ok(text); end

  # source://cucumber//lib/cucumber/cli/options.rb#468
  def extract_environment_variables; end

  # source://cucumber//lib/cucumber/cli/options.rb#226
  def format_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#236
  def i18n_keywords_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#230
  def i18n_languages_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#554
  def indicate_invalid_language_and_exit(lang); end

  # source://cucumber//lib/cucumber/cli/options.rb#243
  def init_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#431
  def initialize_project; end

  # source://cucumber//lib/cucumber/cli/options.rb#387
  def language(lang); end

  # source://cucumber//lib/cucumber/cli/options.rb#250
  def lines_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#559
  def list_keywords_and_exit(lang); end

  # source://cucumber//lib/cucumber/cli/options.rb#585
  def list_languages_and_exit; end

  # source://cucumber//lib/cucumber/cli/options.rb#481
  def merge_profiles; end

  # source://cucumber//lib/cucumber/cli/options.rb#550
  def merge_tag_limits(option_limits, other_limits); end

  # source://cucumber//lib/cucumber/cli/options.rb#496
  def merge_with_profile(profile); end

  # source://cucumber//lib/cucumber/cli/options.rb#274
  def name_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#254
  def no_profile_short_flag_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#399
  def non_stdout_formats; end

  # source://cucumber//lib/cucumber/cli/options.rb#323
  def out_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#295
  def out_stream(v); end

  # source://cucumber//lib/cucumber/cli/options.rb#289
  def parse_formats(v); end

  # source://cucumber//lib/cucumber/cli/options.rb#198
  def process_publish_options; end

  # source://cucumber//lib/cucumber/cli/options.rb#512
  def profile_loader; end

  # source://cucumber//lib/cucumber/cli/options.rb#260
  def profile_short_flag_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#381
  def publisher; end

  # source://cucumber//lib/cucumber/cli/options.rb#369
  def require_files(v); end

  # source://cucumber//lib/cucumber/cli/options.rb#336
  def require_files_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#377
  def require_jars(jars); end

  # source://cucumber//lib/cucumber/cli/options.rb#270
  def retry_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#516
  def reverse_merge(other_options); end

  # source://cucumber//lib/cucumber/cli/options.rb#443
  def set_dry_run_and_duration; end

  # source://cucumber//lib/cucumber/cli/options.rb#439
  def set_option(option, value = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/cli/options.rb#460
  def set_strict(setting, type = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/cli/options.rb#453
  def shut_up; end

  # source://cucumber//lib/cucumber/cli/options.rb#351
  def snippet_type_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#464
  def stdout_formats; end

  # source://cucumber//lib/cucumber/cli/options.rb#282
  def strict_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#300
  def tags_msg; end

  # source://cucumber//lib/cucumber/cli/options.rb#600
  def to_code_keywords_string(list); end

  # source://cucumber//lib/cucumber/cli/options.rb#596
  def to_keywords_string(list); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/options.rb#205
  def truthy_string?(str); end

  class << self
    # source://cucumber//lib/cucumber/cli/options.rb#68
    def parse(args, out_stream, error_stream, options = T.unsafe(nil)); end
  end
end

# source://cucumber//lib/cucumber/cli/options.rb#14
Cucumber::Cli::Options::BUILTIN_FORMATS = T.let(T.unsafe(nil), Hash)

# source://cucumber//lib/cucumber/cli/options.rb#12
Cucumber::Cli::Options::CUCUMBER_PUBLISH_URL = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#57
Cucumber::Cli::Options::FAIL_FAST_FLAG = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#50
Cucumber::Cli::Options::FORMAT_HELP = T.let(T.unsafe(nil), Array)

# source://cucumber//lib/cucumber/cli/options.rb#37
Cucumber::Cli::Options::FORMAT_HELP_MSG = T.let(T.unsafe(nil), Array)

# source://cucumber//lib/cucumber/cli/options.rb#13
Cucumber::Cli::Options::INDENT = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#56
Cucumber::Cli::Options::NO_PROFILE_LONG_FLAG = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#54
Cucumber::Cli::Options::NO_PROFILE_SHORT_FLAG = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#59
Cucumber::Cli::Options::OPTIONS_WITH_ARGS = T.let(T.unsafe(nil), Array)

# source://cucumber//lib/cucumber/cli/options.rb#65
Cucumber::Cli::Options::ORDER_TYPES = T.let(T.unsafe(nil), Array)

# source://cucumber//lib/cucumber/cli/options.rb#55
Cucumber::Cli::Options::PROFILE_LONG_FLAG = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#53
Cucumber::Cli::Options::PROFILE_SHORT_FLAG = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#58
Cucumber::Cli::Options::RETRY_FLAG = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/cli/options.rb#66
Cucumber::Cli::Options::TAG_LIMIT_MATCHER = T.let(T.unsafe(nil), Regexp)

# source://cucumber//lib/cucumber/cli/profile_loader.rb#7
class Cucumber::Cli::ProfileLoader
  # @return [ProfileLoader] a new instance of ProfileLoader
  #
  # source://cucumber//lib/cucumber/cli/profile_loader.rb#8
  def initialize; end

  # source://cucumber//lib/cucumber/cli/profile_loader.rb#12
  def args_from(profile); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/profile_loader.rb#45
  def cucumber_yml_defined?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/cli/profile_loader.rb#41
  def profile?(profile); end

  private

  # Locates cucumber.yml file. The file can end in .yml or .yaml,
  # and be located in the current directory (eg. project root) or
  # in a .config/ or config/ subdirectory of the current directory.
  #
  # source://cucumber//lib/cucumber/cli/profile_loader.rb#96
  def cucumber_file; end

  # Loads the profile, processing it through ERB and YAML, and returns it as a hash.
  #
  # source://cucumber//lib/cucumber/cli/profile_loader.rb#52
  def cucumber_yml; end

  # @raise [ProfilesNotDefinedError]
  #
  # source://cucumber//lib/cucumber/cli/profile_loader.rb#67
  def ensure_configuration_file_exists; end

  # source://cucumber//lib/cucumber/cli/profile_loader.rb#84
  def load_configuration; end

  # source://cucumber//lib/cucumber/cli/profile_loader.rb#75
  def process_configuration_file_with_erb; end

  # source://cucumber//lib/cucumber/cli/profile_loader.rb#100
  def processed_shellwords(args_from_yml); end
end

# source://cucumber//lib/cucumber/cli/configuration.rb#15
class Cucumber::Cli::ProfileNotFound < ::StandardError; end

# source://cucumber//lib/cucumber/cli/configuration.rb#13
class Cucumber::Cli::ProfilesNotDefinedError < ::Cucumber::Cli::YmlLoadError; end

# source://cucumber//lib/cucumber/cli/rerun_file.rb#5
class Cucumber::Cli::RerunFile
  # @return [RerunFile] a new instance of RerunFile
  #
  # source://cucumber//lib/cucumber/cli/rerun_file.rb#16
  def initialize(path); end

  # source://cucumber//lib/cucumber/cli/rerun_file.rb#20
  def features; end

  # Returns the value of attribute path.
  #
  # source://cucumber//lib/cucumber/cli/rerun_file.rb#6
  def path; end

  private

  # source://cucumber//lib/cucumber/cli/rerun_file.rb#26
  def lines; end

  class << self
    # @return [Boolean]
    #
    # source://cucumber//lib/cucumber/cli/rerun_file.rb#8
    def can_read?(path); end

    # source://cucumber//lib/cucumber/cli/rerun_file.rb#12
    def real_path(path); end
  end
end

# source://cucumber//lib/cucumber/cli/configuration.rb#11
class Cucumber::Cli::YmlLoadError < ::StandardError; end

# The base class for configuring settings for a Cucumber run.
#
# source://cucumber//lib/cucumber/configuration.rb#14
class Cucumber::Configuration
  include ::Cucumber::Constantize
  extend ::Forwardable

  # @return [Configuration] a new instance of Configuration
  #
  # source://cucumber//lib/cucumber/configuration.rb#37
  def initialize(user_options = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/configuration.rb#189
  def all_files_to_load; end

  # source://cucumber//lib/cucumber/configuration.rb#129
  def autoload_code_paths; end

  # source://cucumber//lib/cucumber/configuration.rb#117
  def custom_profiles; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#61
  def dry_run?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#101
  def duration?; end

  # source://cucumber//lib/cucumber/configuration.rb#49
  def error_stream; end

  # source://cucumber//lib/cucumber/configuration.rb#248
  def event_bus; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#93
  def expand?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#73
  def fail_fast?; end

  # source://cucumber//lib/cucumber/configuration.rb#137
  def feature_dirs; end

  # source://cucumber//lib/cucumber/configuration.rb#159
  def feature_files; end

  # source://cucumber//lib/cucumber/configuration.rb#155
  def filters; end

  # source://cucumber//lib/cucumber/configuration.rb#125
  def formats; end

  # source://cucumber//lib/cucumber/configuration.rb#217
  def formatter_class(format); end

  # source://cucumber//lib/cucumber/configuration.rb#206
  def formatter_factories; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#81
  def guess?; end

  # source://cucumber//lib/cucumber/configuration.rb#252
  def id_generator; end

  # source://cucumber//lib/cucumber/configuration.rb#151
  def name_regexps; end

  # @private
  #
  # source://cucumber//lib/cucumber/configuration.rb#33
  def notify(message, *args); end

  # Subscribe to an event.
  #
  # See {Cucumber::Events} for the list of possible events.
  #
  # @param event_id [Symbol, Class, String] Identifier for the type of event to subscribe to
  # @param handler_object [Object optional] an object to be called when the event occurs
  # @yield [Object] Block to be called when the event occurs
  #
  # source://forwardable/1.3.3/forwardable.rb#231
  def on_event(*args, **_arg1, &block); end

  # source://cucumber//lib/cucumber/configuration.rb#45
  def out_stream; end

  # source://cucumber//lib/cucumber/configuration.rb#121
  def paths; end

  # source://cucumber//lib/cucumber/configuration.rb#113
  def profiles; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#65
  def publish_enabled?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#69
  def publish_quiet?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#53
  def randomize?; end

  # source://cucumber//lib/cucumber/configuration.rb#243
  def register_snippet_generator(generator); end

  # source://cucumber//lib/cucumber/configuration.rb#77
  def retry_attempts; end

  # source://cucumber//lib/cucumber/configuration.rb#57
  def seed; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#109
  def skip_profile_information?; end

  # An array of procs that can generate snippets for undefined steps. These procs may be called if a
  # formatter wants to display snippets to the user.
  #
  # Each proc should take the following arguments:
  #
  #  - keyword
  #  - step text
  #  - multiline argument
  #  - snippet type
  #
  # source://cucumber//lib/cucumber/configuration.rb#239
  def snippet_generators; end

  # source://cucumber//lib/cucumber/configuration.rb#133
  def snippet_type; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#105
  def snippets?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#97
  def source?; end

  # source://cucumber//lib/cucumber/configuration.rb#202
  def step_defs_to_load; end

  # source://cucumber//lib/cucumber/configuration.rb#85
  def strict; end

  # source://cucumber//lib/cucumber/configuration.rb#178
  def support_to_load; end

  # source://cucumber//lib/cucumber/configuration.rb#147
  def tag_expressions; end

  # source://cucumber//lib/cucumber/configuration.rb#143
  def tag_limits; end

  # source://cucumber//lib/cucumber/configuration.rb#225
  def to_hash; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/configuration.rb#89
  def wip?; end

  # source://cucumber//lib/cucumber/configuration.rb#41
  def with_options(new_options); end

  private

  # source://cucumber//lib/cucumber/configuration.rb#280
  def default_features_paths; end

  # source://cucumber//lib/cucumber/configuration.rb#258
  def default_options; end

  # source://cucumber//lib/cucumber/configuration.rb#290
  def remove_excluded_files_from(files); end

  # source://cucumber//lib/cucumber/configuration.rb#294
  def require_dirs; end

  # source://cucumber//lib/cucumber/configuration.rb#284
  def with_default_features_path(paths); end

  class << self
    # source://cucumber//lib/cucumber/configuration.rb#18
    def default; end
  end
end

# source://cucumber//lib/cucumber/constantize.rb#5
module Cucumber::Constantize
  # source://cucumber//lib/cucumber/constantize.rb#6
  def constantize(camel_cased_word); end

  # Snagged from active_support
  #
  # source://cucumber//lib/cucumber/constantize.rb#26
  def underscore(camel_cased_word); end

  private

  # source://cucumber//lib/cucumber/constantize.rb#36
  def constantize_name(constant, name); end
end

# source://cucumber//lib/cucumber/deprecate.rb#7
module Cucumber::Deprecate; end

# source://cucumber//lib/cucumber/deprecate.rb#8
class Cucumber::Deprecate::AnsiString
  include ::Cucumber::Gherkin::Formatter::AnsiEscapes

  # source://cucumber//lib/cucumber/deprecate.rb#15
  def failure_message(message); end

  class << self
    # source://cucumber//lib/cucumber/deprecate.rb#11
    def failure_message(message); end
  end
end

# source://cucumber//lib/cucumber/deprecate.rb#20
class Cucumber::Deprecate::CliOption
  class << self
    # source://cucumber//lib/cucumber/deprecate.rb#21
    def deprecate(stream, option, message, remove_after_version); end
  end
end

# source://cucumber//lib/cucumber/deprecate.rb#43
module Cucumber::Deprecate::ForDevelopers
  class << self
    # source://cucumber//lib/cucumber/deprecate.rb#44
    def call(_message, _method, remove_after_version); end
  end
end

# source://cucumber//lib/cucumber/deprecate.rb#33
module Cucumber::Deprecate::ForUsers
  class << self
    # source://cucumber//lib/cucumber/deprecate.rb#34
    def call(message, method, remove_after_version); end
  end
end

# source://cucumber//lib/cucumber/deprecate.rb#49
Cucumber::Deprecate::STRATEGY = Cucumber::Deprecate::ForUsers

# Events tell you what's happening while Cucumber runs your features.
#
# They're designed to be read-only, appropriate for writing formatters and other
# output tools. If you need to be able to influence the result of a scenario, use a {RbSupport::RbDsl hook} instead.
#
# To subscribe to an event, use {Cucumber::Configuration#on_event}
#
# @example
#   InstallPlugin do |config|
#   config.on_event :test_case_finished do |event|
#   puts event.result
#   end
#   end
#
# source://cucumber//lib/cucumber/events/envelope.rb#4
module Cucumber::Events
  class << self
    # source://cucumber//lib/cucumber/events.rb#21
    def make_event_bus; end

    # source://cucumber//lib/cucumber/events.rb#25
    def registry; end
  end
end

# source://cucumber//lib/cucumber/events/envelope.rb#5
class Cucumber::Events::Envelope < ::Cucumber::Core::Event
  # Returns the value of attribute envelope.
  #
  # source://cucumber//lib/cucumber/events/envelope.rb#6
  def envelope; end
end

# Fired after we've parsed the contents of a feature file
#
# source://cucumber//lib/cucumber/events/gherkin_source_parsed.rb#6
class Cucumber::Events::GherkinSourceParsed < ::Cucumber::Core::Event
  # The Gherkin Ast
  #
  # source://cucumber//lib/cucumber/events/gherkin_source_parsed.rb#8
  def gherkin_document; end
end

# Fired after we've read in the contents of a feature file
#
# source://cucumber//lib/cucumber/events/gherkin_source_read.rb#6
class Cucumber::Events::GherkinSourceRead < ::Cucumber::Core::Event
  # The raw Gherkin source
  #
  # source://cucumber//lib/cucumber/events/gherkin_source_read.rb#11
  def body; end

  # The path to the file
  #
  # source://cucumber//lib/cucumber/events/gherkin_source_read.rb#8
  def path; end
end

# Event fired when a step is created from a hook
#
# source://cucumber//lib/cucumber/events/hook_test_step_created.rb#8
class Cucumber::Events::HookTestStepCreated < ::Cucumber::Core::Event
  # Returns the value of attribute hook.
  #
  # source://cucumber//lib/cucumber/events/hook_test_step_created.rb#9
  def hook; end

  # Returns the value of attribute test_step.
  #
  # source://cucumber//lib/cucumber/events/hook_test_step_created.rb#9
  def test_step; end
end

# Event fired when a step is activated
#
# source://cucumber//lib/cucumber/events/step_activated.rb#8
class Cucumber::Events::StepActivated < ::Cucumber::Core::Event
  # Information about the matching definition.
  #
  # @return [Cucumber::StepMatch]
  #
  # source://cucumber//lib/cucumber/events/step_activated.rb#17
  def step_match; end

  # The test step that was matched.
  #
  # @return [Cucumber::Core::Test::Step]
  #
  # source://cucumber//lib/cucumber/events/step_activated.rb#12
  def test_step; end
end

# Event fired after each step definition has been registered
#
# source://cucumber//lib/cucumber/events/step_definition_registered.rb#8
class Cucumber::Events::StepDefinitionRegistered < ::Cucumber::Core::Event
  # The step definition that was just registered.
  #
  # @return [RbSupport::RbStepDefinition]
  #
  # source://cucumber//lib/cucumber/events/step_definition_registered.rb#12
  def step_definition; end
end

# Event fired when a Test::Case is created from a Pickle
#
# source://cucumber//lib/cucumber/events/test_case_created.rb#8
class Cucumber::Events::TestCaseCreated < ::Cucumber::Core::Event
  # Returns the value of attribute pickle.
  #
  # source://cucumber//lib/cucumber/events/test_case_created.rb#9
  def pickle; end

  # Returns the value of attribute test_case.
  #
  # source://cucumber//lib/cucumber/events/test_case_created.rb#9
  def test_case; end
end

# Signals that a {Cucumber::Core::Test::Case} has finished executing
#
# source://cucumber//lib/cucumber/events/test_case_finished.rb#6
class Cucumber::Events::TestCaseFinished < ::Cucumber::Core::Events::TestCaseFinished
  # @return [Cucumber::Core::Test::Result] the result of running the {Cucumber::Core::Test::Case}
  #
  # source://cucumber//lib/cucumber/events/test_case_finished.rb#11
  def result; end

  # @return [Cucumber::Core::Test::Case] that was executed
  #
  # source://cucumber//lib/cucumber/events/test_case_finished.rb#8
  def test_case; end
end

# Event fired when a Test::Case is ready to be ran (matching has been done, hooks added etc)
#
# source://cucumber//lib/cucumber/events/test_case_ready.rb#8
class Cucumber::Events::TestCaseReady < ::Cucumber::Core::Event
  # Returns the value of attribute test_case.
  #
  # source://cucumber//lib/cucumber/events/test_case_ready.rb#9
  def test_case; end
end

# Signals that a {Cucumber::Core::Test::Case} is about to be executed
#
# source://cucumber//lib/cucumber/events/test_case_started.rb#6
class Cucumber::Events::TestCaseStarted < ::Cucumber::Core::Events::TestCaseStarted
  # @return [Cucumber::Core::Test::Case] the test case to be executed
  #
  # source://cucumber//lib/cucumber/events/test_case_started.rb#8
  def test_case; end
end

# Event fired after all test cases have finished executing
#
# source://cucumber//lib/cucumber/events/test_run_finished.rb#8
class Cucumber::Events::TestRunFinished < ::Cucumber::Core::Event
  # Returns the value of attribute success.
  #
  # source://cucumber//lib/cucumber/events/test_run_finished.rb#9
  def success; end
end

# Event fired once all test cases have been filtered before
# the first one is executed.
#
# source://cucumber//lib/cucumber/events/test_run_started.rb#9
class Cucumber::Events::TestRunStarted < ::Cucumber::Core::Event
  # @return [Array<Cucumber::Core::Test::Case>] the test cases to be executed
  #
  # source://cucumber//lib/cucumber/events/test_run_started.rb#11
  def test_cases; end
end

# Event fired when a TestStep is created from a PickleStep
#
# source://cucumber//lib/cucumber/events/test_step_created.rb#8
class Cucumber::Events::TestStepCreated < ::Cucumber::Core::Event
  # Returns the value of attribute pickle_step.
  #
  # source://cucumber//lib/cucumber/events/test_step_created.rb#9
  def pickle_step; end

  # Returns the value of attribute test_step.
  #
  # source://cucumber//lib/cucumber/events/test_step_created.rb#9
  def test_step; end
end

# Signals that a {Cucumber::Core::Test::Step} has finished executing
#
# source://cucumber//lib/cucumber/events/test_step_finished.rb#6
class Cucumber::Events::TestStepFinished < ::Cucumber::Core::Events::TestStepFinished
  # @return [Cucumber::Core::Test::Result] the result of running the {Cucumber::Core::Test::Step}
  #
  # source://cucumber//lib/cucumber/events/test_step_finished.rb#11
  def result; end

  # @return [Cucumber::Core::Test::Step] the test step that was executed
  #
  # source://cucumber//lib/cucumber/events/test_step_finished.rb#8
  def test_step; end
end

# Signals that a {Cucumber::Core::Test::Step} is about to be executed
#
# source://cucumber//lib/cucumber/events/test_step_started.rb#6
class Cucumber::Events::TestStepStarted < ::Cucumber::Core::Events::TestStepStarted
  # @return [Cucumber::Core::Test::Step] the test step to be executed
  #
  # source://cucumber//lib/cucumber/events/test_step_started.rb#8
  def test_step; end
end

# source://cucumber//lib/cucumber/events/undefined_parameter_type.rb#5
class Cucumber::Events::UndefinedParameterType < ::Cucumber::Core::Event
  # Returns the value of attribute expression.
  #
  # source://cucumber//lib/cucumber/events/undefined_parameter_type.rb#6
  def expression; end

  # Returns the value of attribute type_name.
  #
  # source://cucumber//lib/cucumber/events/undefined_parameter_type.rb#6
  def type_name; end
end

# source://cucumber//lib/cucumber/runtime.rb#37
class Cucumber::FeatureFolderNotFoundException < ::RuntimeError
  # @return [FeatureFolderNotFoundException] a new instance of FeatureFolderNotFoundException
  #
  # source://cucumber//lib/cucumber/runtime.rb#38
  def initialize(path); end

  # source://cucumber//lib/cucumber/runtime.rb#43
  def message; end
end

# source://cucumber//lib/cucumber/runtime.rb#25
class Cucumber::FileException < ::RuntimeError
  # @return [FileException] a new instance of FileException
  #
  # source://cucumber//lib/cucumber/runtime.rb#28
  def initialize(original_exception, path); end

  # Returns the value of attribute path.
  #
  # source://cucumber//lib/cucumber/runtime.rb#26
  def path; end
end

# source://cucumber//lib/cucumber/runtime.rb#34
class Cucumber::FileNotFoundException < ::Cucumber::FileException; end

# source://cucumber//lib/cucumber/file_specs.rb#7
class Cucumber::FileSpecs
  # @return [FileSpecs] a new instance of FileSpecs
  #
  # source://cucumber//lib/cucumber/file_specs.rb#10
  def initialize(file_specs); end

  # source://cucumber//lib/cucumber/file_specs.rb#20
  def files; end

  # source://cucumber//lib/cucumber/file_specs.rb#16
  def locations; end
end

# source://cucumber//lib/cucumber/file_specs.rb#8
Cucumber::FileSpecs::FILE_COLON_LINE_PATTERN = T.let(T.unsafe(nil), Regexp)

# source://cucumber//lib/cucumber/file_specs.rb#24
class Cucumber::FileSpecs::FileSpec
  # @return [FileSpec] a new instance of FileSpec
  #
  # source://cucumber//lib/cucumber/file_specs.rb#25
  def initialize(spec); end

  # Returns the value of attribute file.
  #
  # source://cucumber//lib/cucumber/file_specs.rb#31
  def file; end

  # source://cucumber//lib/cucumber/file_specs.rb#33
  def locations; end
end

# source://cucumber//lib/cucumber/filters/activate_steps.rb#9
module Cucumber::Filters; end

# source://cucumber//lib/cucumber/filters/activate_steps.rb#10
class Cucumber::Filters::ActivateSteps
  # source://cucumber//lib/cucumber/filters/activate_steps.rb#11
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/activate_steps.rb#15
class Cucumber::Filters::ActivateSteps::CaseFilter
  # @return [CaseFilter] a new instance of CaseFilter
  #
  # source://cucumber//lib/cucumber/filters/activate_steps.rb#16
  def initialize(test_case, step_match_search, configuration); end

  # source://cucumber//lib/cucumber/filters/activate_steps.rb#22
  def test_case; end

  private

  # source://cucumber//lib/cucumber/filters/activate_steps.rb#32
  def attempt_to_activate(test_step); end

  # source://cucumber//lib/cucumber/filters/activate_steps.rb#36
  def find_match(test_step); end

  # source://cucumber//lib/cucumber/filters/activate_steps.rb#28
  def new_test_steps; end
end

# source://cucumber//lib/cucumber/filters/activate_steps.rb#40
class Cucumber::Filters::ActivateSteps::CaseFilter::FindMatch
  # @return [FindMatch] a new instance of FindMatch
  #
  # source://cucumber//lib/cucumber/filters/activate_steps.rb#41
  def initialize(step_match_search, configuration, test_step); end

  # source://cucumber//lib/cucumber/filters/activate_steps.rb#47
  def result; end

  private

  # Returns the value of attribute configuration.
  #
  # source://cucumber//lib/cucumber/filters/activate_steps.rb#61
  def configuration; end

  # source://cucumber//lib/cucumber/filters/activate_steps.rb#64
  def match; end

  # source://cucumber//lib/cucumber/filters/activate_steps.rb#68
  def matches; end

  # Returns the value of attribute step_match_search.
  #
  # source://cucumber//lib/cucumber/filters/activate_steps.rb#61
  def step_match_search; end

  # Returns the value of attribute test_step.
  #
  # source://cucumber//lib/cucumber/filters/activate_steps.rb#61
  def test_step; end
end

# source://cucumber//lib/cucumber/filters/apply_after_hooks.rb#5
class Cucumber::Filters::ApplyAfterHooks
  # source://cucumber//lib/cucumber/filters/apply_after_hooks.rb#6
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/apply_after_step_hooks.rb#7
class Cucumber::Filters::ApplyAfterStepHooks
  # source://cucumber//lib/cucumber/filters/apply_after_step_hooks.rb#8
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/apply_around_hooks.rb#7
class Cucumber::Filters::ApplyAroundHooks
  # source://cucumber//lib/cucumber/filters/apply_around_hooks.rb#8
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/apply_before_hooks.rb#5
class Cucumber::Filters::ApplyBeforeHooks
  # source://cucumber//lib/cucumber/filters/apply_before_hooks.rb#6
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/broadcast_test_case_ready_event.rb#5
class Cucumber::Filters::BroadcastTestCaseReadyEvent
  # source://cucumber//lib/cucumber/filters/broadcast_test_case_ready_event.rb#6
  def test_case(test_case); end
end

# Added at the end of the filter chain to broadcast a list of
# all of the test cases that have made it through the filters.
#
# source://cucumber//lib/cucumber/filters/broadcast_test_run_started_event.rb#7
class Cucumber::Filters::BroadcastTestRunStartedEvent
  # @return [BroadcastTestRunStartedEvent] a new instance of BroadcastTestRunStartedEvent
  #
  # source://cucumber//lib/cucumber/filters/broadcast_test_run_started_event.rb#8
  def initialize(config, receiver = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/filters/broadcast_test_run_started_event.rb#18
  def done; end

  # source://cucumber//lib/cucumber/filters/broadcast_test_run_started_event.rb#13
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/gated_receiver.rb#5
class Cucumber::Filters::GatedReceiver
  # @return [GatedReceiver] a new instance of GatedReceiver
  #
  # source://cucumber//lib/cucumber/filters/gated_receiver.rb#6
  def initialize(receiver); end

  # source://cucumber//lib/cucumber/filters/gated_receiver.rb#16
  def done; end

  # source://cucumber//lib/cucumber/filters/gated_receiver.rb#11
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/prepare_world.rb#9
class Cucumber::Filters::PrepareWorld
  # source://cucumber//lib/cucumber/filters/prepare_world.rb#10
  def test_case(test_case); end
end

# source://cucumber//lib/cucumber/filters/prepare_world.rb#14
class Cucumber::Filters::PrepareWorld::CaseFilter
  # @return [CaseFilter] a new instance of CaseFilter
  #
  # source://cucumber//lib/cucumber/filters/prepare_world.rb#15
  def initialize(runtime, original_test_case); end

  # source://cucumber//lib/cucumber/filters/prepare_world.rb#20
  def test_case; end

  private

  # source://cucumber//lib/cucumber/filters/prepare_world.rb#33
  def scenario; end
end

# source://cucumber//lib/cucumber/filters/quit.rb#5
class Cucumber::Filters::Quit
  # @return [Quit] a new instance of Quit
  #
  # source://cucumber//lib/cucumber/filters/quit.rb#6
  def initialize(receiver = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/filters/quit.rb#15
  def done; end

  # source://cucumber//lib/cucumber/filters/quit.rb#10
  def test_case(test_case); end

  # source://cucumber//lib/cucumber/filters/quit.rb#20
  def with_receiver(receiver); end
end

# Batches up all test cases, randomizes them, and then sends them on
#
# source://cucumber//lib/cucumber/filters/randomizer.rb#8
class Cucumber::Filters::Randomizer
  # @return [Randomizer] a new instance of Randomizer
  #
  # source://cucumber//lib/cucumber/filters/randomizer.rb#9
  def initialize(seed, receiver = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/filters/randomizer.rb#20
  def done; end

  # source://cucumber//lib/cucumber/filters/randomizer.rb#15
  def test_case(test_case); end

  # source://cucumber//lib/cucumber/filters/randomizer.rb#28
  def with_receiver(receiver); end

  private

  # Returns the value of attribute seed.
  #
  # source://cucumber//lib/cucumber/filters/randomizer.rb#41
  def seed; end

  # source://cucumber//lib/cucumber/filters/randomizer.rb#34
  def shuffled_test_cases; end
end

# source://cucumber//lib/cucumber/filters/retry.rb#9
class Cucumber::Filters::Retry
  # source://cucumber//lib/cucumber/filters/retry.rb#10
  def test_case(test_case); end

  private

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/filters/retry.rb#23
  def retry_required?(test_case, event); end

  # source://cucumber//lib/cucumber/filters/retry.rb#27
  def test_case_counts; end
end

# source://cucumber//lib/cucumber/filters/tag_limits.rb#9
class Cucumber::Filters::TagLimitExceededError < ::StandardError
  # @return [TagLimitExceededError] a new instance of TagLimitExceededError
  #
  # source://cucumber//lib/cucumber/filters/tag_limits.rb#10
  def initialize(*limit_breaches); end
end

# source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#5
class Cucumber::Filters::TagLimits
  # @return [TagLimits] a new instance of TagLimits
  #
  # source://cucumber//lib/cucumber/filters/tag_limits.rb#16
  def initialize(tag_limits, receiver = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/filters/tag_limits.rb#29
  def done; end

  # source://cucumber//lib/cucumber/filters/tag_limits.rb#23
  def test_case(test_case); end

  # source://cucumber//lib/cucumber/filters/tag_limits.rb#35
  def with_receiver(receiver); end

  private

  # Returns the value of attribute gated_receiver.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits.rb#41
  def gated_receiver; end

  # Returns the value of attribute test_case_index.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits.rb#41
  def test_case_index; end

  # Returns the value of attribute verifier.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits.rb#41
  def verifier; end
end

# source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#6
class Cucumber::Filters::TagLimits::TestCaseIndex
  # @return [TestCaseIndex] a new instance of TestCaseIndex
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#7
  def initialize; end

  # source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#11
  def add(test_case); end

  # source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#17
  def count_by_tag_name(tag_name); end

  # source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#21
  def locations_of_tag_name(tag_name); end

  private

  # Returns the value of attribute index.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#27
  def index; end

  # Sets the attribute index
  #
  # @param value the value to set the attribute index to.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/test_case_index.rb#27
  def index=(_arg0); end
end

# source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#6
class Cucumber::Filters::TagLimits::Verifier
  # @return [Verifier] a new instance of Verifier
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#7
  def initialize(tag_limits); end

  # @raise [TagLimitExceededError]
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#11
  def verify!(test_case_index); end

  private

  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#18
  def collect_breaches(test_case_index); end

  # Returns the value of attribute tag_limits.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#26
  def tag_limits; end
end

# source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#28
class Cucumber::Filters::TagLimits::Verifier::Breach
  # @return [Breach] a new instance of Breach
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#31
  def initialize(tag_name, limit, locations); end

  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#37
  def to_s; end

  private

  # Returns the value of attribute limit.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#50
  def limit; end

  # Returns the value of attribute locations.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#50
  def locations; end

  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#46
  def tag_count; end

  # Returns the value of attribute tag_name.
  #
  # source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#50
  def tag_name; end
end

# source://cucumber//lib/cucumber/filters/tag_limits/verifier.rb#29
Cucumber::Filters::TagLimits::Verifier::Breach::INDENT = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/runtime.rb#19
module Cucumber::FixRuby21Bug9285
  # source://cucumber//lib/cucumber/runtime.rb#20
  def message; end
end

# source://cucumber//lib/cucumber/formatter/duration.rb#4
module Cucumber::Formatter; end

# This module allows to format cucumber related outputs using ANSI escape sequences.
#
# For example, it provides a `passed` method which returns the string with
# the ANSI escape sequence to format it green per default.
#
# To use this, include or extend it in your class.
#
# Example:
#
#   require 'cucumber/formatter/ansicolor'
#
#   class MyFormatter
#     extend Cucumber::Term::ANSIColor
#
#     def on_test_step_finished(event)
#       $stdout.puts undefined(event.test_step) if event.result.undefined?
#       $stdout.puts passed(event.test_step) if event.result.passed?
#     end
#   end
#
# This module also allows the user to customize the format of cucumber outputs
# using environment variables.
#
# For instance, if your shell has a black background and a green font (like the
# "Homebrew" settings for OS X' Terminal.app), you may want to override passed
# steps to be white instead of green.
#
# Example:
#
#   export CUCUMBER_COLORS="passed=white,bold:passed_param=white,bold,underline"
#
# The colours that you can change are:
#
# * <tt>undefined</tt>     - defaults to <tt>yellow</tt>
# * <tt>pending</tt>       - defaults to <tt>yellow</tt>
# * <tt>pending_param</tt> - defaults to <tt>yellow,bold</tt>
# * <tt>flaky</tt>         - defaults to <tt>yellow</tt>
# * <tt>flaky_param</tt>   - defaults to <tt>yellow,bold</tt>
# * <tt>failed</tt>        - defaults to <tt>red</tt>
# * <tt>failed_param</tt>  - defaults to <tt>red,bold</tt>
# * <tt>passed</tt>        - defaults to <tt>green</tt>
# * <tt>passed_param</tt>  - defaults to <tt>green,bold</tt>
# * <tt>outline</tt>       - defaults to <tt>cyan</tt>
# * <tt>outline_param</tt> - defaults to <tt>cyan,bold</tt>
# * <tt>skipped</tt>       - defaults to <tt>cyan</tt>
# * <tt>skipped_param</tt> - defaults to <tt>cyan,bold</tt>
# * <tt>comment</tt>       - defaults to <tt>grey</tt>
# * <tt>tag</tt>           - defaults to <tt>cyan</tt>
#
# To see what colours and effects are available, just run this in your shell:
#
#   ruby -e "require 'rubygems'; require 'cucumber/term/ansicolor'; puts Cucumber::Term::ANSIColor.attributes"
#
# source://cucumber//lib/cucumber/formatter/ansicolor.rb#63
module Cucumber::Formatter::ANSIColor
  include ::Cucumber::Term::ANSIColor

  # Apply the custom color scheme
  #
  # example:
  #
  #   apply_custom_colors('passed=white')
  #
  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#89
  def apply_custom_colors(colors); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def comment(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def comment_param(text = T.unsafe(nil), &proc); end

  # :stopdoc:
  #
  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#121
  def cukes(n); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def failed(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def failed_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def flaky(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def flaky_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#125
  def green_cukes(n); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def outline(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def outline_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def passed(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def passed_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def pending(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def pending_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#129
  def red_cukes(n); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def skipped(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def skipped_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def tag(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def tag_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#111
  def undefined(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#115
  def undefined_param(text = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#133
  def yellow_cukes(n); end

  private

  # source://cucumber//lib/cucumber/formatter/ansicolor.rb#140
  def apply_styles(styles, text = T.unsafe(nil), &proc); end
end

# :stopdoc:
#
# source://cucumber//lib/cucumber/formatter/ansicolor.rb#67
Cucumber::Formatter::ANSIColor::ALIASES = T.let(T.unsafe(nil), Hash)

# This module contains helper methods that are used by formatters that
# print output to the terminal.
#
# FORMAT is a hash of Proc objects, keyed by step-definition types, e.g.
# "FORMAT[:passed]".  The Proc is called for each line of the step's
# output.
#
# format_step calls format_string, format_string calls format_for to obtain
# the formatting Proc.
#
# Example:
#
# The ANSI color console formatter defines a map of step-type to output
# color (e.g. "passed" to "green"), then builds methods named for the
# step-types (e.g. "def passed"), which themselves wrap the corresponding
# color-named methods provided by Term::ANSIColor (e.g. "def red").
#
# During output, each line is processed by passing it to the formatter Proc
# which returns the formatted (e.g. colored) string.
#
# source://cucumber//lib/cucumber/formatter/console.rb#31
module Cucumber::Formatter::Console
  include ::Cucumber::Formatter::Duration
  extend ::Cucumber::Term::ANSIColor
  extend ::Cucumber::Formatter::ANSIColor

  # source://cucumber//lib/cucumber/formatter/console.rb#174
  def attach(src, media_type); end

  # source://cucumber//lib/cucumber/formatter/console.rb#118
  def collect_snippet_data(test_step, ast_lookup); end

  # source://cucumber//lib/cucumber/formatter/console.rb#124
  def collect_undefined_parameter_type_names(undefined_parameter_type); end

  # source://cucumber//lib/cucumber/formatter/console.rb#165
  def do_print_passing_wip(passed_messages); end

  # source://cucumber//lib/cucumber/formatter/console.rb#189
  def do_print_profile_information(profiles); end

  # source://cucumber//lib/cucumber/formatter/console.rb#141
  def do_print_snippets(snippet_text_proc); end

  # source://cucumber//lib/cucumber/formatter/console.rb#199
  def do_print_undefined_parameter_type_snippet(type_name); end

  # source://cucumber//lib/cucumber/formatter/console.rb#102
  def exception_message_string(e, indent_amount); end

  # source://cucumber//lib/cucumber/formatter/console.rb#35
  def format_step(keyword, step_match, status, source_indent); end

  # source://cucumber//lib/cucumber/formatter/console.rb#48
  def format_string(o, status); end

  # source://cucumber//lib/cucumber/formatter/console.rb#217
  def indent(string, padding); end

  # http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/10655
  #
  # source://cucumber//lib/cucumber/formatter/console.rb#110
  def linebreaks(msg, max); end

  # source://cucumber//lib/cucumber/formatter/console.rb#66
  def print_element_messages(element_messages, status, kind); end

  # source://cucumber//lib/cucumber/formatter/console.rb#59
  def print_elements(elements, status, kind); end

  # source://cucumber//lib/cucumber/formatter/console.rb#97
  def print_exception(e, status, indent); end

  # source://cucumber//lib/cucumber/formatter/console.rb#154
  def print_passing_wip(config, passed_test_cases, ast_lookup); end

  # source://cucumber//lib/cucumber/formatter/console.rb#183
  def print_profile_information; end

  # source://cucumber//lib/cucumber/formatter/console.rb#128
  def print_snippets(options); end

  # source://cucumber//lib/cucumber/formatter/console.rb#80
  def print_statistics(duration, config, counts, issues); end

  private

  # source://cucumber//lib/cucumber/formatter/console.rb#237
  def element_messages(elements, status); end

  # source://cucumber//lib/cucumber/formatter/console.rb#229
  def format_for(*keys); end

  # source://cucumber//lib/cucumber/formatter/console.rb#247
  def snippet_text(step_keyword, step_name, multiline_arg); end
end

# source://cucumber//lib/cucumber/formatter/console.rb#227
Cucumber::Formatter::Console::FORMATS = T.let(T.unsafe(nil), Hash)

# source://cucumber//lib/cucumber/formatter/console.rb#254
class Cucumber::Formatter::Console::SnippetData
  # @return [SnippetData] a new instance of SnippetData
  #
  # source://cucumber//lib/cucumber/formatter/console.rb#257
  def initialize(actual_keyword, step); end

  # Returns the value of attribute actual_keyword.
  #
  # source://cucumber//lib/cucumber/formatter/console.rb#255
  def actual_keyword; end

  # Returns the value of attribute step.
  #
  # source://cucumber//lib/cucumber/formatter/console.rb#255
  def step; end
end

# source://cucumber//lib/cucumber/formatter/http_io.rb#20
class Cucumber::Formatter::CurlOptionParser
  class << self
    # @raise [StandardError]
    #
    # source://cucumber//lib/cucumber/formatter/http_io.rb#21
    def parse(options); end

    # @raise [StandardError]
    #
    # source://cucumber//lib/cucumber/formatter/http_io.rb#57
    def parse_header(header_arg); end

    # @raise [StandardError]
    #
    # source://cucumber//lib/cucumber/formatter/http_io.rb#51
    def remove_arg_for(args, arg); end
  end
end

# source://cucumber//lib/cucumber/formatter/duration.rb#5
module Cucumber::Formatter::Duration
  # Helper method for formatters that need to
  # format a duration in seconds to the UNIX
  # <tt>time</tt> format.
  #
  # source://cucumber//lib/cucumber/formatter/duration.rb#9
  def format_duration(seconds); end
end

# source://cucumber//lib/cucumber/formatter/fail_fast.rb#8
class Cucumber::Formatter::FailFast
  # @return [FailFast] a new instance of FailFast
  #
  # source://cucumber//lib/cucumber/formatter/fail_fast.rb#9
  def initialize(configuration); end
end

# Forwards any messages sent to this object to all recipients
# that respond to that message.
#
# source://cucumber//lib/cucumber/formatter/fanout.rb#7
class Cucumber::Formatter::Fanout < ::BasicObject
  # @return [Fanout] a new instance of Fanout
  #
  # source://cucumber//lib/cucumber/formatter/fanout.rb#11
  def initialize(recipients); end

  # source://cucumber//lib/cucumber/formatter/fanout.rb#15
  def method_missing(message, *args); end

  private

  # Returns the value of attribute recipients.
  #
  # source://cucumber//lib/cucumber/formatter/fanout.rb#8
  def recipients; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/formatter/fanout.rb#23
  def respond_to_missing?(name, include_private = T.unsafe(nil)); end
end

# source://cucumber//lib/cucumber/formatter/http_io.rb#7
class Cucumber::Formatter::HTTPIO
  class << self
    # Returns an IO that will write to a HTTP request's body
    # https_verify_mode can be set to OpenSSL::SSL::VERIFY_NONE
    # to ignore unsigned certificate - setting to nil will verify the certificate
    #
    # source://cucumber//lib/cucumber/formatter/http_io.rb#12
    def open(url, https_verify_mode = T.unsafe(nil), reporter = T.unsafe(nil)); end
  end
end

# source://cucumber//lib/cucumber/formatter/http_io.rb#65
class Cucumber::Formatter::IOHTTPBuffer
  # @return [IOHTTPBuffer] a new instance of IOHTTPBuffer
  #
  # source://cucumber//lib/cucumber/formatter/http_io.rb#68
  def initialize(uri, method, headers = T.unsafe(nil), https_verify_mode = T.unsafe(nil), reporter = T.unsafe(nil)); end

  # @raise [StandardError]
  #
  # source://cucumber//lib/cucumber/formatter/http_io.rb#77
  def close; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/formatter/http_io.rb#94
  def closed?; end

  # source://cucumber//lib/cucumber/formatter/http_io.rb#90
  def flush; end

  # Returns the value of attribute headers.
  #
  # source://cucumber//lib/cucumber/formatter/http_io.rb#66
  def headers; end

  # Returns the value of attribute method.
  #
  # source://cucumber//lib/cucumber/formatter/http_io.rb#66
  def method; end

  # Returns the value of attribute uri.
  #
  # source://cucumber//lib/cucumber/formatter/http_io.rb#66
  def uri; end

  # source://cucumber//lib/cucumber/formatter/http_io.rb#86
  def write(data); end

  private

  # source://cucumber//lib/cucumber/formatter/http_io.rb#142
  def build_client(uri, https_verify_mode); end

  # source://cucumber//lib/cucumber/formatter/http_io.rb#133
  def build_request(uri, method, headers); end

  # @raise [StandardError]
  #
  # source://cucumber//lib/cucumber/formatter/http_io.rb#100
  def send_content(uri, method, headers, attempt = T.unsafe(nil)); end
end

# source://cucumber//lib/cucumber/formatter/ignore_missing_messages.rb#5
class Cucumber::Formatter::IgnoreMissingMessages < ::BasicObject
  # @return [IgnoreMissingMessages] a new instance of IgnoreMissingMessages
  #
  # source://cucumber//lib/cucumber/formatter/ignore_missing_messages.rb#6
  def initialize(receiver); end

  # source://cucumber//lib/cucumber/formatter/ignore_missing_messages.rb#10
  def method_missing(message, *args); end

  private

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/formatter/ignore_missing_messages.rb#14
  def respond_to_missing?(name, include_private = T.unsafe(nil)); end
end

# source://cucumber//lib/cucumber/formatter/io.rb#9
module Cucumber::Formatter::Io
  mixes_in_class_methods ::Cucumber::Formatter::Io::ClassMethods

  private

  # source://cucumber//lib/cucumber/formatter/io.rb#71
  def ensure_dir(path, name); end

  # source://cucumber//lib/cucumber/formatter/io.rb#63
  def ensure_file(path, name); end

  # source://cucumber//lib/cucumber/formatter/io.rb#12
  def ensure_io(path_or_url_or_io, error_stream); end

  # source://cucumber//lib/cucumber/formatter/io.rb#55
  def io?(path_or_url_or_io); end

  # source://cucumber//lib/cucumber/formatter/io.rb#59
  def url?(path_or_url_or_io); end

  class << self
    # source://cucumber//lib/cucumber/formatter/io.rb#71
    def ensure_dir(path, name); end

    # source://cucumber//lib/cucumber/formatter/io.rb#63
    def ensure_file(path, name); end

    # source://cucumber//lib/cucumber/formatter/io.rb#12
    def ensure_io(path_or_url_or_io, error_stream); end

    # @private
    #
    # source://cucumber//lib/cucumber/formatter/io.rb#51
    def included(formatter_class); end

    # @return [Boolean]
    #
    # source://cucumber//lib/cucumber/formatter/io.rb#55
    def io?(path_or_url_or_io); end

    # @return [Boolean]
    #
    # source://cucumber//lib/cucumber/formatter/io.rb#59
    def url?(path_or_url_or_io); end
  end
end

# source://cucumber//lib/cucumber/formatter/io.rb#28
module Cucumber::Formatter::Io::ClassMethods
  # source://cucumber//lib/cucumber/formatter/io.rb#29
  def new(*args, &block); end
end

# source://cucumber//lib/cucumber/formatter/url_reporter.rb#13
class Cucumber::Formatter::NoReporter
  # source://cucumber//lib/cucumber/formatter/url_reporter.rb#14
  def report(banner); end
end

# source://cucumber//lib/cucumber/formatter/publish_banner_printer.rb#7
class Cucumber::Formatter::PublishBannerPrinter
  include ::Cucumber::Term::Banner

  # @return [PublishBannerPrinter] a new instance of PublishBannerPrinter
  #
  # source://cucumber//lib/cucumber/formatter/publish_banner_printer.rb#10
  def initialize(configuration); end

  # source://cucumber//lib/cucumber/formatter/publish_banner_printer.rb#19
  def display_publish_ad(io); end

  # source://cucumber//lib/cucumber/formatter/publish_banner_printer.rb#64
  def highlight(text); end

  # source://cucumber//lib/cucumber/formatter/publish_banner_printer.rb#68
  def link(text); end

  # source://cucumber//lib/cucumber/formatter/publish_banner_printer.rb#72
  def pre(text); end
end

# source://cucumber//lib/cucumber/formatter/url_reporter.rb#3
class Cucumber::Formatter::URLReporter
  # @return [URLReporter] a new instance of URLReporter
  #
  # source://cucumber//lib/cucumber/formatter/url_reporter.rb#4
  def initialize(io); end

  # source://cucumber//lib/cucumber/formatter/url_reporter.rb#8
  def report(banner); end
end

# source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#4
module Cucumber::Gherkin; end

# source://cucumber//lib/cucumber/gherkin/data_table_parser.rb#8
class Cucumber::Gherkin::DataTableParser
  # @return [DataTableParser] a new instance of DataTableParser
  #
  # source://cucumber//lib/cucumber/gherkin/data_table_parser.rb#9
  def initialize(builder); end

  # source://cucumber//lib/cucumber/gherkin/data_table_parser.rb#36
  def feature_header; end

  # source://cucumber//lib/cucumber/gherkin/data_table_parser.rb#28
  def gherkin_options; end

  # source://cucumber//lib/cucumber/gherkin/data_table_parser.rb#13
  def parse(text); end
end

# source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#5
module Cucumber::Gherkin::Formatter; end

# Defines aliases for ANSI coloured output. Default colours can be overridden by defining
# a <tt>GHERKIN_COLORS</tt> variable in your shell, very much like how you can
# tweak the familiar POSIX command <tt>ls</tt> with
# $LSCOLORS: http://linux-sxs.org/housekeeping/lscolors.html
#
# The colours that you can change are:
#
# <tt>undefined</tt>::     defaults to <tt>yellow</tt>
# <tt>pending</tt>::       defaults to <tt>yellow</tt>
# <tt>pending_arg</tt>::   defaults to <tt>yellow,bold</tt>
# <tt>executing</tt>::     defaults to <tt>grey</tt>
# <tt>executing_arg</tt>:: defaults to <tt>grey,bold</tt>
# <tt>failed</tt>::        defaults to <tt>red</tt>
# <tt>failed_arg</tt>::    defaults to <tt>red,bold</tt>
# <tt>passed</tt>::        defaults to <tt>green</tt>
# <tt>passed_arg</tt>::    defaults to <tt>green,bold</tt>
# <tt>outline</tt>::       defaults to <tt>cyan</tt>
# <tt>outline_arg</tt>::   defaults to <tt>cyan,bold</tt>
# <tt>skipped</tt>::       defaults to <tt>cyan</tt>
# <tt>skipped_arg</tt>::   defaults to <tt>cyan,bold</tt>
# <tt>comment</tt>::       defaults to <tt>grey</tt>
# <tt>tag</tt>::           defaults to <tt>cyan</tt>
#
# For instance, if your shell has a black background and a green font (like the
# "Homebrew" settings for OS X' Terminal.app), you may want to override passed
# steps to be white instead of green. Examples:
#
#   export GHERKIN_COLORS="passed=white"
#   export GHERKIN_COLORS="passed=white,bold:passed_arg=white,bold,underline"
#
# (If you're on Windows, use SET instead of export).
# To see what colours and effects are available, just run this in your shell:
#
#   ruby -e "require 'rubygems'; require 'term/ansicolor'; puts Term::ANSIColor.attributes"
#
# Although not listed, you can also use <tt>grey</tt>
#
# source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#42
module Cucumber::Gherkin::Formatter::AnsiEscapes
  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def comments; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def comments_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def executing; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def executing_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def failed; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def failed_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def outline; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def outline_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def passed; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def passed_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def pending; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def pending_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#87
  def reset; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def skipped; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def skipped_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def tag; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def tag_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#78
  def undefined; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#82
  def undefined_arg; end

  # source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#91
  def up(n); end
end

# source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#56
Cucumber::Gherkin::Formatter::AnsiEscapes::ALIASES = T.let(T.unsafe(nil), Hash)

# source://cucumber//lib/cucumber/gherkin/formatter/ansi_escapes.rb#43
Cucumber::Gherkin::Formatter::AnsiEscapes::COLORS = T.let(T.unsafe(nil), Hash)

# source://cucumber//lib/cucumber/gherkin/formatter/escaping.rb#6
module Cucumber::Gherkin::Formatter::Escaping
  # Escapes a pipes and backslashes:
  #
  # * | becomes \|
  # * \ becomes \\
  #
  # This is used in the pretty formatter.
  #
  # source://cucumber//lib/cucumber/gherkin/formatter/escaping.rb#13
  def escape_cell(sym); end
end

# source://cucumber//lib/cucumber/gherkin/i18n.rb#5
module Cucumber::Gherkin::I18n
  class << self
    # source://cucumber//lib/cucumber/gherkin/i18n.rb#7
    def code_keyword_for(gherkin_keyword); end

    # source://cucumber//lib/cucumber/gherkin/i18n.rb#11
    def code_keywords_for(gherkin_keywords); end
  end
end

# source://cucumber//lib/cucumber/gherkin/steps_parser.rb#8
class Cucumber::Gherkin::StepsParser
  # @return [StepsParser] a new instance of StepsParser
  #
  # source://cucumber//lib/cucumber/gherkin/steps_parser.rb#9
  def initialize(builder, language); end

  # source://cucumber//lib/cucumber/gherkin/steps_parser.rb#35
  def feature_header(dialect); end

  # source://cucumber//lib/cucumber/gherkin/steps_parser.rb#26
  def gherkin_options; end

  # source://cucumber//lib/cucumber/gherkin/steps_parser.rb#14
  def parse(text); end
end

# source://cucumber//lib/cucumber/glue/registry_wrapper.rb#4
module Cucumber::Glue
  class << self
    # source://cucumber//lib/cucumber/glue/registry_and_more.rb#227
    def backtrace_line(proc, name); end
  end
end

# Raised if the number of a StepDefinition's Regexp match groups
# is different from the number of Proc arguments.
#
# source://cucumber//lib/cucumber/glue/invoke_in_world.rb#62
class Cucumber::Glue::ArityMismatchError < ::StandardError; end

# This module provides the methods the DSL you can use to define
# steps, hooks, transforms etc.
#
# source://cucumber//lib/cucumber/glue/dsl.rb#10
module Cucumber::Glue::Dsl
  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def A(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def AN(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Aber(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ac(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ach(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Adott(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # Registers a proc that will run after each Scenario. You can register as many
  # as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#71
  def After(*tag_expressions, name: T.unsafe(nil), &proc); end

  # Registers a proc that will run after the execution of the scenarios.
  # Use it for your final clean-ups
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#123
  def AfterAll(name: T.unsafe(nil), &proc); end

  # Registers a proc that will run after each Step. You can register as
  # as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#86
  def AfterStep(*tag_expressions, name: T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Agus(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ak(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Akkor(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Alavez(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ale(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Aleshores(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ali(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Allgitout(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Allora(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Alors(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Als(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ama(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Amennyiben(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Amikor(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Amma(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ampak(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def An(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ananging(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ancaq(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def And(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Angenommen(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Anrhegediga(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ansin(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Antonces(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Apabila(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # Registers a proc that will be wrapped around each scenario. The proc
  # should accept two arguments: two arguments: the scenario and a "block"
  # argument (but passed as a regular argument, since blocks cannot accept
  # blocks in 1.8), on which it should call the .call method. You can register
  # as many  as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#80
  def Around(*tag_expressions, name: T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ataktiež(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ataké(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Atesa(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Atiež(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Atunci(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Atès(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Avast(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Aye(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Azároveň(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def BUT(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Bagi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Banjur(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # Registers a proc that will run before each Scenario. You can register as many
  # as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#65
  def Before(*tag_expressions, name: T.unsafe(nil), &proc); end

  # Registers a proc that will run before the execution of the scenarios.
  # Use it for your final set-ups
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#117
  def BeforeAll(name: T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Bet(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Bila(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Biết(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Blimey(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Buh(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def But(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ButattheendofthedayIreckon(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cal(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cand(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cando(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ce(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cho(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Comehellorhighwater(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cuan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cuando(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cuirigcásgo(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cuirigcásgur(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cuirigcásnach(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Cuirigcásnár(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Când(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def DEN(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def DaHghubejlu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dada(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dadas(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dadena(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dadeno(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dado(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dados(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Daes(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dann(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dano(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Daos(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dar(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Data(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Date(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Datefiind(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Datfiind(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dati(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Datifiind(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dato(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Datăfiind(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dau(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Daus(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Daţifiind(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dațifiind(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def De(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dengan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Denyousegotta(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Diasumsikan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Diberi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Diketahui(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Diyelimki(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Do(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Donada(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Donat(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Donc(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Donitaĵo(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dun(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Duota(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Dáu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def E(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Eeldades(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ef(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def En(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Entao(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Entonces(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Então(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Entón(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Entós(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Epi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Et(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etantdonné(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etantdonnée(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etantdonnées(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etantdonnéqu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etantdonnéque(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etantdonnés(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etqu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Etque(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Eğerki(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Fakat(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Fixinto(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Gangway(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Gdy(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Gegebensei(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Gegebenseien(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Gegeven(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Gegewe(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Gitt(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Given(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Givet(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Givun(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ha(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Həm(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def I(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ICANHAZ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def In(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # Registers a proc that will run after Cucumber is configured in order to install an external plugin.
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#111
  def InstallPlugin(name: T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ir(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Itsjustunbelievable(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ja(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Jeśli(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Jeżeli(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Jika(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kad(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kada(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kadar(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kai(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kaj(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Když(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kemudian(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ketika(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Keď(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Khi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kiedy(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ko(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Koga(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Komence(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kui(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kuid(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Kun(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Lan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Le(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Lesaa(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Letgoandhaul(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Logo(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Lorsqu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Lorsque(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Lè(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Lèsaa(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ma(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Maar(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Mais(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Maisqu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Maisque(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Majd(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Mając(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Maka(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Manawa(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Mas(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Men(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Menawa(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Mutta(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nalika(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nalikaning(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nanging(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nato(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nhưng(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Niin(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Njuk(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def No(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nuaira(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nuairba(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nuairnach(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nuairnár(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def När(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Når(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Nəvaxtki(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Och(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Og(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ohalda(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Oletetaan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ond(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Onda(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Oraz(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ozaman(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Pak(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#90
  def ParameterType(options); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Pero(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Peru(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Però(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Podano(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Pokiaľ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Pokud(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Potem(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Potom(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Privzeto(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Pryd(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Quan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Quand(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Quando(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Quickoutofthechute(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Sachant(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Sachantqu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Sachantque(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Se(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Sed(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Si(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Siis(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Sipoze(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def SipozeKe(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Sipozeke(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Soit(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Stel(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Så(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tad(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tada(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tak(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Takrat(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tapi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ter(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tetapi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tha(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Thathe(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Then(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def There’snotreebutbearssomefruit(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Thurh(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Thì(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Toda(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Togash(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tooright(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Tutaqki(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ukoliko(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Un(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Und(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ve(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Vendar(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Verilir(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Và(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Və(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def WEN(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Wanneer(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def WellnowholdonIllyouwhat(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Wenn(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def When(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # Registers any number of +world_modules+ (Ruby Modules) and/or a Proc.
  # The +proc+ will be executed once before each scenario to create an
  # Object that the scenario's steps will run within. Any +world_modules+
  # will be mixed into this Object (via Object#extend).
  #
  # By default the +world modules+ are added to a global namespace. It is
  # possible to create a namespaced World by using an hash, where the
  # symbols are the namespaces.
  #
  # This method is typically called from one or more Ruby scripts under
  # <tt>features/support</tt>. You can call this method as many times as you
  # like (to register more modules), but if you try to register more than
  # one Proc you will get an error.
  #
  # Cucumber will not yield anything to the +proc+. Examples:
  #
  #    World do
  #      MyClass.new
  #    end
  #
  #    World(MyModule)
  #
  #    World(my_module: MyModule)
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#59
  def World(*world_modules, **namespaced_world_modules, &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Wtedy(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Wun(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Y(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ya(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Yeahnah(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Yknow(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Yna(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Youseknowlikewhen(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Youseknowwhenyousegot(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zadan(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zadani(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zadano(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zadate(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zadati(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zadato(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zakładając(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zakładającże(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zapredpokladu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zapředpokladu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zaradi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Zatim(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def a(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ach(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def an(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def awer(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def dann(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ej(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ghunoblu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#106
  def if_nil(value, default); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def latlh(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def mä(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def qaSDI(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # Registers a new Ruby StepDefinition. This method is aliased
  # to <tt>Given</tt>, <tt>When</tt> and <tt>Then</tt>, and
  # also to the i18n translations whenever a feature of a
  # new language is loaded.
  #
  # If provided, the +symbol+ is sent to the <tt>World</tt> object
  # as defined by #World. A new <tt>World</tt> object is created
  # for each scenario and is shared across step definitions within
  # that scenario. If the +options+ hash contains an <tt>:on</tt>
  # key, the value for this is assumed to be a proc. This proc
  # will be executed in the context of the <tt>World</tt> object
  # and then sent the +symbol+.
  #
  # If no +symbol+ if provided then the +&proc+ gets executed in
  # the context of the <tt>World</tt> object.
  #
  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def register_rb_step_definition(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ugeholl(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def vaj(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def wann(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def És(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Étantdonné(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Étantdonnée(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Étantdonnées(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Étantdonnéqu(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Étantdonnéque(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Étantdonnés(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ða(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ðaðe(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ðurh(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Þa(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Þaþe(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Þegar(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Þurh(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Þá(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Če(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Şi(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Əgər(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Și(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Όταν(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Αλλά(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Δεδομένου(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Και(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Τότε(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def І(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def А(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Агар(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Але(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Али(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Аммо(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Анх(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Атакож(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Бирок(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ва(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Вә(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Гэхдээ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Дадена(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Дадено(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Дано(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Допустим(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Если(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Задате(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Задати(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Задато(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Затем(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def И(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Иначе(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Кад(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Када(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Кога(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Когато(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Когда(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Коли(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ктомуже(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Лекин(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ләкин(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Мөн(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Нехай(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Но(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Нәтиҗәдә(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Онда(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Припустимо(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Припустимощо(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Пусть(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Та(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Также(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def То(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Тогаш(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Тогда(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Тоді(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Тэгэхэд(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Тэгээд(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Унда(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Харин(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Хэрэв(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Якщо(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Үүнийдараа(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Һәм(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Әгәр(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Әйтик(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Әмма(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Өгөгдсөннь(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Ապա(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Բայց(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Դիցուք(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Եթե(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Եվ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def Երբ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def אבל(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def אז(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def אזי(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def בהינתן(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def וגם(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def כאשר(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def آنگاه(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def اذاً(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def اما(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def اور(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def اگر(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def بافرض(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def بالفرض(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def بفرض(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def تب(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ثم(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def جب(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def عندما(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def فرضکیا(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def لكن(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def لیکن(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def متى(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def هنگامی(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def و(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def پھر(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def अगर(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def अनी(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def आणि(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def और(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def कदा(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def किन्तु(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def चूंकि(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def जब(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def जर(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def जेव्हा(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def तथा(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def तदा(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def तब(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def तर(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def तसेच(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def तेव्हा(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def त्यसपछि(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def दिइएको(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def दिएको(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def दिलेल्याप्रमाणे(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def पण(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def पर(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def परंतु(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def परन्तु(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def मग(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def यदि(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def र(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ਅਤੇ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ਜਦੋਂ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ਜਿਵੇਂਕਿ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ਜੇਕਰ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ਤਦ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ਪਰ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def અને(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def આપેલછે(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ક્યારે(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def પછી(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def પણ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def அப்பொழுது(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ஆனால்(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def எப்போது(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def கொடுக்கப்பட்ட(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def மற்றும்(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def மேலும்(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def అప్పుడు(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ఈపరిస్థితిలో(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def కాని(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def చెప్పబడినది(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def మరియు(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ಆದರೆ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ನಂತರ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ನೀಡಿದ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ಮತ್ತು(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ಸ್ಥಿತಿಯನ್ನು(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def กำหนดให้(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ดังนั้น(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def เมื่อ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def แต่(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def และ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def და(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def მაგ­რამ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def მაშინ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def მოცემული(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def როდესაც(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def かつ(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def しかし(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ただし(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def ならば(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def もし(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 並且(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 但し(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 但是(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 假如(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 假定(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 假設(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 假设(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 前提(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 同时(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 同時(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 并且(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 当(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 當(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 而且(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 那么(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 那麼(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 그러면(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 그리고(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 단(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 만약(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 만일(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 먼저(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 조건(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 하지만(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 🎬(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 😂(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 😐(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 😔(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/glue/dsl.rb#142
  def 🙏(regexp, symbol = T.unsafe(nil), options = T.unsafe(nil), &proc); end

  class << self
    # source://cucumber//lib/cucumber/glue/dsl.rb#14
    def alias_adverb(adverb); end

    # source://cucumber//lib/cucumber/glue/dsl.rb#18
    def build_rb_world_factory(world_modules, namespaced_world_modules, proc); end

    # source://cucumber//lib/cucumber/glue/dsl.rb#26
    def define_parameter_type(parameter_type); end

    # Sets the attribute rb_language
    #
    # @param value the value to set the attribute rb_language to.
    #
    # source://cucumber//lib/cucumber/glue/dsl.rb#12
    def rb_language=(_arg0); end

    # source://cucumber//lib/cucumber/glue/dsl.rb#22
    def register_rb_hook(phase, tag_names, proc, name: T.unsafe(nil)); end

    # source://cucumber//lib/cucumber/glue/dsl.rb#30
    def register_rb_step_definition(regexp, proc_or_sym, options = T.unsafe(nil)); end
  end
end

# TODO: Kill pointless wrapper for Before, After and AfterStep hooks with fire
#
# source://cucumber//lib/cucumber/glue/hook.rb#8
class Cucumber::Glue::Hook
  # @return [Hook] a new instance of Hook
  #
  # source://cucumber//lib/cucumber/glue/hook.rb#11
  def initialize(id, registry, tag_expressions, proc, name: T.unsafe(nil)); end

  # Returns the value of attribute id.
  #
  # source://cucumber//lib/cucumber/glue/hook.rb#9
  def id; end

  # source://cucumber//lib/cucumber/glue/hook.rb#21
  def invoke(pseudo_method, arguments, &block); end

  # Returns the value of attribute location.
  #
  # source://cucumber//lib/cucumber/glue/hook.rb#9
  def location; end

  # Returns the value of attribute name.
  #
  # source://cucumber//lib/cucumber/glue/hook.rb#9
  def name; end

  # Returns the value of attribute tag_expressions.
  #
  # source://cucumber//lib/cucumber/glue/hook.rb#9
  def tag_expressions; end

  # source://cucumber//lib/cucumber/glue/hook.rb#32
  def to_envelope; end

  private

  # source://cucumber//lib/cucumber/glue/hook.rb#55
  def fail_for_old_style_tag_expressions(tag_expressions); end

  # source://cucumber//lib/cucumber/glue/hook.rb#50
  def sanitize_tag_expressions(tag_expressions); end
end

# Utility methods for executing step definitions with nice backtraces etc.
# TODO: add unit tests
# TODO: refactor for readability
#
# source://cucumber//lib/cucumber/glue/invoke_in_world.rb#9
class Cucumber::Glue::InvokeInWorld
  class << self
    # @return [Boolean]
    #
    # source://cucumber//lib/cucumber/glue/invoke_in_world.rb#42
    def cucumber_compatible_arity?(args, block); end

    # source://cucumber//lib/cucumber/glue/invoke_in_world.rb#26
    def cucumber_instance_exec_in(world, check_arity, pseudo_method, *args, &block); end

    # source://cucumber//lib/cucumber/glue/invoke_in_world.rb#49
    def cucumber_run_with_backtrace_filtering(pseudo_method); end

    # source://cucumber//lib/cucumber/glue/invoke_in_world.rb#10
    def replace_instance_exec_invocation_line!(backtrace, instance_exec_invocation_line, pseudo_method); end
  end
end

# source://cucumber//lib/cucumber/glue/invoke_in_world.rb#57
Cucumber::Glue::InvokeInWorld::INSTANCE_EXEC_OFFSET = T.let(T.unsafe(nil), Integer)

# Raised if there are 2 or more World blocks.
#
# source://cucumber//lib/cucumber/glue/registry_and_more.rb#30
class Cucumber::Glue::MultipleWorld < ::StandardError
  # @return [MultipleWorld] a new instance of MultipleWorld
  #
  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#31
  def initialize(first_proc, second_proc); end
end

# Raised if a World block returns Nil.
#
# source://cucumber//lib/cucumber/glue/registry_and_more.rb#23
class Cucumber::Glue::NilWorld < ::StandardError
  # @return [NilWorld] a new instance of NilWorld
  #
  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#24
  def initialize; end
end

# Defines the basic API methods availlable in all Cucumber step definitions.
#
# You can, and probably should, extend this API with your own methods that
# make sense in your domain. For more on that, see {Cucumber::Glue::Dsl#World}
#
# source://cucumber//lib/cucumber/glue/proto_world.rb#14
module Cucumber::Glue::ProtoWorld
  # Pause the tests and ask the operator for input
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#77
  def ask(question, timeout_seconds = T.unsafe(nil)); end

  # Attach a file to the output
  #
  # @param file [string|io] the file to attach.
  #   It can be a string containing the file content itself,
  #   the file path, or an IO ready to be read.
  # @param media_type [string] the media type. If file is a valid path,
  #   media_type can be ommitted, it will then be inferred from the file name.
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#91
  def attach(file, media_type = T.unsafe(nil)); end

  # Prints the list of modules that are included in the World
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#120
  def inspect; end

  # source://cucumber//lib/cucumber/glue/proto_world.rb#81
  def log(*messages); end

  # Mark the matched step as pending.
  #
  # @raise [Pending]
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#103
  def pending(message = T.unsafe(nil)); end

  # Skips this step and the remaining steps in the scenario
  #
  # @raise [Core::Test::Result::Skipped]
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#115
  def skip_this_scenario(message = T.unsafe(nil)); end

  # Run a single Gherkin step
  #
  # @example Call another step
  #   step "I am logged in"
  # @example Call a step with quotes in the name
  #   step %{the user "Dave" is logged in}
  # @example Passing a table
  #   step "the following users exist:", table(%{
  #   | name  | email           |
  #   | Matt  | matt@matt.com   |
  #   | Aslak | aslak@aslak.com |
  #   })
  # @example Passing a multiline string
  #   step "the email should contain:", "Dear sir,\nYou've won a prize!\n"
  # @param name [String] The name of the step
  # @param multiline_argument [String, Cucumber::Test::DocString, Cucumber::Ast::Table]
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#30
  def step(name, raw_multiline_arg = T.unsafe(nil)); end

  # Run a snippet of Gherkin
  #
  # @example
  #   steps %{
  #   Given the user "Susan" exists
  #   And I am logged in as "Susan"
  #   }
  # @param steps_text [String] The Gherkin snippet to run
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#41
  def steps(steps_text); end

  # Parse Gherkin into a {Cucumber::Ast::Table} object.
  #
  # Useful in conjunction with the #step method.
  # Returns a Cucumber::MultilineArgument::DataTable for +text_or_table+, which can either
  # be a String:
  #
  #   table(%{
  #     | account | description | amount |
  #     | INT-100 | Taxi        | 114    |
  #     | CUC-101 | Peeler      | 22     |
  #   })
  #
  # or a 2D Array:
  #
  #   table([
  #     %w{ account description amount },
  #     %w{ INT-100 Taxi        114    },
  #     %w{ CUC-101 Peeler      22     }
  #   ])
  #
  # @example Create a table
  #   users = table(%{
  #   | name  | email           |
  #   | Matt  | matt@matt.com   |
  #   | Aslak | aslak@aslak.com |
  #   })
  # @param text_or_table [String] The Gherkin string that represents the table
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#72
  def table(text_or_table); end

  # see {#inspect}
  #
  # source://cucumber//lib/cucumber/glue/proto_world.rb#125
  def to_s; end

  class << self
    # Dynamially generate the API module, closuring the dependencies
    #
    # source://cucumber//lib/cucumber/glue/proto_world.rb#130
    def for(runtime, language); end
  end
end

# @private
#
# source://cucumber//lib/cucumber/glue/proto_world.rb#212
Cucumber::Glue::ProtoWorld::AnsiEscapes = Cucumber::Gherkin::Formatter::AnsiEscapes

# TODO: This class has too many responsibilities, split off
#
# source://cucumber//lib/cucumber/glue/registry_and_more.rb#44
class Cucumber::Glue::RegistryAndMore
  # @return [RegistryAndMore] a new instance of RegistryAndMore
  #
  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#56
  def initialize(runtime, configuration); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#157
  def add_hook(phase, hook); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#151
  def after_all; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#174
  def available_step_definition(regexp_source, file_colon_line); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#145
  def before_all; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#127
  def begin_scenario(test_case); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#100
  def build_rb_world_factory(world_modules, namespaced_world_modules, proc); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#162
  def clear_hooks; end

  # @raise [ArgumentError]
  #
  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#182
  def create_expression(string_or_regexp); end

  # Returns the value of attribute current_world.
  #
  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#45
  def current_world; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#81
  def define_parameter_type(parameter_type); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#135
  def end_scenario; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#166
  def hooks_for(phase, scenario); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#139
  def install_plugin(configuration, registry); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#178
  def invoked_step_definition(regexp_source, file_colon_line); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#115
  def load_code_file(code_file); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#75
  def register_rb_hook(phase, tag_expressions, proc, name: T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#87
  def register_rb_step_definition(string_or_regexp, proc_or_sym, options); end

  # Returns the value of attribute step_definitions.
  #
  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#45
  def step_definitions; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#67
  def step_matches(name_to_match); end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#170
  def unmatched_step_definitions; end

  private

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#214
  def available_step_definition_hash; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#222
  def hooks; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#218
  def invoked_step_definition_hash; end

  # source://cucumber//lib/cucumber/glue/registry_and_more.rb#199
  def parameter_type_envelope(parameter_type); end

  class << self
    # source://cucumber//lib/cucumber/glue/registry_and_more.rb#189
    def cli_snippet_type_options; end
  end
end

# This class wraps some internals methods to expose them to external plugins.
#
# source://cucumber//lib/cucumber/glue/registry_wrapper.rb#7
class Cucumber::Glue::RegistryWrapper
  # @return [RegistryWrapper] a new instance of RegistryWrapper
  #
  # source://cucumber//lib/cucumber/glue/registry_wrapper.rb#8
  def initialize(registry); end

  # Creates a new CucumberExpression from the given +string_or_regexp+.
  #
  # If +string_or_regexp+ is a string, it will return a new CucumberExpression::CucumberExpression
  #
  # If +string_or_regexp+ is a regexp, it will return a new CucumberExpressions::RegularExpression
  #
  # An ArgumentError is raised if +string_or_regexp+ is not a string or a regexp
  #
  # source://cucumber//lib/cucumber/glue/registry_wrapper.rb#20
  def create_expression(string_or_regexp); end

  # Return the current execution environment - AKA an isntance of World
  #
  # source://cucumber//lib/cucumber/glue/registry_wrapper.rb#26
  def current_world; end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#5
module Cucumber::Glue::Snippet; end

# source://cucumber//lib/cucumber/glue/snippet.rb#6
Cucumber::Glue::Snippet::ARGUMENT_PATTERNS = T.let(T.unsafe(nil), Array)

# source://cucumber//lib/cucumber/glue/snippet.rb#27
class Cucumber::Glue::Snippet::BaseSnippet
  # @return [BaseSnippet] a new instance of BaseSnippet
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#28
  def initialize(cucumber_expression_generator, code_keyword, step_name, multiline_argument); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#40
  def step; end

  # source://cucumber//lib/cucumber/glue/snippet.rb#36
  def to_s; end

  private

  # Returns the value of attribute code_keyword.
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#50
  def code_keyword; end

  # source://cucumber//lib/cucumber/glue/snippet.rb#63
  def do_block; end

  # Returns the value of attribute generated_expressions.
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#50
  def generated_expressions; end

  # Returns the value of attribute multiline_argument.
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#50
  def multiline_argument; end

  # Returns the value of attribute number_of_arguments.
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#50
  def number_of_arguments; end

  # source://cucumber//lib/cucumber/glue/snippet.rb#72
  def parameters; end

  # Returns the value of attribute pattern.
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#50
  def pattern; end

  # source://cucumber//lib/cucumber/glue/snippet.rb#52
  def replace_and_count_capturing_groups(pattern); end

  class << self
    # source://cucumber//lib/cucumber/glue/snippet.rb#44
    def cli_option_string(type, cucumber_expression_generator); end

    private

    # source://cucumber//lib/cucumber/glue/snippet.rb#81
    def example(cucumber_expression_generator); end
  end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#127
class Cucumber::Glue::Snippet::Classic < ::Cucumber::Glue::Snippet::BaseSnippet
  # source://cucumber//lib/cucumber/glue/snippet.rb#128
  def typed_pattern; end

  class << self
    # source://cucumber//lib/cucumber/glue/snippet.rb#132
    def description; end
  end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#87
class Cucumber::Glue::Snippet::CucumberExpression < ::Cucumber::Glue::Snippet::BaseSnippet
  # source://cucumber//lib/cucumber/glue/snippet.rb#106
  def parameters(expr); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#92
  def to_s; end

  # source://cucumber//lib/cucumber/glue/snippet.rb#88
  def typed_pattern; end

  class << self
    # source://cucumber//lib/cucumber/glue/snippet.rb#112
    def description; end
  end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#8
class Cucumber::Glue::Snippet::Generator
  # @return [Generator] a new instance of Generator
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#13
  def initialize(cucumber_expression_generator); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#17
  def call(code_keyword, step_name, multiline_arg, snippet_type); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#22
  def typed_snippet_class(type); end

  class << self
    # source://cucumber//lib/cucumber/glue/snippet.rb#9
    def register_on(configuration); end
  end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#154
module Cucumber::Glue::Snippet::MultilineArgumentSnippet
  class << self
    # source://cucumber//lib/cucumber/glue/snippet.rb#155
    def new(multiline_argument); end
  end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#161
class Cucumber::Glue::Snippet::MultilineArgumentSnippet::Builder
  # source://cucumber//lib/cucumber/glue/snippet.rb#166
  def data_table(table, *_args); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#162
  def doc_string(*_args); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#170
  def result; end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#183
class Cucumber::Glue::Snippet::MultilineArgumentSnippet::DataTable
  # @return [DataTable] a new instance of DataTable
  #
  # source://cucumber//lib/cucumber/glue/snippet.rb#184
  def initialize(table); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#188
  def append_block_parameter_to(array); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#192
  def append_comment_to(string); end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#175
class Cucumber::Glue::Snippet::MultilineArgumentSnippet::DocString
  # source://cucumber//lib/cucumber/glue/snippet.rb#176
  def append_block_parameter_to(array); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#180
  def append_comment_to(string); end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#197
class Cucumber::Glue::Snippet::MultilineArgumentSnippet::None
  # source://cucumber//lib/cucumber/glue/snippet.rb#198
  def append_block_parameter_to(array); end

  # source://cucumber//lib/cucumber/glue/snippet.rb#200
  def append_comment_to(string); end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#137
class Cucumber::Glue::Snippet::Percent < ::Cucumber::Glue::Snippet::BaseSnippet
  # source://cucumber//lib/cucumber/glue/snippet.rb#138
  def typed_pattern; end

  class << self
    # source://cucumber//lib/cucumber/glue/snippet.rb#142
    def description; end
  end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#117
class Cucumber::Glue::Snippet::Regexp < ::Cucumber::Glue::Snippet::BaseSnippet
  # source://cucumber//lib/cucumber/glue/snippet.rb#118
  def typed_pattern; end

  class << self
    # source://cucumber//lib/cucumber/glue/snippet.rb#122
    def description; end
  end
end

# source://cucumber//lib/cucumber/glue/snippet.rb#147
Cucumber::Glue::Snippet::SNIPPET_TYPES = T.let(T.unsafe(nil), Hash)

# A Step Definition holds a Regexp pattern and a Proc, and is
# typically created by calling {Dsl#register_rb_step_definition Given, When or Then}
# in the step_definitions Ruby files.
#
# Example:
#
#   Given /I have (\d+) cucumbers in my belly/ do
#     # some code here
#   end
#
# source://cucumber//lib/cucumber/glue/step_definition.rb#18
class Cucumber::Glue::StepDefinition
  # @return [StepDefinition] a new instance of StepDefinition
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#69
  def initialize(id, registry, expression, proc); end

  # @api private
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#124
  def ==(other); end

  # @api private
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#129
  def arguments_from(step_name); end

  # @api private
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#143
  def backtrace_line; end

  # Returns the value of attribute expression.
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#67
  def expression; end

  # source://cucumber//lib/cucumber/glue/step_definition.rb#97
  def expression_type; end

  # @api private
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#163
  def file; end

  # @api private
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#148
  def file_colon_line; end

  # Returns the value of attribute id.
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#67
  def id; end

  # TODO: inline this and step definition just be a value object
  #
  # @api private
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#135
  def invoke(args); end

  # The source location where the step definition can be found
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#158
  def location; end

  # Returns the value of attribute registry.
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#67
  def registry; end

  # source://cucumber//lib/cucumber/glue/step_definition.rb#79
  def to_envelope; end

  # @api private
  #
  # source://cucumber//lib/cucumber/glue/step_definition.rb#104
  def to_hash; end

  class << self
    # @raise [MissingProc]
    #
    # source://cucumber//lib/cucumber/glue/step_definition.rb#26
    def new(id, registry, string_or_regexp, proc_or_sym, options); end

    private

    # @raise [ArgumentError]
    #
    # source://cucumber//lib/cucumber/glue/step_definition.rb#34
    def create_proc(proc_or_sym, options); end

    # source://cucumber//lib/cucumber/glue/step_definition.rb#52
    def parse_target_proc_from(options); end

    # source://cucumber//lib/cucumber/glue/step_definition.rb#46
    def patch_location_onto(block); end
  end
end

# source://cucumber//lib/cucumber/glue/step_definition.rb#19
class Cucumber::Glue::StepDefinition::MissingProc < ::StandardError
  # source://cucumber//lib/cucumber/glue/step_definition.rb#20
  def message; end
end

# source://cucumber//lib/cucumber/glue/world_factory.rb#3
class Cucumber::Glue::WorldFactory
  # @return [WorldFactory] a new instance of WorldFactory
  #
  # source://cucumber//lib/cucumber/glue/world_factory.rb#4
  def initialize(proc); end

  # source://cucumber//lib/cucumber/glue/world_factory.rb#8
  def create_world; end

  # source://cucumber//lib/cucumber/glue/world_factory.rb#12
  def raise_nil_world; end
end

# Hooks quack enough like `Cucumber::Core::Ast` source nodes that we can use them as
# source for test steps
#
# source://cucumber//lib/cucumber/hooks.rb#10
module Cucumber::Hooks
  class << self
    # source://cucumber//lib/cucumber/hooks.rb#16
    def after_hook(id, location, &block); end

    # @raise [ArgumentError]
    #
    # source://cucumber//lib/cucumber/hooks.rb#20
    def after_step_hook(id, test_step, location, &block); end

    # source://cucumber//lib/cucumber/hooks.rb#26
    def around_hook(&block); end

    # source://cucumber//lib/cucumber/hooks.rb#12
    def before_hook(id, location, &block); end

    private

    # source://cucumber//lib/cucumber/hooks.rb#32
    def build_hook_step(id, location, block, hook_type, action_type); end
  end
end

# source://cucumber//lib/cucumber/hooks.rb#39
class Cucumber::Hooks::AfterHook
  # @return [AfterHook] a new instance of AfterHook
  #
  # source://cucumber//lib/cucumber/hooks.rb#42
  def initialize(location); end

  # source://cucumber//lib/cucumber/hooks.rb#58
  def describe_to(visitor, *args); end

  # Returns the value of attribute location.
  #
  # source://cucumber//lib/cucumber/hooks.rb#40
  def location; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/hooks.rb#54
  def match_locations?(queried_locations); end

  # source://cucumber//lib/cucumber/hooks.rb#46
  def text; end

  # source://cucumber//lib/cucumber/hooks.rb#50
  def to_s; end
end

# source://cucumber//lib/cucumber/hooks.rb#87
class Cucumber::Hooks::AfterStepHook
  # @return [AfterStepHook] a new instance of AfterStepHook
  #
  # source://cucumber//lib/cucumber/hooks.rb#90
  def initialize(location); end

  # source://cucumber//lib/cucumber/hooks.rb#106
  def describe_to(visitor, *args); end

  # Returns the value of attribute location.
  #
  # source://cucumber//lib/cucumber/hooks.rb#88
  def location; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/hooks.rb#102
  def match_locations?(queried_locations); end

  # source://cucumber//lib/cucumber/hooks.rb#94
  def text; end

  # source://cucumber//lib/cucumber/hooks.rb#98
  def to_s; end
end

# source://cucumber//lib/cucumber/hooks.rb#63
class Cucumber::Hooks::BeforeHook
  # @return [BeforeHook] a new instance of BeforeHook
  #
  # source://cucumber//lib/cucumber/hooks.rb#66
  def initialize(location); end

  # source://cucumber//lib/cucumber/hooks.rb#82
  def describe_to(visitor, *args); end

  # Returns the value of attribute location.
  #
  # source://cucumber//lib/cucumber/hooks.rb#64
  def location; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/hooks.rb#78
  def match_locations?(queried_locations); end

  # source://cucumber//lib/cucumber/hooks.rb#70
  def text; end

  # source://cucumber//lib/cucumber/hooks.rb#74
  def to_s; end
end

# source://cucumber-core/11.0.0/lib/cucumber/core/platform.rb#9
Cucumber::IRONRUBY = T.let(T.unsafe(nil), FalseClass)

# source://cucumber-core/11.0.0/lib/cucumber/core/platform.rb#8
Cucumber::JRUBY = T.let(T.unsafe(nil), T.untyped)

# source://cucumber//lib/cucumber/platform.rb#12
Cucumber::LIBDIR = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/load_path.rb#4
module Cucumber::LoadPath
  private

  # source://cucumber//lib/cucumber/load_path.rb#5
  def add_dirs(*dirs); end

  class << self
    # source://cucumber//lib/cucumber/load_path.rb#5
    def add_dirs(*dirs); end
  end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#2
module Cucumber::MultilineArgument
  class << self
    # source://cucumber//lib/cucumber/multiline_argument.rb#14
    def from(argument, location = T.unsafe(nil), content_type = T.unsafe(nil)); end

    # source://cucumber//lib/cucumber/multiline_argument.rb#10
    def from_core(node); end

    private

    # source://cucumber//lib/cucumber/multiline_argument.rb#33
    def builder; end
  end
end

# Step Definitions that match a plain text Step with a multiline argument table
# will receive it as an instance of Table. A Table object holds the data of a
# table parsed from a feature file and lets you access and manipulate the data
# in different ways.
#
# For example:
#
#   Given I have:
#     | a | b |
#     | c | d |
#
# And a matching StepDefinition:
#
#   Given /I have:/ do |table|
#     data = table.raw
#   end
#
# This will store <tt>[['a', 'b'], ['c', 'd']]</tt> in the <tt>data</tt> variable.
#
# source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#3
class Cucumber::MultilineArgument::DataTable
  # @param data [Core::Test::DataTable] the data for the table
  # @param conversion_procs [Hash] see map_column
  # @param header_mappings [Hash] see map_headers
  # @param header_conversion_proc [Proc] see map_headers
  # @raise [ArgumentError]
  # @return [DataTable] a new instance of DataTable
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#84
  def initialize(data, conversion_procs = T.unsafe(nil), header_mappings = T.unsafe(nil), header_conversion_proc = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#97
  def append_to(array); end

  # Returns the value of attribute cell_matrix.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#385
  def cell_matrix; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#371
  def cells_rows; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#343
  def cells_to_hash(cells); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#387
  def col_width(col); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#197
  def column_names; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#436
  def columns; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#34
  def describe_to(visitor, *args); end

  # Compares +other_table+ to self. If +other_table+ contains columns
  # and/or rows that are not in self, new columns/rows are added at the
  # relevant positions, marking the cells in those rows/columns as
  # <tt>surplus</tt>. Likewise, if +other_table+ lacks columns and/or
  # rows that are present in self, these are marked as <tt>missing</tt>.
  #
  # <tt>surplus</tt> and <tt>missing</tt> cells are recognised by formatters
  # and displayed so that it's easy to read the differences.
  #
  # Cells that are different, but <em>look</em> identical (for example the
  # boolean true and the string "true") are converted to their Object#inspect
  # representation and preceded with (i) - to make it easier to identify
  # where the difference actually is.
  #
  # Since all tables that are passed to StepDefinitions always have String
  # objects in their cells, you may want to use #map_column before calling
  # #diff!. You can use #map_column on either of the tables.
  #
  # A Different error is raised if there are missing rows or columns, or
  # surplus rows. An error is <em>not</em> raised for surplus columns. An
  # error is <em>not</em> raised for misplaced (out of sequence) columns.
  # Whether to raise or not raise can be changed by setting values in
  # +options+ to true or false:
  #
  # * <tt>missing_row</tt> : Raise on missing rows (defaults to true)
  # * <tt>surplus_row</tt> : Raise on surplus rows (defaults to true)
  # * <tt>missing_col</tt> : Raise on missing columns (defaults to true)
  # * <tt>surplus_col</tt> : Raise on surplus columns (defaults to false)
  # * <tt>misplaced_col</tt> : Raise on misplaced columns (defaults to false)
  #
  # The +other_table+ argument can be another Table, an Array of Array or
  # an Array of Hash (similar to the structure returned by #hashes).
  #
  # Calling this method is particularly useful in <tt>Then</tt> steps that take
  # a Table argument, if you want to compare that table to some actual values.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#319
  def diff!(other_table, options = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#207
  def each_cells_row(&proc); end

  # Returns the value of attribute file.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#105
  def file; end

  # Sets the attribute file
  #
  # @param value the value to set the attribute file to.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#105
  def file=(_arg0); end

  # Converts this table into an Array of Hash where the keys of each
  # Hash are the headers in the table. For example, a Table built from
  # the following plain text:
  #
  #   | a | b | sum |
  #   | 2 | 3 | 5   |
  #   | 7 | 9 | 16  |
  #
  # Gets converted into the following:
  #
  #   [{'a' => '2', 'b' => '3', 'sum' => '5'}, {'a' => '7', 'b' => '9', 'sum' => '16'}]
  #
  # Use #map_column to specify how values in a column are converted.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#140
  def hashes; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#381
  def header_cell(col); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#377
  def headers; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#353
  def index(cells); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#107
  def location; end

  # Returns a new Table with an additional column mapping.
  #
  # Change how #hashes converts column values. The +column_name+ argument identifies the column
  # and +conversion_proc+ performs the conversion for each cell in that column. If +strict+ is
  # true, an error will be raised if the column named +column_name+ is not found. If +strict+
  # is false, no error will be raised. Example:
  #
  #   Given /^an expense report for (.*) with the following posts:$/ do |table|
  #     posts_table = posts_table.map_column('amount') { |a| a.to_i }
  #     posts_table.hashes.each do |post|
  #       # post['amount'] is a Fixnum, rather than a String
  #     end
  #   end
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#277
  def map_column(column_name, strict: T.unsafe(nil), &conversion_proc); end

  # Returns a new Table where the headers are redefined.
  # This makes it possible to use
  # prettier and more flexible header names in the features.  The
  # keys of +mappings+ are Strings or regular expressions
  # (anything that responds to #=== will work) that may match
  # column headings in the table.  The values of +mappings+ are
  # desired names for the columns.
  #
  # Example:
  #
  #   | Phone Number | Address |
  #   | 123456       | xyz     |
  #   | 345678       | abc     |
  #
  # A StepDefinition receiving this table can then map the columns
  # with both Regexp and String:
  #
  #   table.map_headers(/phone( number)?/i => :phone, 'Address' => :address)
  #   table.hashes
  #   # => [{:phone => '123456', :address => 'xyz'}, {:phone => '345678', :address => 'abc'}]
  #
  # You may also pass in a block if you wish to convert all of the headers:
  #
  #   table.map_headers { |header| header.downcase }
  #   table.hashes.keys
  #   # => ['phone number', 'address']
  #
  # When a block is passed in along with a hash then the mappings in the hash take precendence:
  #
  #   table.map_headers('Address' => 'ADDRESS') { |header| header.downcase }
  #   table.hashes.keys
  #   # => ['phone number', 'ADDRESS']
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#259
  def map_headers(mappings = T.unsafe(nil), &block); end

  # Matches +pattern+ against the header row of the table.
  # This is used especially for argument transforms.
  #
  # Example:
  #  | column_1_name | column_2_name |
  #  | x             | y             |
  #
  #  table.match(/table:column_1_name,column_2_name/) #=> non-nil
  #
  # Note: must use 'table:' prefix on match
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#221
  def match(pattern); end

  # Gets the raw data of this table. For example, a Table built from
  # the following plain text:
  #
  #   | a | b |
  #   | c | d |
  #
  # gets converted into the following:
  #
  #   [['a', 'b'], ['c', 'd']]
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#191
  def raw; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#201
  def rows; end

  # Converts this table into a Hash where the first column is
  # used as keys and the second column is used as values
  #
  #   | a | 2 |
  #   | b | 3 |
  #
  # Gets converted into the following:
  #
  #   {'a' => '2', 'b' => '3'}
  #
  # The table must be exactly two columns wide
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#174
  def rows_hash; end

  # Converts this table into an Array of Hashes where the keys are symbols.
  # For example, a Table built from the following plain text:
  #
  #   | foo | Bar | Foo Bar |
  #   | 2   | 3   | 5       |
  #   | 7   | 9   | 16      |
  #
  # Gets converted into the following:
  #
  #   [{:foo => '2', :bar => '3', :foo_bar => '5'}, {:foo => '7', :bar => '9', :foo_bar => '16'}]
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#155
  def symbolic_hashes; end

  # TODO: remove the below function if it's not actually being used.
  # Nothing else in this repo calls it.
  #
  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#367
  def text?(text); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#339
  def to_hash; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#442
  def to_json(*args); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#391
  def to_s(options = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#101
  def to_step_definition_arg; end

  # Returns a new, transposed table. Example:
  #
  #   | a | 7 | 4 |
  #   | b | 9 | 2 |
  #
  # Gets converted into the following:
  #
  #   | a | b |
  #   | 7 | 9 |
  #   | 4 | 2 |
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#122
  def transpose; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#357
  def verify_column(column_name); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#361
  def verify_table_width(width); end

  protected

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#453
  def build_hashes; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#504
  def clear_cache!; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#472
  def convert_columns!; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#486
  def convert_headers!; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#459
  def create_cell_matrix(ast_table); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#508
  def ensure_table(table_or_array); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#514
  def symbolize_key(key); end

  class << self
    # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#30
    def default_arg_name; end

    # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#39
    def from(data); end

    private

    # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#59
    def from_array(data); end

    # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#52
    def parse(text); end
  end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#64
class Cucumber::MultilineArgument::DataTable::Builder
  # @return [Builder] a new instance of Builder
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#67
  def initialize; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#75
  def eof; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#71
  def row(row); end

  # Returns the value of attribute rows.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#65
  def rows; end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#579
class Cucumber::MultilineArgument::DataTable::Cell
  # @return [Cell] a new instance of Cell
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#583
  def initialize(value, table, line); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#593
  def ==(other); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#597
  def eql?(other); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#601
  def hash; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#589
  def inspect!; end

  # Returns the value of attribute line.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#580
  def line; end

  # Returns the value of attribute status.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#581
  def status; end

  # Sets the attribute status
  #
  # @param value the value to set the attribute status to.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#581
  def status=(_arg0); end

  # Returns the value of attribute table.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#580
  def table; end

  # For testing only
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#606
  def to_sexp; end

  # Returns the value of attribute value.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#581
  def value; end

  # Sets the attribute value
  #
  # @param value the value to set the attribute value to.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#581
  def value=(_arg0); end
end

# Represents a row of cells or columns of cells
#
# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#519
class Cucumber::MultilineArgument::DataTable::Cells
  include ::Enumerable
  include ::Cucumber::Gherkin::Formatter::Escaping

  # @return [Cells] a new instance of Cells
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#525
  def initialize(table, cells); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#552
  def [](n); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#530
  def accept(visitor); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#560
  def dom_id; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#564
  def each(&proc); end

  # Returns the value of attribute exception.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#523
  def exception; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#556
  def line; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#544
  def to_hash; end

  # For testing only
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#540
  def to_sexp; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#548
  def value(n); end

  private

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#570
  def index; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#574
  def width; end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#397
class Cucumber::MultilineArgument::DataTable::DataTablePrinter
  include ::Cucumber::Gherkin::Formatter::Escaping

  # @return [DataTablePrinter] a new instance of DataTablePrinter
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#402
  def initialize(data_table, indentation, prefixes); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#408
  def to_s; end

  private

  # Returns the value of attribute data_table.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#399
  def data_table; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#427
  def format_cell(cell, col_width); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#418
  def format_row(row); end

  # Returns the value of attribute indentation.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#399
  def indentation; end

  # Returns the value of attribute prefixes.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#399
  def prefixes; end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#4
class Cucumber::MultilineArgument::DataTable::DiffMatrices
  # @return [DiffMatrices] a new instance of DiffMatrices
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#7
  def initialize(cell_matrix, other_table_cell_matrix, options); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#13
  def call; end

  # Returns the value of attribute cell_matrix.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#5
  def cell_matrix; end

  # Sets the attribute cell_matrix
  #
  # @param value the value to set the attribute cell_matrix to.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#5
  def cell_matrix=(_arg0); end

  # Returns the value of attribute options.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#5
  def options; end

  # Sets the attribute options
  #
  # @param value the value to set the attribute options to.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#5
  def options=(_arg0); end

  # Returns the value of attribute other_table_cell_matrix.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#5
  def other_table_cell_matrix; end

  # Sets the attribute other_table_cell_matrix
  #
  # @param value the value to set the attribute other_table_cell_matrix to.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#5
  def other_table_cell_matrix=(_arg0); end

  private

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#95
  def changes; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#67
  def ensure_2d(array); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#111
  def fill_in_missing_values; end

  # Returns the value of attribute insert_row_pos.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#22
  def insert_row_pos; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#101
  def inspect_rows(missing_row, inserted_row); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#61
  def mark_as_missing(col); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#132
  def misplaced_col; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#124
  def missing_col; end

  # Returns the value of attribute missing_row_pos.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#22
  def missing_row_pos; end

  # Returns the value of attribute original_header.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#22
  def original_header; end

  # Returns the value of attribute original_width.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#22
  def original_width; end

  # Pads two cell matrices to same column width and matches columns according to header value.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#33
  def pad_and_match; end

  # Returns the value of attribute padded_width.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#22
  def padded_width; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#71
  def perform_diff; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#24
  def prepare_diff; end

  # @raise [Different]
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#136
  def raise_error; end

  # Returns the value of attribute row_indices.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#22
  def row_indices; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#142
  def should_raise?; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table/diff_matrices.rb#128
  def surplus_col; end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#330
class Cucumber::MultilineArgument::DataTable::Different < ::StandardError
  # @return [Different] a new instance of Different
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#333
  def initialize(table); end

  # Returns the value of attribute table.
  #
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#331
  def table; end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#78
Cucumber::MultilineArgument::DataTable::NULL_CONVERSIONS = T.let(T.unsafe(nil), Hash)

# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#611
class Cucumber::MultilineArgument::DataTable::SurplusCell < ::Cucumber::MultilineArgument::DataTable::Cell
  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#616
  def ==(_other); end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#620
  def hash; end

  # source://cucumber//lib/cucumber/multiline_argument/data_table.rb#612
  def status; end
end

# source://cucumber//lib/cucumber/multiline_argument/data_table.rb#446
Cucumber::MultilineArgument::DataTable::TO_S_PREFIXES = T.let(T.unsafe(nil), Hash)

# source://cucumber//lib/cucumber/multiline_argument/doc_string.rb#5
class Cucumber::MultilineArgument::DocString < ::SimpleDelegator
  # source://cucumber//lib/cucumber/multiline_argument/doc_string.rb#6
  def append_to(array); end
end

# source://cucumber//lib/cucumber/multiline_argument.rb#54
class Cucumber::MultilineArgument::None
  # source://cucumber//lib/cucumber/multiline_argument.rb#55
  def append_to(array); end

  # source://cucumber//lib/cucumber/multiline_argument.rb#57
  def describe_to(visitor); end
end

# source://cucumber//lib/cucumber/step_match.rb#105
class Cucumber::NoStepMatch
  # @return [NoStepMatch] a new instance of NoStepMatch
  #
  # source://cucumber//lib/cucumber/step_match.rb#108
  def initialize(step, name); end

  # source://cucumber//lib/cucumber/step_match.rb#139
  def activate(test_step); end

  # source://cucumber//lib/cucumber/step_match.rb#127
  def backtrace_line; end

  # source://cucumber//lib/cucumber/step_match.rb#123
  def file_colon_line; end

  # source://cucumber//lib/cucumber/step_match.rb#113
  def format_args(*_args); end

  # source://cucumber//lib/cucumber/step_match.rb#117
  def location; end

  # Returns the value of attribute name.
  #
  # source://cucumber//lib/cucumber/step_match.rb#106
  def name; end

  # source://cucumber//lib/cucumber/step_match.rb#135
  def step_arguments; end

  # Returns the value of attribute step_definition.
  #
  # source://cucumber//lib/cucumber/step_match.rb#106
  def step_definition; end

  # source://cucumber//lib/cucumber/step_match.rb#131
  def text_length; end
end

# source://cucumber-core/11.0.0/lib/cucumber/core/platform.rb#11
Cucumber::OS_X = T.let(T.unsafe(nil), T.untyped)

# Raised when a StepDefinition's block invokes World#pending
#
# source://cucumber//lib/cucumber/errors.rb#32
class Cucumber::Pending < ::Cucumber::Core::Test::Result::Pending; end

# Generates generic file structure for a cucumber project
#
# source://cucumber//lib/cucumber/project_initializer.rb#5
class Cucumber::ProjectInitializer
  # source://cucumber//lib/cucumber/project_initializer.rb#6
  def run; end

  private

  # source://cucumber//lib/cucumber/project_initializer.rb#15
  def create_directory(dir_name); end

  # source://cucumber//lib/cucumber/project_initializer.rb#23
  def create_directory_or_file(file_name, directory); end

  # source://cucumber//lib/cucumber/project_initializer.rb#19
  def create_file(file_name); end

  # source://cucumber//lib/cucumber/project_initializer.rb#40
  def report_creating(file); end

  # source://cucumber//lib/cucumber/project_initializer.rb#36
  def report_exists(file); end
end

# source://cucumber//lib/cucumber/platform.rb#13
Cucumber::RAILS = T.let(T.unsafe(nil), String)

# source://cucumber//lib/cucumber/platform.rb#15
Cucumber::RUBY = T.let(T.unsafe(nil), String)

# source://cucumber-core/11.0.0/lib/cucumber/core/platform.rb#14
Cucumber::RUBY_1_9 = T.let(T.unsafe(nil), T.untyped)

# source://cucumber-core/11.0.0/lib/cucumber/core/platform.rb#13
Cucumber::RUBY_2_0 = T.let(T.unsafe(nil), T.untyped)

# source://cucumber//lib/cucumber/platform.rb#14
Cucumber::RUBY_BINARY = T.let(T.unsafe(nil), String)

# Represents the current status of a running test case.
#
# This wraps a `Cucumber::Core::Test::Case` and delegates
# many methods to that object.
#
# We decorete the core object with the current result.
# In the first Before hook of a scenario, this will be an
# instance of `Cucumber::Core::Test::Result::Unknown`
# but as the scenario runs, it will be updated to reflect
# the passed / failed / undefined / skipped status of
# the test case.
#
# source://cucumber//lib/cucumber/running_test_case.rb#18
module Cucumber::RunningTestCase
  class << self
    # source://cucumber//lib/cucumber/running_test_case.rb#19
    def new(test_case); end
  end
end

# source://cucumber//lib/cucumber/running_test_case.rb#23
class Cucumber::RunningTestCase::TestCase < ::SimpleDelegator
  # @return [TestCase] a new instance of TestCase
  #
  # source://cucumber//lib/cucumber/running_test_case.rb#24
  def initialize(test_case, result = T.unsafe(nil)); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/running_test_case.rb#30
  def accept_hook?(hook); end

  # source://cucumber//lib/cucumber/running_test_case.rb#34
  def exception; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/running_test_case.rb#44
  def failed?; end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/running_test_case.rb#48
  def passed?; end

  # source://cucumber//lib/cucumber/running_test_case.rb#52
  def source_tag_names; end

  # source://cucumber//lib/cucumber/running_test_case.rb#40
  def status; end

  # source://cucumber//lib/cucumber/running_test_case.rb#56
  def with_result(result); end
end

# source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#5
class Cucumber::Runtime
  include ::Cucumber::Core
  include ::Cucumber::Formatter::Duration
  include ::Cucumber::Runtime::UserInterface

  # @return [Runtime] a new instance of Runtime
  #
  # source://cucumber//lib/cucumber/runtime.rb#58
  def initialize(configuration = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/runtime.rb#99
  def begin_scenario(test_case); end

  # Returns the value of attribute configuration.
  #
  # source://cucumber//lib/cucumber/runtime.rb#52
  def configuration; end

  # Allows you to take an existing runtime and change its configuration
  #
  # source://cucumber//lib/cucumber/runtime.rb#64
  def configure(new_configuration); end

  # Returns Ast::DocString for +string_without_triple_quotes+.
  #
  # source://cucumber//lib/cucumber/runtime.rb#109
  def doc_string(string_without_triple_quotes, content_type = T.unsafe(nil), _line_offset = T.unsafe(nil)); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/runtime.rb#91
  def dry_run?; end

  # source://cucumber//lib/cucumber/runtime.rb#103
  def end_scenario(_scenario); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/runtime.rb#113
  def failure?; end

  # source://cucumber//lib/cucumber/runtime.rb#87
  def features_paths; end

  # Returns the value of attribute results.
  #
  # source://cucumber//lib/cucumber/runtime.rb#52
  def results; end

  # source://cucumber//lib/cucumber/runtime.rb#69
  def run!; end

  # Returns the value of attribute support_code.
  #
  # source://cucumber//lib/cucumber/runtime.rb#52
  def support_code; end

  # source://cucumber//lib/cucumber/runtime.rb#95
  def unmatched_step_definitions; end

  private

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/runtime.rb#233
  def accept_options?(factory); end

  # source://cucumber//lib/cucumber/runtime.rb#220
  def create_formatter(factory, formatter_options, path_or_io); end

  # source://cucumber//lib/cucumber/runtime.rb#205
  def fail_fast_report; end

  # source://cucumber//lib/cucumber/runtime.rb#144
  def feature_files; end

  # source://cucumber//lib/cucumber/runtime.rb#136
  def features; end

  # source://cucumber//lib/cucumber/runtime.rb#148
  def filespecs; end

  # source://cucumber//lib/cucumber/runtime.rb#238
  def filters; end

  # source://cucumber//lib/cucumber/runtime.rb#131
  def fire_after_all_hook; end

  # source://cucumber//lib/cucumber/runtime.rb#127
  def fire_before_all_hook; end

  # source://cucumber//lib/cucumber/runtime.rb#123
  def fire_install_plugin_hook; end

  # source://cucumber//lib/cucumber/runtime.rb#213
  def formatters; end

  # source://cucumber//lib/cucumber/runtime.rb#272
  def load_step_definitions; end

  # source://cucumber//lib/cucumber/runtime.rb#281
  def log; end

  # source://cucumber//lib/cucumber/runtime.rb#209
  def publish_banner_printer; end

  # source://cucumber//lib/cucumber/runtime.rb#277
  def registry_wrapper; end

  # source://cucumber//lib/cucumber/runtime.rb#192
  def report; end

  # source://cucumber//lib/cucumber/runtime.rb#201
  def summary_report; end
end

# source://cucumber//lib/cucumber/runtime/after_hooks.rb#5
class Cucumber::Runtime::AfterHooks
  # @return [AfterHooks] a new instance of AfterHooks
  #
  # source://cucumber//lib/cucumber/runtime/after_hooks.rb#6
  def initialize(id_generator, hooks, scenario, event_bus); end

  # source://cucumber//lib/cucumber/runtime/after_hooks.rb#13
  def apply_to(test_case); end

  private

  # source://cucumber//lib/cucumber/runtime/after_hooks.rb#21
  def after_hooks; end
end

# source://cucumber//lib/cucumber/runtime/before_hooks.rb#7
class Cucumber::Runtime::BeforeHooks
  # @return [BeforeHooks] a new instance of BeforeHooks
  #
  # source://cucumber//lib/cucumber/runtime/before_hooks.rb#8
  def initialize(id_generator, hooks, scenario, event_bus); end

  # source://cucumber//lib/cucumber/runtime/before_hooks.rb#15
  def apply_to(test_case); end

  private

  # source://cucumber//lib/cucumber/runtime/before_hooks.rb#23
  def before_hooks; end
end

# This is what a programming language will consider to be a runtime.
#
# It's a thin class that directs the handul of methods needed by the
# programming languages to the right place.
#
# source://cucumber//lib/cucumber/runtime/for_programming_languages.rb#12
class Cucumber::Runtime::ForProgrammingLanguages
  extend ::Forwardable

  # @return [ForProgrammingLanguages] a new instance of ForProgrammingLanguages
  #
  # source://cucumber//lib/cucumber/runtime/for_programming_languages.rb#17
  def initialize(support_code, user_interface); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def ask(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def attach(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def embed(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def features_paths(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def invoke_dynamic_step(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def invoke_dynamic_steps(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def puts(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def step_match(*args, **_arg1, &block); end

  # Returns the value of attribute support_code.
  #
  # source://cucumber//lib/cucumber/runtime/for_programming_languages.rb#15
  def support_code; end
end

# Builder to instanciate a Cucumber::Messages::Meta message filled-in with
# the runtime meta-data:
# - protocol version: the version of the Cucumber::Messages protocol
# - implementation: the name and version of the implementation (e.g. cucumber-ruby 8.0.0)
# - runtime: the name and version of the runtime (e.g. ruby 3.0.1)
# - os: the name and version of the operating system (e.g. linux 3.13.0-45-generic)
# - cpu: the name of the CPU (e.g. x86_64)
# - ci: informtion about the CI environment if any, including:
#   - name: the name of the CI environment (e.g. Jenkins)
#   - url: the URL of the CI environment (e.g. https://ci.example.com)
#   - build_number: the build number of the CI environment (e.g. 123)
#   - git: the git information of the CI environment if any
#     - remote: the remote of the git repository (e.g. git@github.com:cucumber/cucumber-ruby.git)
#     - revision: the revision of the git repository (e.g. abcdef)
#     - branch: the name of the git branch (e.g. main)
#     - tag: the name of the git tag (e.g. v1.0.0)
#
# source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#22
class Cucumber::Runtime::MetaMessageBuilder
  class << self
    # Builds a Cucumber::Messages::Meta filled-in with the runtime meta-data
    #
    # Cucumber::Runtime::MetaMessageBuilder.build_meta_message
    #
    # @param environment [env] data from which the CI information will be
    #   retrieved (default ENV). Can be used to mock the environment for
    #   testing purpose.
    # @return [Cucumber::Messages::Meta] the meta message
    # @see Cucumber::Runtime::MetaMessageBuilder
    #
    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#37
    def build_meta_message(env = T.unsafe(nil)); end

    private

    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#81
    def ci(env); end

    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#75
    def cpu; end

    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#93
    def git_info(ci_data); end

    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#54
    def implementation; end

    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#68
    def os; end

    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#50
    def protocol_version; end

    # source://cucumber//lib/cucumber/runtime/meta_message_builder.rb#61
    def runtime; end
  end
end

# source://cucumber//lib/cucumber/runtime.rb#152
class Cucumber::Runtime::NormalisedEncodingFile
  # @return [NormalisedEncodingFile] a new instance of NormalisedEncodingFile
  #
  # source://cucumber//lib/cucumber/runtime.rb#160
  def initialize(path); end

  # source://cucumber//lib/cucumber/runtime.rb#169
  def read; end

  private

  # source://cucumber//lib/cucumber/runtime.rb#175
  def set_encoding; end

  class << self
    # source://cucumber//lib/cucumber/runtime.rb#156
    def read(path); end
  end
end

# source://cucumber//lib/cucumber/runtime.rb#153
Cucumber::Runtime::NormalisedEncodingFile::COMMENT_OR_EMPTY_LINE_PATTERN = T.let(T.unsafe(nil), Regexp)

# source://cucumber//lib/cucumber/runtime.rb#154
Cucumber::Runtime::NormalisedEncodingFile::ENCODING_PATTERN = T.let(T.unsafe(nil), Regexp)

# source://cucumber//lib/cucumber/runtime/step_hooks.rb#5
class Cucumber::Runtime::StepHooks
  # @return [StepHooks] a new instance of StepHooks
  #
  # source://cucumber//lib/cucumber/runtime/step_hooks.rb#6
  def initialize(id_generator, hooks, event_bus); end

  # source://cucumber//lib/cucumber/runtime/step_hooks.rb#12
  def apply(test_steps); end

  private

  # source://cucumber//lib/cucumber/runtime/step_hooks.rb#20
  def after_step_hooks(test_step); end
end

# source://cucumber//lib/cucumber/runtime/support_code.rb#13
class Cucumber::Runtime::SupportCode
  include ::Cucumber::Constantize

  # @return [SupportCode] a new instance of SupportCode
  #
  # source://cucumber//lib/cucumber/runtime/support_code.rb#44
  def initialize(user_interface, configuration = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#119
  def apply_after_hooks(test_case); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#111
  def apply_before_hooks(test_case); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#51
  def configure(new_configuration); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#105
  def find_after_step_hooks(test_case); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#127
  def find_around_hooks(test_case); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#96
  def fire_hook(name, *args); end

  # This allows users to attempt to find, match and execute steps
  # from code as the features are running, as opposed to regular
  # steps which are compiled into test steps before execution.
  #
  # These are commonly called nested steps.
  #
  # @api private
  # @raise [UndefinedDynamicStep]
  #
  # source://cucumber//lib/cucumber/runtime/support_code.rb#72
  def invoke_dynamic_step(step_name, multiline_argument, _location = T.unsafe(nil)); end

  # Invokes a series of steps +steps_text+. Example:
  #
  #   invoke(%Q{
  #     Given I have 8 cukes in my belly
  #     Then I should not be thirsty
  #   })
  #
  # source://cucumber//lib/cucumber/runtime/support_code.rb#61
  def invoke_dynamic_steps(steps_text, iso_code, _location); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#79
  def load_files!(files); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#87
  def load_files_from_paths(paths); end

  # Returns the value of attribute registry.
  #
  # source://cucumber//lib/cucumber/runtime/support_code.rb#42
  def registry; end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#101
  def step_definitions; end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#92
  def unmatched_step_definitions; end

  private

  # source://cucumber//lib/cucumber/runtime/support_code.rb#143
  def load_file(file); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#148
  def log; end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#139
  def step_matches(step_name); end
end

# source://cucumber//lib/cucumber/runtime/support_code.rb#15
class Cucumber::Runtime::SupportCode::StepInvoker
  # @return [StepInvoker] a new instance of StepInvoker
  #
  # source://cucumber//lib/cucumber/runtime/support_code.rb#16
  def initialize(support_code); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#29
  def multiline_arg(step, location); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#24
  def step(step); end

  # source://cucumber//lib/cucumber/runtime/support_code.rb#20
  def steps(steps); end
end

# source://cucumber//lib/cucumber/runtime/user_interface.rb#7
module Cucumber::Runtime::UserInterface
  # Suspends execution and prompts +question+ to the console (STDOUT).
  # An operator (manual tester) can then enter a line of text and hit
  # <ENTER>. The entered text is returned, and both +question+ and
  # the result is added to the output using #puts.
  #
  # If you want a beep to happen (to grab the manual tester's attention),
  # just prepend ASCII character 7 to the question:
  #
  #   ask("#{7.chr}How many cukes are in the external system?")
  #
  # If that doesn't issue a beep, you can shell out to something else
  # that makes a sound before invoking #ask.
  #
  # source://cucumber//lib/cucumber/runtime/user_interface.rb#23
  def ask(question, timeout_seconds); end

  # Embed +src+ of MIME type +mime_type+ into the output. The +src+ argument may
  # be a path to a file, or if it's an image it may also be a Base64 encoded image.
  # The embedded data may or may not be ignored, depending on what kind of formatter(s) are active.
  #
  # source://cucumber//lib/cucumber/runtime/user_interface.rb#44
  def attach(src, media_type); end

  # Sets the attribute visitor
  #
  # @param value the value to set the attribute visitor to.
  #
  # source://cucumber//lib/cucumber/runtime/user_interface.rb#8
  def visitor=(_arg0); end

  private

  # source://cucumber//lib/cucumber/runtime/user_interface.rb#58
  def jruby_gets(timeout_seconds); end

  # source://cucumber//lib/cucumber/runtime/user_interface.rb#50
  def mri_gets(timeout_seconds); end
end

# source://cucumber//lib/cucumber/step_match.rb#99
class Cucumber::SkippingStepMatch
  # source://cucumber//lib/cucumber/step_match.rb#100
  def activate(test_step); end
end

# TODO: pointless, ancient, kill with fire.
# Only used for keeping track of available and invoked step definitions
# in a way that also works for other programming languages (i.e. cuke4duke)
# Used for reporting purposes only (usage formatter).
#
# source://cucumber//lib/cucumber/step_definition_light.rb#8
class Cucumber::StepDefinitionLight
  # @return [StepDefinitionLight] a new instance of StepDefinitionLight
  #
  # source://cucumber//lib/cucumber/step_definition_light.rb#11
  def initialize(regexp_source, location); end

  # @return [Boolean]
  #
  # source://cucumber//lib/cucumber/step_definition_light.rb#16
  def eql?(other); end

  # source://cucumber//lib/cucumber/step_definition_light.rb#20
  def hash; end

  # Returns the value of attribute location.
  #
  # source://cucumber//lib/cucumber/step_definition_light.rb#9
  def location; end

  # Returns the value of attribute regexp_source.
  #
  # source://cucumber//lib/cucumber/step_definition_light.rb#9
  def regexp_source; end
end

# source://cucumber//lib/cucumber/step_definitions.rb#4
class Cucumber::StepDefinitions
  # @return [StepDefinitions] a new instance of StepDefinitions
  #
  # source://cucumber//lib/cucumber/step_definitions.rb#5
  def initialize(configuration = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/step_definitions.rb#11
  def to_json(obj = T.unsafe(nil)); end
end

# Represents the match found between a Test Step and its activation
#
# source://cucumber//lib/cucumber/step_match.rb#7
class Cucumber::StepMatch
  # @return [StepMatch] a new instance of StepMatch
  #
  # source://cucumber//lib/cucumber/step_match.rb#10
  def initialize(step_definition, step_name, step_arguments); end

  # source://cucumber//lib/cucumber/step_match.rb#25
  def activate(test_step); end

  # source://cucumber//lib/cucumber/step_match.rb#18
  def args; end

  # source://cucumber//lib/cucumber/step_match.rb#64
  def backtrace_line; end

  # source://cucumber//lib/cucumber/step_match.rb#60
  def file_colon_line; end

  # Formats the matched arguments of the associated Step. This method
  # is usually called from visitors, which render output.
  #
  # The +format+ can either be a String or a Proc.
  #
  # If it is a String it should be a format string according to
  # <tt>Kernel#sprinf</tt>, for example:
  #
  #   '<span class="param">%s</span></tt>'
  #
  # If it is a Proc, it should take one argument and return the formatted
  # argument, for example:
  #
  #   lambda { |param| "[#{param}]" }
  #
  # source://cucumber//lib/cucumber/step_match.rb#52
  def format_args(format = T.unsafe(nil), &proc); end

  # source://cucumber//lib/cucumber/step_match.rb#94
  def inspect; end

  # source://cucumber//lib/cucumber/step_match.rb#31
  def invoke(multiline_arg); end

  # source://cucumber//lib/cucumber/step_match.rb#56
  def location; end

  # source://cucumber//lib/cucumber/step_match.rb#72
  def replace_arguments(string, step_arguments, format); end

  # source://cucumber//lib/cucumber/step_match.rb#8
  def step_arguments; end

  # source://cucumber//lib/cucumber/step_match.rb#8
  def step_definition; end

  # source://cucumber//lib/cucumber/step_match.rb#68
  def text_length; end
end

# source://cucumber//lib/cucumber/step_match_search.rb#4
module Cucumber::StepMatchSearch
  class << self
    # source://cucumber//lib/cucumber/step_match_search.rb#5
    def new(search, configuration); end
  end
end

# source://cucumber//lib/cucumber/step_match_search.rb#14
class Cucumber::StepMatchSearch::AssertUnambiguousMatch
  # @return [AssertUnambiguousMatch] a new instance of AssertUnambiguousMatch
  #
  # source://cucumber//lib/cucumber/step_match_search.rb#15
  def initialize(search, configuration); end

  # @raise [Cucumber::Ambiguous]
  #
  # source://cucumber//lib/cucumber/step_match_search.rb#20
  def call(step_name); end
end

# source://cucumber//lib/cucumber/step_match_search.rb#28
class Cucumber::StepMatchSearch::AttemptToGuessAmbiguousMatch
  # @return [AttemptToGuessAmbiguousMatch] a new instance of AttemptToGuessAmbiguousMatch
  #
  # source://cucumber//lib/cucumber/step_match_search.rb#29
  def initialize(search); end

  # source://cucumber//lib/cucumber/step_match_search.rb#33
  def call(step_name); end

  private

  # source://cucumber//lib/cucumber/step_match_search.rb#39
  def best_matches(_step_name, step_matches); end
end

# source://cucumber//lib/cucumber/step_match_search.rb#57
class Cucumber::StepMatchSearch::CachesStepMatch < ::SimpleDelegator
  # source://cucumber//lib/cucumber/step_match_search.rb#58
  def call(step_name); end
end

# source://cucumber//lib/cucumber/errors.rb#47
class Cucumber::TagExcess < ::StandardError
  # @return [TagExcess] a new instance of TagExcess
  #
  # source://cucumber//lib/cucumber/errors.rb#48
  def initialize(messages); end
end

# source://cucumber//lib/cucumber/term/ansicolor.rb#4
module Cucumber::Term; end

# This module allows to colorize text using ANSI escape sequences.
#
# Include the module in your class and use its methods to colorize text.
#
# Example:
#
#   require 'cucumber/term/ansicolor'
#
#   class MyFormatter
#     include Cucumber::Term::ANSIColor
#
#     def initialize(config)
#       $stdout.puts yellow("Initializing formatter")
#       $stdout.puts green("Coloring is active \o/") if Cucumber::Term::ANSIColor.coloring?
#       $stdout.puts grey("Feature path:") + blue(bold(config.feature_dirs))
#     end
#   end
#
# To see what colours and effects are available, just run this in your shell:
#
#   ruby -e "require 'rubygems'; require 'cucumber/term/ansicolor'; puts Cucumber::Term::ANSIColor.attributes"
#
# source://cucumber//lib/cucumber/term/ansicolor.rb#27
module Cucumber::Term::ANSIColor
  # Returns an array of all Cucumber::Term::ANSIColor attributes as symbols.
  #
  # source://cucumber//lib/cucumber/term/ansicolor.rb#117
  def attributes; end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def black(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def blink(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def blue(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def bold(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def clear(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def concealed(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def cyan(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def dark(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def green(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def grey(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def italic(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def magenta(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def negative(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_black(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_blue(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_cyan(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_green(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_magenta(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_red(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_white(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def on_yellow(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def rapid_blink(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def red(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def reset(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def strikethrough(text = T.unsafe(nil), &block); end

  # Returns an uncolored version of the string
  # ANSI-sequences are stripped from the string.
  #
  # source://cucumber//lib/cucumber/term/ansicolor.rb#104
  def uncolored(text = T.unsafe(nil)); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def underline(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def underscore(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def white(text = T.unsafe(nil), &block); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#89
  def yellow(text = T.unsafe(nil), &block); end

  private

  # source://cucumber//lib/cucumber/term/ansicolor.rb#123
  def colorize(text, color_code); end

  # source://cucumber//lib/cucumber/term/ansicolor.rb#130
  def uncolorize(string); end

  class << self
    # Turns the coloring on or off globally, so you can easily do
    # this for example:
    #  Cucumber::Term::ANSIColor::coloring = $stdout.isatty
    #
    # source://cucumber//lib/cucumber/term/ansicolor.rb#74
    def coloring; end

    # Turns the coloring on or off globally, so you can easily do
    # this for example:
    #  Cucumber::Term::ANSIColor::coloring = $stdout.isatty
    #
    # source://cucumber//lib/cucumber/term/ansicolor.rb#74
    def coloring=(_arg0); end

    # Turns the coloring on or off globally, so you can easily do
    # this for example:
    #  Cucumber::Term::ANSIColor::coloring = $stdout.isatty
    # Returns true, if the coloring function of this module
    # is switched on, false otherwise.
    #
    # source://cucumber//lib/cucumber/term/ansicolor.rb#74
    def coloring?; end

    # @private
    #
    # source://cucumber//lib/cucumber/term/ansicolor.rb#80
    def included(klass); end
  end
end

# :stopdoc:
#
# source://cucumber//lib/cucumber/term/ansicolor.rb#29
Cucumber::Term::ANSIColor::ATTRIBUTES = T.let(T.unsafe(nil), Array)

# source://cucumber//lib/cucumber/term/ansicolor.rb#61
Cucumber::Term::ANSIColor::ATTRIBUTE_NAMES = T.let(T.unsafe(nil), Array)

# Regular expression that is used to scan for ANSI-sequences while
# uncoloring strings.
#
# source://cucumber//lib/cucumber/term/ansicolor.rb#66
Cucumber::Term::ANSIColor::COLORED_REGEXP = T.let(T.unsafe(nil), Regexp)

# source://cucumber//lib/cucumber/term/banner.rb#5
module Cucumber::Term::Banner
  # source://cucumber//lib/cucumber/term/banner.rb#6
  def display_banner(lines, io, border_modifiers = T.unsafe(nil)); end
end

# source://cucumber//lib/cucumber/term/banner.rb#10
class Cucumber::Term::Banner::BannerMaker
  include ::Cucumber::Term::ANSIColor

  # source://cucumber//lib/cucumber/term/banner.rb#13
  def display_banner(lines, io, border_modifiers); end

  private

  # source://cucumber//lib/cucumber/term/banner.rb#37
  def apply_modifiers(str, modifiers); end

  # source://cucumber//lib/cucumber/term/banner.rb#27
  def display_line(line); end

  # source://cucumber//lib/cucumber/term/banner.rb#31
  def display_span(span); end

  # source://cucumber//lib/cucumber/term/banner.rb#43
  def line_length(line); end

  # source://cucumber//lib/cucumber/term/banner.rb#51
  def span_length(span); end
end

# Raised when there is no matching StepDefinition for a step.
#
# source://cucumber//lib/cucumber/errors.rb#7
class Cucumber::Undefined < ::Cucumber::Core::Test::Result::Undefined
  class << self
    # source://cucumber//lib/cucumber/errors.rb#8
    def from(result, step_name); end

    # source://cucumber//lib/cucumber/errors.rb#18
    def with_prefix(step_name); end
  end
end

# Raised when there is no matching StepDefinition for a step called
# from within another step definition.
#
# source://cucumber//lib/cucumber/errors.rb#25
class Cucumber::UndefinedDynamicStep < ::StandardError
  # @return [UndefinedDynamicStep] a new instance of UndefinedDynamicStep
  #
  # source://cucumber//lib/cucumber/errors.rb#26
  def initialize(step_name); end
end

# source://cucumber//lib/cucumber/platform.rb#10
Cucumber::VERSION = T.let(T.unsafe(nil), String)

# source://cucumber-core/11.0.0/lib/cucumber/core/platform.rb#10
Cucumber::WINDOWS = T.let(T.unsafe(nil), T.untyped)

# source://cucumber-core/11.0.0/lib/cucumber/core/platform.rb#12
Cucumber::WINDOWS_MRI = T.let(T.unsafe(nil), T.untyped)