# typed: true

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

module RuboCop; end
module RuboCop::Cop; end
module RuboCop::Cop::Capybara; end

module RuboCop::Cop::Capybara::CapybaraHelp
  private

  def common_attributes?(selector); end
  def include_option?(node, option); end
  def replaceable_attributes?(attrs); end
  def replaceable_element?(node, element, attrs); end
  def replaceable_option?(node, locator, element); end
  def replaceable_pseudo_class?(pseudo_class, locator); end
  def replaceable_pseudo_class_not?(locator); end
  def replaceable_pseudo_classes?(locator); end
  def replaceable_to_link?(node, attrs); end

  class << self
    def common_attributes?(selector); end
    def include_option?(node, option); end
    def replaceable_attributes?(attrs); end
    def replaceable_element?(node, element, attrs); end
    def replaceable_option?(node, locator, element); end
    def replaceable_pseudo_class?(pseudo_class, locator); end
    def replaceable_pseudo_class_not?(locator); end
    def replaceable_pseudo_classes?(locator); end
    def replaceable_to_link?(node, attrs); end
  end
end

RuboCop::Cop::Capybara::CapybaraHelp::COMMON_OPTIONS = T.let(T.unsafe(nil), Array)
RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_OPTIONS = T.let(T.unsafe(nil), Hash)
RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_PSEUDO_CLASSES = T.let(T.unsafe(nil), Array)

module RuboCop::Cop::Capybara::CssSelector
  private

  def attribute?(selector); end
  def attributes(selector); end
  def classes(selector); end
  def id(selector); end
  def id?(selector); end
  def multiple_selectors?(selector); end
  def normalize_value(value); end
  def pseudo_classes(selector); end

  class << self
    def attribute?(selector); end
    def attributes(selector); end
    def classes(selector); end
    def id(selector); end
    def id?(selector); end
    def multiple_selectors?(selector); end
    def normalize_value(value); end
    def pseudo_classes(selector); end
  end
end

class RuboCop::Cop::Capybara::CurrentPathExpectation < ::RuboCop::Cop::Base
  extend ::RuboCop::Cop::AutoCorrector

  def as_is_matcher(param0 = T.unsafe(nil)); end
  def expectation_set_on_current_path(param0 = T.unsafe(nil)); end
  def on_send(node); end
  def regexp_node_matcher(param0 = T.unsafe(nil)); end

  private

  def add_ignore_query_options(corrector, node); end
  def autocorrect(corrector, node); end
  def convert_regexp_node_to_literal(corrector, matcher_node, regexp_node); end
  def regexp_node_to_regexp_expr(regexp_node); end
  def rewrite_expectation(corrector, node, to_symbol, matcher_node); end

  class << self
    def autocorrect_incompatible_with; end
  end
end

RuboCop::Cop::Capybara::CurrentPathExpectation::MSG = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::CurrentPathExpectation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

class RuboCop::Cop::Capybara::MatchStyle < ::RuboCop::Cop::Base
  extend ::RuboCop::Cop::AutoCorrector

  def on_send(node); end

  private

  def message(node); end
end

RuboCop::Cop::Capybara::MatchStyle::MSG = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::MatchStyle::PREFERRED_METHOD = T.let(T.unsafe(nil), Hash)
RuboCop::Cop::Capybara::MatchStyle::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

class RuboCop::Cop::Capybara::NegationMatcher < ::RuboCop::Cop::Base
  include ::RuboCop::Cop::ConfigurableEnforcedStyle
  extend ::RuboCop::Cop::AutoCorrector

  def have_no?(param0 = T.unsafe(nil)); end
  def not_to?(param0 = T.unsafe(nil)); end
  def on_send(node); end

  private

  def message(matcher); end
  def offense?(node); end
  def offense_range(node); end
  def replaced_matcher(matcher); end
  def replaced_runner; end
end

RuboCop::Cop::Capybara::NegationMatcher::CAPYBARA_MATCHERS = T.let(T.unsafe(nil), Array)
RuboCop::Cop::Capybara::NegationMatcher::MSG = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::NegationMatcher::NEGATIVE_MATCHERS = T.let(T.unsafe(nil), Set)
RuboCop::Cop::Capybara::NegationMatcher::POSITIVE_MATCHERS = T.let(T.unsafe(nil), Set)
RuboCop::Cop::Capybara::NegationMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)

class RuboCop::Cop::Capybara::SpecificActions < ::RuboCop::Cop::Base
  def click_on_selector(param0 = T.unsafe(nil)); end
  def on_send(node); end

  private

  def good_action(action); end
  def last_selector(arg); end
  def message(action, selector); end
  def offense_range(node, receiver); end
  def replaceable?(node, arg, action); end
  def replaceable_attributes?(selector); end
  def specific_action(selector); end
  def supported_selector?(selector); end
end

RuboCop::Cop::Capybara::SpecificActions::MSG = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::SpecificActions::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
RuboCop::Cop::Capybara::SpecificActions::SPECIFIC_ACTION = T.let(T.unsafe(nil), Hash)

class RuboCop::Cop::Capybara::SpecificFinders < ::RuboCop::Cop::Base
  include ::RuboCop::Cop::RangeHelp
  extend ::RuboCop::Cop::AutoCorrector

  def class_options(param0); end
  def find_argument(param0 = T.unsafe(nil)); end
  def on_send(node); end

  private

  def append_options(classes, options); end
  def attribute?(arg); end
  def autocorrect_classes(corrector, node, classes); end
  def end_pos(node); end
  def keyword_argument_class(classes); end
  def offense_range(node); end
  def on_attr(node, arg); end
  def on_id(node, arg); end
  def register_offense(node, id, classes = T.unsafe(nil)); end
  def replaced_arguments(arg, id); end
  def to_options(attrs); end
end

RuboCop::Cop::Capybara::SpecificFinders::MSG = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::SpecificFinders::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

class RuboCop::Cop::Capybara::SpecificMatcher < ::RuboCop::Cop::Base
  def first_argument(param0 = T.unsafe(nil)); end
  def on_send(node); end

  private

  def good_matcher(node, matcher); end
  def message(node, matcher); end
  def replaceable?(node, arg, matcher); end
  def replaceable_attributes?(selector); end
  def specific_matcher(arg); end
end

RuboCop::Cop::Capybara::SpecificMatcher::MSG = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::SpecificMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
RuboCop::Cop::Capybara::SpecificMatcher::SPECIFIC_MATCHER = T.let(T.unsafe(nil), Hash)

class RuboCop::Cop::Capybara::VisibilityMatcher < ::RuboCop::Cop::Base
  def on_send(node); end
  def visible_false?(param0 = T.unsafe(nil)); end
  def visible_true?(param0 = T.unsafe(nil)); end

  private

  def capybara_matcher?(method_name); end
end

RuboCop::Cop::Capybara::VisibilityMatcher::CAPYBARA_MATCHER_METHODS = T.let(T.unsafe(nil), Array)
RuboCop::Cop::Capybara::VisibilityMatcher::MSG_FALSE = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::VisibilityMatcher::MSG_TRUE = T.let(T.unsafe(nil), String)
RuboCop::Cop::Capybara::VisibilityMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
RuboCop::Cop::IgnoredMethods = RuboCop::Cop::AllowedMethods
RuboCop::Cop::IgnoredPattern = RuboCop::Cop::AllowedPattern
RuboCop::NodePattern = RuboCop::AST::NodePattern
RuboCop::ProcessedSource = RuboCop::AST::ProcessedSource
RuboCop::Token = RuboCop::AST::Token
