diff --git a/Library/Homebrew/sorbet/rbi/gems/parallel@1.19.2.rbi b/Library/Homebrew/sorbet/rbi/gems/parallel@1.20.0.rbi
similarity index 93%
rename from Library/Homebrew/sorbet/rbi/gems/parallel@1.19.2.rbi
rename to Library/Homebrew/sorbet/rbi/gems/parallel@1.20.0.rbi
index 6478f47ee622e8535282e50be94b53f83f686112..2040146562a3d7e6a0e09b174959bb58bf9bf695 100644
--- a/Library/Homebrew/sorbet/rbi/gems/parallel@1.19.2.rbi
+++ b/Library/Homebrew/sorbet/rbi/gems/parallel@1.20.0.rbi
@@ -1,6 +1,6 @@
 # DO NOT EDIT MANUALLY
 # This is an autogenerated file for types exported from the `parallel` gem.
-# Please instead update this file by running `tapioca generate --exclude json`.
+# Please instead update this file by running `tapioca sync`.
 
 # typed: true
 
@@ -26,7 +26,6 @@ module Parallel
     def call_with_index(item, index, options, &block); end
     def create_workers(job_factory, options, &block); end
     def extract_count_from_options(options); end
-    def handle_exception(exception, results); end
     def process_incoming_jobs(read, write, job_factory, options, &block); end
     def replace_worker(job_factory, workers, i, options, blk); end
     def with_instrumentation(item, index, options); end
@@ -38,6 +37,9 @@ module Parallel
 end
 
 class Parallel::Break < ::StandardError
+  def initialize(value = T.unsafe(nil)); end
+
+  def value; end
 end
 
 class Parallel::DeadWorker < ::StandardError
@@ -63,7 +65,7 @@ class Parallel::JobFactory
   def queue_wrapper(array); end
 end
 
-class Parallel::Kill < ::StandardError
+class Parallel::Kill < ::Parallel::Break
 end
 
 module Parallel::ProcessorCount
@@ -105,7 +107,7 @@ class Parallel::Worker
   def read; end
   def stop; end
   def thread; end
-  def thread=(_); end
+  def thread=(_arg0); end
   def work(data); end
   def write; end
 
diff --git a/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.8.0.rbi b/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@1.1.1.rbi
similarity index 95%
rename from Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.8.0.rbi
rename to Library/Homebrew/sorbet/rbi/gems/rubocop-ast@1.1.1.rbi
index 658ec101ffdb0315c3dd2282dc2b069b0927e9a2..78f98d43c1dcf05a6f36359489341e631e792dac 100644
--- a/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.8.0.rbi
+++ b/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@1.1.1.rbi
@@ -929,10 +929,10 @@ class RuboCop::AST::NodePattern::Compiler::Debug::Colorizer::Result < ::Struct
   def color_map_for(node, color); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -1078,7 +1078,7 @@ RuboCop::AST::NodePattern::Lexer::Error = RuboCop::AST::NodePattern::LexerRex::S
 class RuboCop::AST::NodePattern::LexerRex
   def action; end
   def filename; end
-  def filename=(_); end
+  def filename=(_arg0); end
   def location; end
   def match; end
   def matches; end
@@ -1087,11 +1087,15 @@ class RuboCop::AST::NodePattern::LexerRex
   def parse_file(path); end
   def scanner_class; end
   def ss; end
-  def ss=(_); end
+  def ss=(_arg0); end
   def state; end
-  def state=(_); end
+  def state=(_arg0); end
 end
 
+RuboCop::AST::NodePattern::LexerRex::CALL = T.let(T.unsafe(nil), Regexp)
+
+RuboCop::AST::NodePattern::LexerRex::CONST_NAME = T.let(T.unsafe(nil), Regexp)
+
 RuboCop::AST::NodePattern::LexerRex::IDENTIFIER = T.let(T.unsafe(nil), Regexp)
 
 class RuboCop::AST::NodePattern::LexerRex::LexerError < ::StandardError
@@ -1340,6 +1344,8 @@ RuboCop::AST::NodePattern::Sets::SET_ADD_DEPENDENCY_ADD_RUNTIME_DEPENDENCY_ADD_D
 
 RuboCop::AST::NodePattern::Sets::SET_ALL_CONTEXT = T.let(T.unsafe(nil), Set)
 
+RuboCop::AST::NodePattern::Sets::SET_AND_RETURN_AND_RAISE_AND_THROW_ETC = T.let(T.unsafe(nil), Set)
+
 RuboCop::AST::NodePattern::Sets::SET_ANY_ALL_NORETURN_ETC = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_ANY_INSTANCE_ALLOW_ANY_INSTANCE_OF_EXPECT_ANY_INSTANCE_OF = T.let(T.unsafe(nil), Set)
@@ -1362,8 +1368,6 @@ RuboCop::AST::NodePattern::Sets::SET_CALL_RUN = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_CAPTURE2_CAPTURE2E_CAPTURE3_ETC = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_CHANNEL_CONTROLLER_HELPER_ETC = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_CIPHER_DIGEST = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_CLASS_EVAL_INSTANCE_EVAL = T.let(T.unsafe(nil), Set)
@@ -1386,18 +1390,6 @@ RuboCop::AST::NodePattern::Sets::SET_DEBUGGER_BYEBUG_REMOTE_BYEBUG = T.let(T.uns
 
 RuboCop::AST::NodePattern::Sets::SET_DEFINE_METHOD_DEFINE_SINGLETON_METHOD = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_CONTEXT_FEATURE_ETC = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_CONTEXT_FEATURE_ETC_2 = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_CONTEXT_FEATURE_ETC_3 = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_CONTEXT_FEATURE_ETC_4 = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_CONTEXT_FEATURE_ETC_5 = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_CONTEXT_FEATURE_ETC_6 = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_DESCRIBE_FEATURE = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_DOUBLE_SPY = T.let(T.unsafe(nil), Set)
@@ -1418,12 +1410,8 @@ RuboCop::AST::NodePattern::Sets::SET_EXACTLY_AT_LEAST_AT_MOST = T.let(T.unsafe(n
 
 RuboCop::AST::NodePattern::Sets::SET_EXPECT_ALLOW = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_EXPECT_IS_EXPECTED_EXPECT_ANY_INSTANCE_OF = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_FACTORYGIRL_FACTORYBOT = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_FDESCRIBE_FCONTEXT_FFEATURE_ETC = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_FIRST_LAST_POP_ETC = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_FIRST_LAST__ETC = T.let(T.unsafe(nil), Set)
@@ -1452,16 +1440,6 @@ RuboCop::AST::NodePattern::Sets::SET_IO_FILE = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_IS_EXPECTED_SHOULD_SHOULD_NOT = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_IT_BEHAVES_LIKE_IT_SHOULD_BEHAVE_LIKE_INCLUDE_EXAMPLES = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_IT_BEHAVES_LIKE_IT_SHOULD_BEHAVE_LIKE_INCLUDE_EXAMPLES_INCLUDE_CONTEXT = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_IT_SPECIFY_EXAMPLE_ETC = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_IT_SPECIFY_EXAMPLE_ETC_2 = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_IT_SPECIFY_EXAMPLE_ETC_3 = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_KEYS_VALUES = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_KEY_HAS_KEY_FETCH_ETC = T.let(T.unsafe(nil), Set)
@@ -1470,10 +1448,6 @@ RuboCop::AST::NodePattern::Sets::SET_LAST_FIRST = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_LENGTH_SIZE = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_LET_LET = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_LET_LET_SUBJECT_SUBJECT = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_LOAD_RESTORE = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_MAP_COLLECT = T.let(T.unsafe(nil), Set)
@@ -1488,18 +1462,14 @@ RuboCop::AST::NodePattern::Sets::SET_NEW_OPEN = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_NIL_ = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_PENDING_XIT_XSPECIFY_ETC = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_PIPELINE_PIPELINE_R_PIPELINE_RW_ETC = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_PREPEND_BEFORE_BEFORE_APPEND_BEFORE_ETC = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_PREPEND_BEFORE_BEFORE_APPEND_BEFORE_ETC_2 = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED_PUBLIC = T.let(T.unsafe(nil), Set)
 
+RuboCop::AST::NodePattern::Sets::SET_PROC_LAMBDA = T.let(T.unsafe(nil), Set)
+
 RuboCop::AST::NodePattern::Sets::SET_PROP_CONST = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_PRY_REMOTE_PRY_PRY_REMOTE_CONSOLE = T.let(T.unsafe(nil), Set)
@@ -1520,23 +1490,21 @@ RuboCop::AST::NodePattern::Sets::SET_RECEIVE_MESSAGE_CHAIN_STUB_CHAIN = T.let(T.
 
 RuboCop::AST::NodePattern::Sets::SET_RECEIVE_RECEIVE_MESSAGES_RECEIVE_MESSAGE_CHAIN_HAVE_RECEIVED = T.let(T.unsafe(nil), Set)
 
+RuboCop::AST::NodePattern::Sets::SET_RECEIVE_RECEIVE_MESSAGE_CHAIN = T.let(T.unsafe(nil), Set)
+
 RuboCop::AST::NodePattern::Sets::SET_REDUCE_INJECT = T.let(T.unsafe(nil), Set)
 
+RuboCop::AST::NodePattern::Sets::SET_REJECT_REJECT = T.let(T.unsafe(nil), Set)
+
 RuboCop::AST::NodePattern::Sets::SET_REQUIRE_REQUIRE_RELATIVE = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_SAVE_AND_OPEN_PAGE_SAVE_AND_OPEN_SCREENSHOT_SAVE_SCREENSHOT = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_SAVE_AND_OPEN_PAGE_SAVE_AND_OPEN_SCREENSHOT = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_SELECT_FILTER_FIND_ALL_REJECT = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_SEND_PUBLIC_SEND___SEND__ = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_SHARED_CONTEXT = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_SHARED_EXAMPLES_SHARED_EXAMPLES_FOR = T.let(T.unsafe(nil), Set)
-
-RuboCop::AST::NodePattern::Sets::SET_SHARED_EXAMPLES_SHARED_EXAMPLES_FOR_SHARED_CONTEXT = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_SELECT_SELECT = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_SHARED_EXAMPLES_SHARED_EXAMPLES_FOR_SHARED_CONTEXT_ETC = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_SEND_PUBLIC_SEND___SEND__ = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_SHOULD_SHOULD_NOT = T.let(T.unsafe(nil), Set)
 
@@ -1556,18 +1524,14 @@ RuboCop::AST::NodePattern::Sets::SET_START_WITH_STARTS_WITH_END_WITH_ENDS_WITH =
 
 RuboCop::AST::NodePattern::Sets::SET_STRUCT_CLASS = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_SUBJECT_SUBJECT = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_SUCC_PRED_NEXT = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_TEMPFILE_STRINGIO = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_TIME_DATETIME = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_TO_ENUM_ENUM_FOR = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_TO_I_TO_F_TO_C = T.let(T.unsafe(nil), Set)
 
-RuboCop::AST::NodePattern::Sets::SET_TO_TO_NOT_NOT_TO = T.let(T.unsafe(nil), Set)
-
 RuboCop::AST::NodePattern::Sets::SET_TRUE_FALSE = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET_TYPE_TEMPLATE_TYPE_MEMBER = T.let(T.unsafe(nil), Set)
@@ -1598,6 +1562,8 @@ RuboCop::AST::NodePattern::Sets::SET___6 = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET___7 = T.let(T.unsafe(nil), Set)
 
+RuboCop::AST::NodePattern::Sets::SET___8 = T.let(T.unsafe(nil), Set)
+
 RuboCop::AST::NodePattern::Sets::SET____ = T.let(T.unsafe(nil), Set)
 
 RuboCop::AST::NodePattern::Sets::SET____ETC = T.let(T.unsafe(nil), Set)
diff --git a/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@1.44.1.rbi b/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@2.0.0.rbi
similarity index 88%
rename from Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@1.44.1.rbi
rename to Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@2.0.0.rbi
index c4a8df782f43210eb6448f1dad5737a3c04fd63c..ccfba8e7f9f4fbe92e3fa4c5ef44e93dbcb29331 100644
--- a/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@1.44.1.rbi
+++ b/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@2.0.0.rbi
@@ -54,6 +54,10 @@ class RuboCop::Cop::RSpec::AlignLeftLetBrace < ::RuboCop::Cop::RSpec::Base
 
   def on_new_investigation; end
 
+  private
+
+  def token_aligner; end
+
   class << self
     def autocorrect_incompatible_with; end
   end
@@ -66,6 +70,10 @@ class RuboCop::Cop::RSpec::AlignRightLetBrace < ::RuboCop::Cop::RSpec::Base
 
   def on_new_investigation; end
 
+  private
+
+  def token_aligner; end
+
   class << self
     def autocorrect_incompatible_with; end
   end
@@ -97,27 +105,15 @@ RuboCop::Cop::RSpec::AroundBlock::MSG_UNUSED_ARG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::Base < ::RuboCop::Cop::Base
   include(::RuboCop::RSpec::Language)
-  include(::RuboCop::RSpec::Language::NodePattern)
-
-  def relevant_file?(file); end
+  extend(::RuboCop::RSpec::Language::NodePattern)
 
-  private
-
-  def all_cops_config; end
-  def relevant_rubocop_rspec_file?(file); end
-  def rspec_pattern; end
-  def rspec_pattern_config; end
-  def rspec_pattern_config?; end
+  def on_new_investigation; end
 
   class << self
     def inherited(subclass); end
   end
 end
 
-RuboCop::Cop::RSpec::Base::DEFAULT_CONFIGURATION = T.let(T.unsafe(nil), Hash)
-
-RuboCop::Cop::RSpec::Base::DEFAULT_PATTERN_RE = T.let(T.unsafe(nil), Regexp)
-
 class RuboCop::Cop::RSpec::Be < ::RuboCop::Cop::RSpec::Base
   def be_without_args(param0 = T.unsafe(nil)); end
   def on_send(node); end
@@ -226,10 +222,8 @@ end
 
 RuboCop::Cop::RSpec::ContextWording::MSG = T.let(T.unsafe(nil), String)
 
-RuboCop::Cop::RSpec::Cop = RuboCop::Cop::RSpec::Base
-
 class RuboCop::Cop::RSpec::DescribeClass < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::TopLevelGroup)
+  include(::RuboCop::Cop::RSpec::TopLevelGroup)
 
   def example_group_with_ignored_metadata?(param0 = T.unsafe(nil)); end
   def not_a_const_described(param0 = T.unsafe(nil)); end
@@ -246,7 +240,7 @@ end
 RuboCop::Cop::RSpec::DescribeClass::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::DescribeMethod < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::TopLevelGroup)
+  include(::RuboCop::Cop::RSpec::TopLevelGroup)
 
   def on_top_level_group(node); end
   def second_argument(param0 = T.unsafe(nil)); end
@@ -320,8 +314,6 @@ class RuboCop::Cop::RSpec::EmptyExampleGroup < ::RuboCop::Cop::RSpec::Base
   private
 
   def conditionals_with_examples?(body); end
-  def custom_include?(method_name); end
-  def custom_include_methods; end
   def examples_in_branches?(if_node); end
   def offensive?(body); end
 end
@@ -339,9 +331,9 @@ end
 RuboCop::Cop::RSpec::EmptyHook::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::EmptyLineAfterExample < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::FinalEndLocation)
+  include(::RuboCop::Cop::RSpec::FinalEndLocation)
   include(::RuboCop::Cop::RangeHelp)
-  include(::RuboCop::RSpec::EmptyLineSeparation)
+  include(::RuboCop::Cop::RSpec::EmptyLineSeparation)
   extend(::RuboCop::Cop::AutoCorrector)
 
   def allow_consecutive_one_liners?; end
@@ -355,9 +347,9 @@ end
 RuboCop::Cop::RSpec::EmptyLineAfterExample::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::EmptyLineAfterExampleGroup < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::FinalEndLocation)
+  include(::RuboCop::Cop::RSpec::FinalEndLocation)
   include(::RuboCop::Cop::RangeHelp)
-  include(::RuboCop::RSpec::EmptyLineSeparation)
+  include(::RuboCop::Cop::RSpec::EmptyLineSeparation)
   extend(::RuboCop::Cop::AutoCorrector)
 
   def on_block(node); end
@@ -366,9 +358,9 @@ end
 RuboCop::Cop::RSpec::EmptyLineAfterExampleGroup::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::EmptyLineAfterFinalLet < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::FinalEndLocation)
+  include(::RuboCop::Cop::RSpec::FinalEndLocation)
   include(::RuboCop::Cop::RangeHelp)
-  include(::RuboCop::RSpec::EmptyLineSeparation)
+  include(::RuboCop::Cop::RSpec::EmptyLineSeparation)
   extend(::RuboCop::Cop::AutoCorrector)
 
   def on_block(node); end
@@ -377,9 +369,9 @@ end
 RuboCop::Cop::RSpec::EmptyLineAfterFinalLet::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::EmptyLineAfterHook < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::FinalEndLocation)
+  include(::RuboCop::Cop::RSpec::FinalEndLocation)
   include(::RuboCop::Cop::RangeHelp)
-  include(::RuboCop::RSpec::EmptyLineSeparation)
+  include(::RuboCop::Cop::RSpec::EmptyLineSeparation)
   extend(::RuboCop::Cop::AutoCorrector)
 
   def on_block(node); end
@@ -388,9 +380,9 @@ end
 RuboCop::Cop::RSpec::EmptyLineAfterHook::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::EmptyLineAfterSubject < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::FinalEndLocation)
+  include(::RuboCop::Cop::RSpec::FinalEndLocation)
   include(::RuboCop::Cop::RangeHelp)
-  include(::RuboCop::RSpec::EmptyLineSeparation)
+  include(::RuboCop::Cop::RSpec::EmptyLineSeparation)
   extend(::RuboCop::Cop::AutoCorrector)
 
   def on_block(node); end
@@ -402,6 +394,16 @@ end
 
 RuboCop::Cop::RSpec::EmptyLineAfterSubject::MSG = T.let(T.unsafe(nil), String)
 
+module RuboCop::Cop::RSpec::EmptyLineSeparation
+  include(::RuboCop::Cop::RSpec::FinalEndLocation)
+  include(::RuboCop::Cop::RangeHelp)
+
+  def last_child?(node); end
+  def missing_separating_line(node); end
+  def missing_separating_line_offense(node); end
+  def offending_loc(last_line); end
+end
+
 class RuboCop::Cop::RSpec::ExampleLength < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableMax)
   include(::RuboCop::Cop::CodeLength)
@@ -638,7 +640,7 @@ RuboCop::Cop::RSpec::FactoryBot::FactoryClassName::ALLOWED_CONSTANTS = T.let(T.u
 RuboCop::Cop::RSpec::FactoryBot::FactoryClassName::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::FilePath < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::TopLevelGroup)
+  include(::RuboCop::Cop::RSpec::TopLevelGroup)
 
   def const_described(param0 = T.unsafe(nil)); end
   def on_top_level_example_group(node); end
@@ -662,6 +664,10 @@ end
 
 RuboCop::Cop::RSpec::FilePath::MSG = T.let(T.unsafe(nil), String)
 
+module RuboCop::Cop::RSpec::FinalEndLocation
+  def final_end_location(start_node); end
+end
+
 class RuboCop::Cop::RSpec::Focus < ::RuboCop::Cop::RSpec::Base
   def focusable_selector?(param0 = T.unsafe(nil)); end
   def focused_block?(param0 = T.unsafe(nil)); end
@@ -679,7 +685,6 @@ class RuboCop::Cop::RSpec::HookArgument < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
   extend(::RuboCop::Cop::AutoCorrector)
 
-  def hook?(param0 = T.unsafe(nil)); end
   def on_block(node); end
   def scoped_hook(param0 = T.unsafe(nil)); end
   def unscoped_hook(param0 = T.unsafe(nil)); end
@@ -800,7 +805,7 @@ end
 RuboCop::Cop::RSpec::InstanceSpy::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::InstanceVariable < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::TopLevelGroup)
+  include(::RuboCop::Cop::RSpec::TopLevelGroup)
 
   def custom_matcher?(param0 = T.unsafe(nil)); end
   def dynamic_class?(param0 = T.unsafe(nil)); end
@@ -816,17 +821,6 @@ end
 
 RuboCop::Cop::RSpec::InstanceVariable::MSG = T.let(T.unsafe(nil), String)
 
-class RuboCop::Cop::RSpec::InvalidPredicateMatcher < ::RuboCop::Cop::RSpec::Base
-  def invalid_predicate_matcher?(param0 = T.unsafe(nil)); end
-  def on_send(node); end
-
-  private
-
-  def predicate?(name); end
-end
-
-RuboCop::Cop::RSpec::InvalidPredicateMatcher::MSG = T.let(T.unsafe(nil), String)
-
 class RuboCop::Cop::RSpec::ItBehavesLike < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
   extend(::RuboCop::Cop::AutoCorrector)
@@ -967,7 +961,7 @@ end
 RuboCop::Cop::RSpec::MissingExampleGroupArgument::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::MultipleDescribes < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::TopLevelGroup)
+  include(::RuboCop::Cop::RSpec::TopLevelGroup)
 
   def on_top_level_group(node); end
 end
@@ -999,7 +993,7 @@ RuboCop::Cop::RSpec::MultipleExpectations::TRUE = T.let(T.unsafe(nil), Proc)
 
 class RuboCop::Cop::RSpec::MultipleMemoizedHelpers < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableMax)
-  include(::RuboCop::RSpec::Variable)
+  include(::RuboCop::Cop::RSpec::Variable)
 
   def on_block(node); end
   def on_new_investigation; end
@@ -1033,9 +1027,9 @@ end
 RuboCop::Cop::RSpec::MultipleSubjects::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::NamedSubject < ::RuboCop::Cop::RSpec::Base
+  def example_or_hook_block?(param0 = T.unsafe(nil)); end
   def ignored_shared_example?(node); end
   def on_block(node); end
-  def rspec_block?(param0 = T.unsafe(nil)); end
   def shared_example?(param0 = T.unsafe(nil)); end
   def subject_usage(param0); end
 end
@@ -1044,7 +1038,7 @@ RuboCop::Cop::RSpec::NamedSubject::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::NestedGroups < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableMax)
-  include(::RuboCop::RSpec::TopLevelGroup)
+  include(::RuboCop::Cop::RSpec::TopLevelGroup)
 
   def on_top_level_group(node); end
 
@@ -1103,10 +1097,6 @@ end
 
 RuboCop::Cop::RSpec::Pending::MSG = T.let(T.unsafe(nil), String)
 
-RuboCop::Cop::RSpec::Pending::PENDING = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::Cop::RSpec::Pending::SKIPPABLE = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
 class RuboCop::Cop::RSpec::PredicateMatcher < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
   include(::RuboCop::Cop::RSpec::InflectedHelper)
@@ -1379,7 +1369,7 @@ end
 RuboCop::Cop::RSpec::StubbedMock::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::RSpec::SubjectStub < ::RuboCop::Cop::RSpec::Base
-  include(::RuboCop::RSpec::TopLevelGroup)
+  include(::RuboCop::Cop::RSpec::TopLevelGroup)
 
   def message_expectation?(param0 = T.unsafe(nil), param1); end
   def message_expectation_matcher?(param0); end
@@ -1394,6 +1384,21 @@ end
 
 RuboCop::Cop::RSpec::SubjectStub::MSG = T.let(T.unsafe(nil), String)
 
+module RuboCop::Cop::RSpec::TopLevelGroup
+  extend(::RuboCop::AST::NodePattern::Macros)
+
+  def on_new_investigation; end
+  def top_level_groups; end
+
+  private
+
+  def on_top_level_example_group(_node); end
+  def on_top_level_group(_node); end
+  def root_node; end
+  def top_level_group?(node); end
+  def top_level_nodes(node); end
+end
+
 class RuboCop::Cop::RSpec::UnspecifiedException < ::RuboCop::Cop::RSpec::Base
   def block_with_args?(node); end
   def empty_exception_matcher?(node); end
@@ -1403,9 +1408,19 @@ end
 
 RuboCop::Cop::RSpec::UnspecifiedException::MSG = T.let(T.unsafe(nil), String)
 
+module RuboCop::Cop::RSpec::Variable
+  extend(::RuboCop::AST::NodePattern::Macros)
+
+  def variable_definition?(param0 = T.unsafe(nil)); end
+end
+
+RuboCop::Cop::RSpec::Variable::Helpers = RuboCop::RSpec::Language::Helpers
+
+RuboCop::Cop::RSpec::Variable::Subjects = RuboCop::RSpec::Language::Subjects
+
 class RuboCop::Cop::RSpec::VariableDefinition < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
-  include(::RuboCop::RSpec::Variable)
+  include(::RuboCop::Cop::RSpec::Variable)
 
   def on_send(node); end
 
@@ -1423,7 +1438,7 @@ class RuboCop::Cop::RSpec::VariableName < ::RuboCop::Cop::RSpec::Base
   include(::RuboCop::Cop::ConfigurableFormatting)
   include(::RuboCop::Cop::ConfigurableNaming)
   include(::RuboCop::Cop::IgnoredPattern)
-  include(::RuboCop::RSpec::Variable)
+  include(::RuboCop::Cop::RSpec::Variable)
 
   def on_send(node); end
 
@@ -1487,7 +1502,7 @@ module RuboCop::RSpec
 end
 
 class RuboCop::RSpec::AlignLetBrace
-  include(::RuboCop::RSpec::Language::NodePattern)
+  include(::RuboCop::RSpec::Language)
 
   def initialize(root, token); end
 
@@ -1505,12 +1520,10 @@ class RuboCop::RSpec::AlignLetBrace
   def token; end
 end
 
-RuboCop::RSpec::CONFIG = T.let(T.unsafe(nil), Hash)
-
 class RuboCop::RSpec::Concept
   include(::RuboCop::RSpec::Language)
-  include(::RuboCop::RSpec::Language::NodePattern)
   extend(::RuboCop::AST::NodePattern::Macros)
+  extend(::RuboCop::RSpec::Language::NodePattern)
 
   def initialize(node); end
 
@@ -1529,7 +1542,7 @@ end
 
 class RuboCop::RSpec::Corrector::MoveNode
   include(::RuboCop::Cop::RangeHelp)
-  include(::RuboCop::RSpec::FinalEndLocation)
+  include(::RuboCop::Cop::RSpec::FinalEndLocation)
 
   def initialize(node, corrector, processed_source); end
 
@@ -1546,16 +1559,6 @@ class RuboCop::RSpec::Corrector::MoveNode
   def source(node); end
 end
 
-module RuboCop::RSpec::EmptyLineSeparation
-  include(::RuboCop::RSpec::FinalEndLocation)
-  include(::RuboCop::Cop::RangeHelp)
-
-  def last_child?(node); end
-  def missing_separating_line(node); end
-  def missing_separating_line_offense(node); end
-  def offending_loc(last_line); end
-end
-
 class RuboCop::RSpec::Example < ::RuboCop::RSpec::Concept
   def definition; end
   def doc_string; end
@@ -1586,10 +1589,6 @@ module RuboCop::RSpec::FactoryBot
   end
 end
 
-module RuboCop::RSpec::FinalEndLocation
-  def final_end_location(start_node); end
-end
-
 class RuboCop::RSpec::Hook < ::RuboCop::RSpec::Concept
   def example?; end
   def extract_metadata(param0 = T.unsafe(nil)); end
@@ -1614,65 +1613,8 @@ module RuboCop::RSpec::Inject
 end
 
 module RuboCop::RSpec::Language
-end
-
-RuboCop::RSpec::Language::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::ExampleGroups
-end
-
-RuboCop::RSpec::Language::ExampleGroups::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::ExampleGroups::FOCUSED = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::ExampleGroups::GROUPS = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::ExampleGroups::SKIPPED = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::Examples
-end
-
-RuboCop::RSpec::Language::Examples::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::Examples::EXAMPLES = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::Examples::FOCUSED = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::Examples::PENDING = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::Examples::SKIPPED = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::Expectations
-end
-
-RuboCop::RSpec::Language::Expectations::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::Helpers
-end
-
-RuboCop::RSpec::Language::Helpers::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::Hooks
-end
-
-RuboCop::RSpec::Language::Hooks::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::Hooks::Scopes
-end
-
-RuboCop::RSpec::Language::Hooks::Scopes::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::Includes
-end
-
-RuboCop::RSpec::Language::Includes::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::Includes::CONTEXT = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::Includes::EXAMPLES = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::NodePattern
   extend(::RuboCop::AST::NodePattern::Macros)
+  extend(::RuboCop::RSpec::Language::NodePattern)
 
   def example?(param0 = T.unsafe(nil)); end
   def example_group?(param0 = T.unsafe(nil)); end
@@ -1684,89 +1626,40 @@ module RuboCop::RSpec::Language::NodePattern
   def shared_group?(param0 = T.unsafe(nil)); end
   def spec_group?(param0 = T.unsafe(nil)); end
   def subject?(param0 = T.unsafe(nil)); end
-end
 
-module RuboCop::RSpec::Language::Runners
+  class << self
+    def config; end
+    def config=(_arg0); end
+  end
 end
 
-RuboCop::RSpec::Language::Runners::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-class RuboCop::RSpec::Language::SelectorSet
-  def initialize(selectors); end
-
-  def +(other); end
-  def ==(other); end
-  def block_or_block_pass_pattern; end
-  def block_pass_pattern; end
-  def block_pattern; end
-  def include?(selector); end
-  def node_pattern; end
-  def node_pattern_union; end
-  def send_or_block_or_block_pass_pattern; end
-  def send_pattern; end
-  def to_a; end
-
-  protected
-
-  def selectors; end
+module RuboCop::RSpec::Language::Helpers
+  class << self
+    def all(element); end
+  end
 end
 
-module RuboCop::RSpec::Language::SharedGroups
+module RuboCop::RSpec::Language::HookScopes
+  class << self
+    def all(element); end
+  end
 end
 
-RuboCop::RSpec::Language::SharedGroups::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::SharedGroups::CONTEXT = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-RuboCop::RSpec::Language::SharedGroups::EXAMPLES = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
-
-module RuboCop::RSpec::Language::Subject
+module RuboCop::RSpec::Language::NodePattern
+  def block_pattern(string); end
+  def send_pattern(string); end
 end
 
-RuboCop::RSpec::Language::Subject::ALL = T.let(T.unsafe(nil), RuboCop::RSpec::Language::SelectorSet)
+module RuboCop::RSpec::Language::Subjects
+  class << self
+    def all(element); end
+  end
+end
 
 module RuboCop::RSpec::Node
   def recursive_literal_or_const?; end
 end
 
-module RuboCop::RSpec::TopLevelDescribe
-  extend(::RuboCop::AST::NodePattern::Macros)
-
-  def on_send(node); end
-
-  private
-
-  def describe_statement_children(node); end
-  def root_node; end
-  def single_top_level_describe?; end
-  def top_level_describe?(node); end
-  def top_level_nodes; end
-end
-
-module RuboCop::RSpec::TopLevelGroup
-  include(::RuboCop::RSpec::Language)
-  extend(::RuboCop::AST::NodePattern::Macros)
-
-  def example_or_shared_group?(param0 = T.unsafe(nil)); end
-  def on_new_investigation; end
-  def top_level_groups; end
-
-  private
-
-  def on_top_level_example_group(_node); end
-  def on_top_level_group(_node); end
-  def root_node; end
-  def top_level_group?(node); end
-  def top_level_nodes(node); end
-end
-
-module RuboCop::RSpec::Variable
-  include(::RuboCop::RSpec::Language)
-  extend(::RuboCop::AST::NodePattern::Macros)
-
-  def variable_definition?(param0 = T.unsafe(nil)); end
-end
-
 module RuboCop::RSpec::Version
 end
 
diff --git a/Library/Homebrew/sorbet/rbi/gems/rubocop@0.93.1.rbi b/Library/Homebrew/sorbet/rbi/gems/rubocop@1.2.0.rbi
similarity index 96%
rename from Library/Homebrew/sorbet/rbi/gems/rubocop@0.93.1.rbi
rename to Library/Homebrew/sorbet/rbi/gems/rubocop@1.2.0.rbi
index d270b9ebcffec8a87ee3b4522daf9329ef2b633b..3f9abe9dbd9a3e3aae37d60c9ed1feeecaeb39e3 100644
--- a/Library/Homebrew/sorbet/rbi/gems/rubocop@0.93.1.rbi
+++ b/Library/Homebrew/sorbet/rbi/gems/rubocop@1.2.0.rbi
@@ -74,7 +74,7 @@ class RuboCop::CLI::Command::Base
   class << self
     def by_command_name(name); end
     def command_name; end
-    def command_name=(_); end
+    def command_name=(_arg0); end
     def inherited(subclass); end
   end
 end
@@ -197,10 +197,10 @@ class RuboCop::CommentConfig::CopAnalysis < ::Struct
   def start_line_number=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -236,6 +236,7 @@ class RuboCop::Config
   def internal?; end
   def key?(*args, &block); end
   def keys(*args, &block); end
+  def loaded_features; end
   def loaded_path; end
   def make_excludes_absolute; end
   def map(*args, &block); end
@@ -274,10 +275,10 @@ class RuboCop::Config::CopConfig < ::Struct
   def name=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -293,31 +294,34 @@ class RuboCop::ConfigLoader
     def configuration_file_for(target_dir); end
     def configuration_from_file(config_file); end
     def debug; end
-    def debug=(_); end
+    def debug=(_arg0); end
     def debug?; end
     def default_configuration; end
-    def default_configuration=(_); end
+    def default_configuration=(_arg0); end
     def disable_pending_cops; end
-    def disable_pending_cops=(_); end
+    def disable_pending_cops=(_arg0); end
     def enable_pending_cops; end
-    def enable_pending_cops=(_); end
+    def enable_pending_cops=(_arg0); end
     def ignore_parent_exclusion; end
-    def ignore_parent_exclusion=(_); end
+    def ignore_parent_exclusion=(_arg0); end
     def ignore_parent_exclusion?; end
     def load_file(file); end
     def load_yaml_configuration(absolute_path); end
+    def loaded_features; end
     def merge(base_hash, derived_hash); end
     def merge_with_default(config, config_file, unset_nil: T.unsafe(nil)); end
     def possible_new_cops?(config); end
     def project_root; end
-    def project_root=(_); end
+    def project_root=(_arg0); end
     def warn_on_pending_cops(pending_cops); end
     def warn_pending_cop(cop); end
 
     private
 
+    def add_loaded_features(loaded_features); end
     def check_duplication(yaml_code, absolute_path); end
     def expand_path(path); end
+    def file_path(file); end
     def find_project_dotfile(target_dir); end
     def find_project_root; end
     def find_user_dotfile; end
@@ -552,7 +556,7 @@ module RuboCop::Cop::AutocorrectLogic
 end
 
 class RuboCop::Cop::Badge
-  def initialize(department, cop_name); end
+  def initialize(class_name_parts); end
 
   def ==(other); end
   def cop_name; end
@@ -570,12 +574,6 @@ class RuboCop::Cop::Badge
   end
 end
 
-class RuboCop::Cop::Badge::InvalidBadge < ::RuboCop::Error
-  def initialize(token); end
-end
-
-RuboCop::Cop::Badge::InvalidBadge::MSG = T.let(T.unsafe(nil), String)
-
 class RuboCop::Cop::Base
   include(::RuboCop::AST::Sexp)
   include(::RuboCop::PathUtil)
@@ -589,6 +587,7 @@ class RuboCop::Cop::Base
 
   def add_global_offense(message = T.unsafe(nil), severity: T.unsafe(nil)); end
   def add_offense(node_or_range, message: T.unsafe(nil), severity: T.unsafe(nil), &block); end
+  def callbacks_needed; end
   def config; end
   def config_to_allow_offenses; end
   def config_to_allow_offenses=(hash); end
@@ -633,6 +632,7 @@ class RuboCop::Cop::Base
   class << self
     def autocorrect_incompatible_with; end
     def badge; end
+    def callbacks_needed; end
     def cop_name; end
     def department; end
     def documentation_url; end
@@ -662,10 +662,10 @@ class RuboCop::Cop::Base::InvestigationReport < ::Struct
   def processed_source=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -682,9 +682,10 @@ class RuboCop::Cop::Bundler::DuplicatedGem < ::RuboCop::Cop::Cop
 
   private
 
-  def condition?(nodes); end
+  def conditional_declaration?(nodes); end
   def duplicated_gem_nodes; end
   def register_offense(node, gem_name, line_of_first_occurrence); end
+  def within_conditional?(node, conditional_node); end
 end
 
 RuboCop::Cop::Bundler::DuplicatedGem::MSG = T.let(T.unsafe(nil), String)
@@ -945,9 +946,11 @@ class RuboCop::Cop::Commissioner
 
   private
 
-  def cops_callbacks_for(callback); end
+  def build_callbacks(cops); end
+  def initialize_callbacks; end
   def invoke(callback, cops, *args); end
   def reset; end
+  def restrict_callbacks(callbacks); end
   def restricted_map(callbacks); end
   def trigger_responding_cops(callback, node); end
   def trigger_restricted_cops(event, node); end
@@ -968,10 +971,10 @@ class RuboCop::Cop::Commissioner::InvestigationReport < ::Struct
   def processed_source=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -1075,10 +1078,10 @@ class RuboCop::Cop::Cop::Correction < ::Struct
   def node=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -1101,6 +1104,8 @@ class RuboCop::Cop::Corrector < ::Parser::Source::TreeRewriter
   end
 end
 
+RuboCop::Cop::Corrector::NOOP_CONSUMER = T.let(T.unsafe(nil), Proc)
+
 module RuboCop::Cop::DefNode
   extend(::RuboCop::AST::NodePattern::Macros)
 
@@ -1463,7 +1468,7 @@ class RuboCop::Cop::HashAlignmentStyles::TableAlignment
   def hash_rocket_delta(first_pair, current_pair); end
   def key_delta(first_pair, current_pair); end
   def max_key_width; end
-  def max_key_width=(_); end
+  def max_key_width=(_arg0); end
   def value_delta(first_pair, current_pair); end
 end
 
@@ -1512,14 +1517,14 @@ class RuboCop::Cop::HashTransformMethod::Autocorrection < ::Struct
   def trailing=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def from_each_with_object(node, match); end
     def from_hash_brackets_map(node, match); end
     def from_map_to_h(node, match); end
     def from_to_h(node, match); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -1534,10 +1539,10 @@ class RuboCop::Cop::HashTransformMethod::Captures < ::Struct
   def unchanged_body_expr=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -1801,6 +1806,7 @@ class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
   def end_position_for(node); end
   def expected_order; end
   def find_category(node); end
+  def find_heredoc(node); end
   def humanize_node(node); end
   def ignore?(classification); end
   def source_range_with_comment(node); end
@@ -1953,6 +1959,7 @@ class RuboCop::Cop::Layout::ElseAlignment < ::RuboCop::Cop::Cop
 
   private
 
+  def assignment_node(node); end
   def base_for_method_definition(node); end
   def base_range_of_if(node, base); end
   def base_range_of_rescue(node); end
@@ -2503,9 +2510,9 @@ class RuboCop::Cop::Layout::HashAlignment < ::RuboCop::Cop::Base
   extend(::RuboCop::Cop::AutoCorrector)
 
   def column_deltas; end
-  def column_deltas=(_); end
+  def column_deltas=(_arg0); end
   def offences_by; end
-  def offences_by=(_); end
+  def offences_by=(_arg0); end
   def on_hash(node); end
   def on_send(node); end
   def on_super(node); end
@@ -3100,15 +3107,15 @@ class RuboCop::Cop::Layout::SpaceAroundBlockParameters < ::RuboCop::Cop::Base
 
   def check_after_closing_pipe(arguments); end
   def check_arg(arg); end
-  def check_closing_pipe_space(args, closing_pipe); end
+  def check_closing_pipe_space(arguments, closing_pipe); end
   def check_each_arg(args); end
   def check_inside_pipes(arguments); end
   def check_no_space(space_begin_pos, space_end_pos, msg); end
-  def check_no_space_style_inside_pipes(args, opening_pipe, closing_pipe); end
-  def check_opening_pipe_space(args, opening_pipe); end
+  def check_no_space_style_inside_pipes(arguments); end
+  def check_opening_pipe_space(arguments, opening_pipe); end
   def check_space(space_begin_pos, space_end_pos, range, msg, node = T.unsafe(nil)); end
-  def check_space_style_inside_pipes(args, opening_pipe, closing_pipe); end
-  def last_end_pos_inside_pipes(range); end
+  def check_space_style_inside_pipes(arguments); end
+  def last_end_pos_inside_pipes(arguments, range); end
   def pipes(arguments); end
   def pipes?(arguments); end
   def style_parameter_name; end
@@ -3470,8 +3477,10 @@ class RuboCop::Cop::Layout::SpaceInsideParens < ::RuboCop::Cop::Base
 
   def can_be_ignored?(token1, token2); end
   def each_extraneous_space(tokens); end
-  def each_missing_space(tokens); end
+  def each_extraneous_space_in_empty_parens(token1, token2); end
+  def each_missing_space(token1, token2); end
   def parens?(token1, token2); end
+  def process_with_space_style(processed_source); end
   def same_line?(token1, token2); end
 end
 
@@ -3579,10 +3588,12 @@ class RuboCop::Cop::Layout::TrailingWhitespace < ::RuboCop::Cop::Base
 
   private
 
-  def extract_heredoc_ranges(ast); end
-  def inside_heredoc?(heredoc_ranges, line_number); end
+  def extract_heredocs(ast); end
+  def find_heredoc(line_number); end
   def offense_range(lineno, line); end
+  def process_line(line, lineno); end
   def skip_heredoc?; end
+  def static?(heredoc); end
 end
 
 RuboCop::Cop::Layout::TrailingWhitespace::MSG = T.let(T.unsafe(nil), String)
@@ -3917,6 +3928,21 @@ RuboCop::Cop::Lint::DuplicateMethods::MSG = T.let(T.unsafe(nil), String)
 
 RuboCop::Cop::Lint::DuplicateMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
 
+class RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement < ::RuboCop::Cop::Base
+  include(::RuboCop::Cop::RangeHelp)
+  extend(::RuboCop::Cop::AutoCorrector)
+
+  def each_repeated_character_class_element_loc(node); end
+  def on_regexp(node); end
+
+  private
+
+  def interpolation_locs(node); end
+  def within_interpolation?(node, child); end
+end
+
+RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement::MSG_REPEATED_ELEMENT = T.let(T.unsafe(nil), String)
+
 class RuboCop::Cop::Lint::DuplicateRequire < ::RuboCop::Cop::Base
   def on_new_investigation; end
   def on_send(node); end
@@ -3948,16 +3974,31 @@ RuboCop::Cop::Lint::EachWithObjectArgument::MSG = T.let(T.unsafe(nil), String)
 RuboCop::Cop::Lint::EachWithObjectArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
 
 class RuboCop::Cop::Lint::ElseLayout < ::RuboCop::Cop::Base
+  include(::RuboCop::Cop::RangeHelp)
+  extend(::RuboCop::Cop::AutoCorrector)
+
   def on_if(node); end
 
   private
 
+  def autocorrect(corrector, node, first_else); end
   def check(node); end
   def check_else(node); end
 end
 
 RuboCop::Cop::Lint::ElseLayout::MSG = T.let(T.unsafe(nil), String)
 
+class RuboCop::Cop::Lint::EmptyBlock < ::RuboCop::Cop::Base
+  def on_block(node); end
+
+  private
+
+  def allow_comment?(node); end
+  def comment_disables_cop?(comment); end
+end
+
+RuboCop::Cop::Lint::EmptyBlock::MSG = T.let(T.unsafe(nil), String)
+
 class RuboCop::Cop::Lint::EmptyConditionalBody < ::RuboCop::Cop::Base
   def on_if(node); end
 end
@@ -4279,6 +4320,7 @@ class RuboCop::Cop::Lint::LiteralInInterpolation < ::RuboCop::Cop::Base
   def autocorrected_value_for_array(node); end
   def autocorrected_value_for_string(node); end
   def autocorrected_value_for_symbol(node); end
+  def in_array_percent_literal?(node); end
   def prints_as_self?(node); end
   def special_keyword?(node); end
 end
@@ -4296,7 +4338,6 @@ class RuboCop::Cop::Lint::Loop < ::RuboCop::Cop::Base
   private
 
   def build_break_line(node); end
-  def indent(node); end
   def keyword_and_condition_range(node); end
   def register_offense(node); end
 end
@@ -4406,6 +4447,14 @@ end
 
 RuboCop::Cop::Lint::NextWithoutAccumulator::MSG = T.let(T.unsafe(nil), String)
 
+class RuboCop::Cop::Lint::NoReturnInBeginEndBlocks < ::RuboCop::Cop::Cop
+  def on_lvasgn(node); end
+  def on_op_asgn(node); end
+  def on_or_asgn(node); end
+end
+
+RuboCop::Cop::Lint::NoReturnInBeginEndBlocks::MSG = T.let(T.unsafe(nil), String)
+
 class RuboCop::Cop::Lint::NonDeterministicRequireOrder < ::RuboCop::Cop::Base
   extend(::RuboCop::Cop::AutoCorrector)
 
@@ -4444,16 +4493,19 @@ end
 RuboCop::Cop::Lint::NonLocalExitFromIterator::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::Lint::NumberConversion < ::RuboCop::Cop::Base
+  include(::RuboCop::Cop::IgnoredMethods)
   extend(::RuboCop::Cop::AutoCorrector)
 
-  def datetime?(param0 = T.unsafe(nil)); end
   def on_send(node); end
   def to_method(param0 = T.unsafe(nil)); end
 
   private
 
   def correct_method(node, receiver); end
-  def date_time_object?(node); end
+  def ignore_receiver?(receiver); end
+  def ignored_class?(name); end
+  def ignored_classes; end
+  def top_receiver(node); end
 end
 
 RuboCop::Cop::Lint::NumberConversion::CONVERSION_METHOD_CLASS_MAPPING = T.let(T.unsafe(nil), Hash)
@@ -4478,15 +4530,18 @@ end
 RuboCop::Cop::Lint::OrderedMagicComments::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::Lint::OutOfRangeRegexpRef < ::RuboCop::Cop::Base
+  def after_send(node); end
   def on_match_with_lvasgn(node); end
   def on_new_investigation; end
   def on_nth_ref(node); end
-  def on_send(node); end
   def on_when(node); end
 
   private
 
   def check_regexp(node); end
+  def nth_ref_receiver?(send_node); end
+  def regexp_first_argument?(send_node); end
+  def regexp_receiver?(send_node); end
 end
 
 RuboCop::Cop::Lint::OutOfRangeRegexpRef::MSG = T.let(T.unsafe(nil), String)
@@ -4594,7 +4649,7 @@ class RuboCop::Cop::Lint::RedundantCopDisableDirective < ::RuboCop::Cop::Base
   def initialize(config = T.unsafe(nil), options = T.unsafe(nil), offenses = T.unsafe(nil)); end
 
   def offenses_to_check; end
-  def offenses_to_check=(_); end
+  def offenses_to_check=(_arg0); end
   def on_new_investigation; end
 
   private
@@ -4996,6 +5051,22 @@ class RuboCop::Cop::Lint::Syntax < ::RuboCop::Cop::Base
   def beautify_message(message); end
 end
 
+class RuboCop::Cop::Lint::ToEnumArguments < ::RuboCop::Cop::Base
+  def enum_conversion_call?(param0 = T.unsafe(nil)); end
+  def method_name?(param0 = T.unsafe(nil), param1); end
+  def on_send(node); end
+  def passing_keyword_arg?(param0 = T.unsafe(nil), param1); end
+
+  private
+
+  def argument_match?(send_arg, def_arg); end
+  def arguments_match?(arguments, def_node); end
+end
+
+RuboCop::Cop::Lint::ToEnumArguments::MSG = T.let(T.unsafe(nil), String)
+
+RuboCop::Cop::Lint::ToEnumArguments::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
 class RuboCop::Cop::Lint::ToJSON < ::RuboCop::Cop::Base
   extend(::RuboCop::Cop::AutoCorrector)
 
@@ -5051,6 +5122,30 @@ end
 
 RuboCop::Cop::Lint::UnifiedInteger::MSG = T.let(T.unsafe(nil), String)
 
+class RuboCop::Cop::Lint::UnmodifiedReduceAccumulator < ::RuboCop::Cop::Base
+  def accumulator_index?(param0 = T.unsafe(nil), param1); end
+  def element_modified?(param0, param1); end
+  def expression_values(param0); end
+  def lvar_used?(param0 = T.unsafe(nil), param1); end
+  def on_block(node); end
+  def reduce_with_block?(param0 = T.unsafe(nil)); end
+
+  private
+
+  def acceptable_return?(return_val, element_name); end
+  def allowed_type?(parent_node); end
+  def block_arg_name(node, index); end
+  def check_return_values(block_node); end
+  def potential_offense?(return_values, block_body, element_name, accumulator_name); end
+  def return_values(block_body_node); end
+  def returned_accumulator_index(return_values, accumulator_name); end
+  def returns_accumulator_anywhere?(return_values, accumulator_name); end
+end
+
+RuboCop::Cop::Lint::UnmodifiedReduceAccumulator::MSG = T.let(T.unsafe(nil), String)
+
+RuboCop::Cop::Lint::UnmodifiedReduceAccumulator::MSG_INDEX = T.let(T.unsafe(nil), String)
+
 class RuboCop::Cop::Lint::UnreachableCode < ::RuboCop::Cop::Base
   def flow_command?(param0 = T.unsafe(nil)); end
   def on_begin(node); end
@@ -5240,6 +5335,8 @@ end
 RuboCop::Cop::Lint::UselessMethodDefinition::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::Lint::UselessSetterCall < ::RuboCop::Cop::Base
+  extend(::RuboCop::Cop::AutoCorrector)
+
   def on_def(node); end
   def on_defs(node); end
   def setter_call_to_local_variable?(param0 = T.unsafe(nil)); end
@@ -5770,6 +5867,8 @@ RuboCop::Cop::Naming::AsciiIdentifiers::CONSTANT_MSG = T.let(T.unsafe(nil), Stri
 RuboCop::Cop::Naming::AsciiIdentifiers::IDENTIFIER_MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::Naming::BinaryOperatorParameterName < ::RuboCop::Cop::Base
+  extend(::RuboCop::Cop::AutoCorrector)
+
   def on_def(node); end
   def op_method_candidate?(param0 = T.unsafe(nil)); end
 
@@ -5854,13 +5953,14 @@ RuboCop::Cop::Naming::FileName::SNAKE_CASE = T.let(T.unsafe(nil), Regexp)
 class RuboCop::Cop::Naming::HeredocDelimiterCase < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::Heredoc)
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
+  extend(::RuboCop::Cop::AutoCorrector)
 
   def on_heredoc(node); end
 
   private
 
   def correct_case_delimiters?(node); end
-  def correct_delimiters(node); end
+  def correct_delimiters(source); end
   def message(_node); end
 end
 
@@ -5882,9 +5982,9 @@ RuboCop::Cop::Naming::HeredocDelimiterNaming::MSG = T.let(T.unsafe(nil), String)
 class RuboCop::Cop::Naming::MemoizedInstanceVariableName < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
 
-  def memoized?(param0 = T.unsafe(nil)); end
-  def on_def(node); end
-  def on_defs(node); end
+  def defined_memoized?(param0 = T.unsafe(nil), param1); end
+  def on_defined?(node); end
+  def on_or_asgn(node); end
 
   private
 
@@ -5893,13 +5993,6 @@ class RuboCop::Cop::Naming::MemoizedInstanceVariableName < ::RuboCop::Cop::Base
   def style_parameter_name; end
   def suggested_var(method_name); end
   def variable_name_candidates(method_name); end
-
-  class << self
-
-    private
-
-    def node_pattern; end
-  end
 end
 
 RuboCop::Cop::Naming::MemoizedInstanceVariableName::MSG = T.let(T.unsafe(nil), String)
@@ -5999,8 +6092,11 @@ class RuboCop::Cop::Naming::VariableNumber < ::RuboCop::Cop::Base
 
   def on_arg(node); end
   def on_cvasgn(node); end
+  def on_def(node); end
+  def on_defs(node); end
   def on_ivasgn(node); end
   def on_lvasgn(node); end
+  def on_sym(node); end
 
   private
 
@@ -6612,6 +6708,30 @@ module RuboCop::Cop::Style::AnnotationComment
   def split_comment(comment); end
 end
 
+class RuboCop::Cop::Style::ArgumentsForwarding < ::RuboCop::Cop::Base
+  include(::RuboCop::Cop::RangeHelp)
+  extend(::RuboCop::Cop::AutoCorrector)
+  extend(::RuboCop::Cop::TargetRubyVersion)
+
+  def forwarding_method_arguments?(param0 = T.unsafe(nil), param1, param2, param3); end
+  def on_def(node); end
+  def on_defs(node); end
+  def only_rest_arguments?(param0 = T.unsafe(nil), param1); end
+  def use_rest_arguments?(param0 = T.unsafe(nil)); end
+
+  private
+
+  def all_lvars_as_forwarding_method_arguments?(def_node, forwarding_method); end
+  def allow_only_rest_arguments?; end
+  def arguments_range(node); end
+  def extract_argument_names_from(args); end
+  def forwarding_method?(node, rest_arg, kwargs, block_arg); end
+  def register_offense_to_forwarding_method_arguments(forwarding_method); end
+  def register_offense_to_method_definition_arguments(method_definition); end
+end
+
+RuboCop::Cop::Style::ArgumentsForwarding::MSG = T.let(T.unsafe(nil), String)
+
 class RuboCop::Cop::Style::ArrayCoercion < ::RuboCop::Cop::Base
   extend(::RuboCop::Cop::AutoCorrector)
 
@@ -6723,7 +6843,6 @@ class RuboCop::Cop::Style::BisectedAttrAccessor < ::RuboCop::Cop::Base
   def attr_within_visibility_scope?(node, visibility); end
   def attr_writer?(send_node); end
   def check(macro, reader_names, writer_names); end
-  def indent(node); end
   def replacement(macro, node); end
   def rest_args(args, reader_names, writer_names); end
 end
@@ -6848,7 +6967,6 @@ class RuboCop::Cop::Style::CaseLikeIf < ::RuboCop::Cop::Base
   def find_target_in_equality_node(node); end
   def find_target_in_match_node(node); end
   def find_target_in_send_node(node); end
-  def indent(node); end
   def regexp_with_named_captures?(node); end
   def regexp_with_working_captures?(node); end
   def should_check?(node); end
@@ -6977,6 +7095,24 @@ RuboCop::Cop::Style::ClassVars::MSG = T.let(T.unsafe(nil), String)
 
 RuboCop::Cop::Style::ClassVars::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
 
+class RuboCop::Cop::Style::CollectionCompact < ::RuboCop::Cop::Base
+  include(::RuboCop::Cop::RangeHelp)
+  extend(::RuboCop::Cop::AutoCorrector)
+
+  def on_send(node); end
+  def reject_method?(param0 = T.unsafe(nil)); end
+  def select_method?(param0 = T.unsafe(nil)); end
+
+  private
+
+  def good_method_name(method_name); end
+  def offense_range(send_node, block_node); end
+end
+
+RuboCop::Cop::Style::CollectionCompact::MSG = T.let(T.unsafe(nil), String)
+
+RuboCop::Cop::Style::CollectionCompact::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
 class RuboCop::Cop::Style::CollectionMethods < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::MethodPreference)
   extend(::RuboCop::Cop::AutoCorrector)
@@ -7284,6 +7420,18 @@ end
 
 RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective::MSG = T.let(T.unsafe(nil), String)
 
+class RuboCop::Cop::Style::DocumentDynamicEvalDefinition < ::RuboCop::Cop::Base
+  def on_send(node); end
+
+  private
+
+  def comment_docs?(node); end
+end
+
+RuboCop::Cop::Style::DocumentDynamicEvalDefinition::MSG = T.let(T.unsafe(nil), String)
+
+RuboCop::Cop::Style::DocumentDynamicEvalDefinition::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
 class RuboCop::Cop::Style::Documentation < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::Style::AnnotationComment)
   include(::RuboCop::Cop::DocumentationComment)
@@ -7334,6 +7482,7 @@ RuboCop::Cop::Style::DoubleCopDisableDirective::MSG = T.let(T.unsafe(nil), Strin
 
 class RuboCop::Cop::Style::DoubleNegation < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
+  extend(::RuboCop::Cop::AutoCorrector)
 
   def double_negative?(param0 = T.unsafe(nil)); end
   def on_send(node); end
@@ -7701,6 +7850,9 @@ class RuboCop::Cop::Style::FormatStringToken < ::RuboCop::Cop::Base
 
   private
 
+  def allowed_unannotated?(detections); end
+  def collect_detections(node); end
+  def max_unannotated_placeholders_allowed; end
   def message(detected_style); end
   def message_text(style); end
   def str_contents(source_map); end
@@ -8114,6 +8266,7 @@ class RuboCop::Cop::Style::KeywordParametersOrder < ::RuboCop::Cop::Base
 
   private
 
+  def append_newline_to_last_kwoptarg(arguments, corrector); end
   def remove_kwargs(kwarg_nodes, corrector); end
 end
 
@@ -8200,11 +8353,14 @@ class RuboCop::Cop::Style::MethodCallWithArgsParentheses < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
   include(::RuboCop::Cop::IgnoredMethods)
   include(::RuboCop::Cop::IgnoredPattern)
+  include(::RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses)
+  include(::RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses)
   extend(::RuboCop::Cop::AutoCorrector)
 
-  def initialize(*_); end
-
-  def autocorrect(_node); end
+  def on_csend(node); end
+  def on_send(node); end
+  def on_super(node); end
+  def on_yield(node); end
 
   private
 
@@ -8214,10 +8370,6 @@ class RuboCop::Cop::Style::MethodCallWithArgsParentheses < ::RuboCop::Cop::Base
 end
 
 module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
-  def on_csend(node); end
-  def on_send(node); end
-  def on_super(node); end
-  def on_yield(node); end
 
   private
 
@@ -8237,8 +8389,8 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
   def hash_literal_in_arguments?(node); end
   def legitimate_call_with_parentheses?(node); end
   def logical_operator?(node); end
-  def message(_range = T.unsafe(nil)); end
   def offense_range(node); end
+  def omit_parentheses(node); end
   def parentheses_at_the_end_of_multiline_call?(node); end
   def regexp_slash_literal?(node); end
   def splat?(node); end
@@ -8250,17 +8402,13 @@ end
 RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses::TRAILING_WHITESPACE_REGEX = T.let(T.unsafe(nil), Regexp)
 
 module RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses
-  def message(_node = T.unsafe(nil)); end
-  def on_csend(node); end
-  def on_send(node); end
-  def on_super(node); end
-  def on_yield(node); end
 
   private
 
   def eligible_for_parentheses_omission?(node); end
   def ignored_macro?(node); end
   def included_macros_list; end
+  def require_parentheses(node); end
 end
 
 class RuboCop::Cop::Style::MethodCallWithoutArgsParentheses < ::RuboCop::Cop::Base
@@ -8379,7 +8527,6 @@ class RuboCop::Cop::Style::MixinGrouping < ::RuboCop::Cop::Base
   def check_separated_style(send_node); end
   def group_mixins(node, mixins); end
   def grouped_style?; end
-  def indent(node); end
   def range_to_remove_for_subsequent_mixin(mixins, node); end
   def separate_mixins(node); end
   def separated_style?; end
@@ -8527,12 +8674,17 @@ end
 RuboCop::Cop::Style::MultilineWhenThen::MSG = T.let(T.unsafe(nil), String)
 
 class RuboCop::Cop::Style::MultipleComparison < ::RuboCop::Cop::Base
+  extend(::RuboCop::Cop::AutoCorrector)
+
+  def on_new_investigation; end
   def on_or(node); end
-  def simple_comparison?(param0 = T.unsafe(nil)); end
+  def simple_comparison_lhs?(param0 = T.unsafe(nil)); end
+  def simple_comparison_rhs?(param0 = T.unsafe(nil)); end
   def simple_double_comparison?(param0 = T.unsafe(nil)); end
 
   private
 
+  def allow_method_comparison?; end
   def comparison?(node); end
   def nested_comparison?(node); end
   def nested_variable_comparison?(node); end
@@ -8583,6 +8735,29 @@ class RuboCop::Cop::Style::NegatedIf < ::RuboCop::Cop::Base
   def message(node); end
 end
 
+class RuboCop::Cop::Style::NegatedIfElseCondition < ::RuboCop::Cop::Base
+  extend(::RuboCop::Cop::AutoCorrector)
+
+  def on_if(node); end
+  def on_new_investigation; end
+
+  private
+
+  def correct_negated_condition(corrector, node); end
+  def corrected_ancestor?(node); end
+  def if_else?(node); end
+  def negated_condition?(node); end
+  def swap_branches(corrector, node); end
+
+  class << self
+    def autocorrect_incompatible_with; end
+  end
+end
+
+RuboCop::Cop::Style::NegatedIfElseCondition::MSG = T.let(T.unsafe(nil), String)
+
+RuboCop::Cop::Style::NegatedIfElseCondition::NEGATED_EQUALITY_METHODS = T.let(T.unsafe(nil), Array)
+
 class RuboCop::Cop::Style::NegatedUnless < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::ConfigurableEnforcedStyle)
   include(::RuboCop::Cop::NegativeConditional)
@@ -9121,6 +9296,7 @@ class RuboCop::Cop::Style::RaiseArgs < ::RuboCop::Cop::Base
   private
 
   def acceptable_exploded_args?(args); end
+  def allowed_non_exploded_type?(arg); end
   def check_compact(node); end
   def check_exploded(node); end
   def correction_compact_to_exploded(node); end
@@ -9356,6 +9532,7 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
   def first_send_argument?(param0 = T.unsafe(nil)); end
   def first_super_argument?(param0 = T.unsafe(nil)); end
   def first_yield_argument?(param0 = T.unsafe(nil)); end
+  def interpolation?(param0 = T.unsafe(nil)); end
   def method_node_and_args(param0 = T.unsafe(nil)); end
   def on_begin(node); end
   def range_end?(param0 = T.unsafe(nil)); end
@@ -9721,6 +9898,7 @@ class RuboCop::Cop::Style::SafeNavigation < ::RuboCop::Cop::Base
   def method_call(node); end
   def method_called?(send_node); end
   def negated?(send_node); end
+  def relevant_comment_ranges(node); end
   def unsafe_method?(send_node); end
   def unsafe_method_used?(method_chain, method); end
 end
@@ -9972,12 +10150,14 @@ RuboCop::Cop::Style::StderrPuts::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
 class RuboCop::Cop::Style::StringConcatenation < ::RuboCop::Cop::Base
   extend(::RuboCop::Cop::AutoCorrector)
 
+  def on_new_investigation; end
   def on_send(node); end
   def string_concatenation?(param0 = T.unsafe(nil)); end
 
   private
 
   def collect_parts(node, parts); end
+  def corrected_ancestor?(node); end
   def find_topmost_plus_node(node); end
   def plus_node?(node); end
   def replacement(parts); end
@@ -10071,6 +10251,33 @@ end
 
 RuboCop::Cop::Style::StructInheritance::MSG = T.let(T.unsafe(nil), String)
 
+class RuboCop::Cop::Style::SwapValues < ::RuboCop::Cop::Base
+  include(::RuboCop::Cop::RangeHelp)
+  extend(::RuboCop::Cop::AutoCorrector)
+
+  def on_asgn(node); end
+  def on_casgn(node); end
+  def on_cvasgn(node); end
+  def on_gvasgn(node); end
+  def on_ivasgn(node); end
+  def on_lvasgn(node); end
+
+  private
+
+  def allowed_assignment?(node); end
+  def correction_range(tmp_assign, y_assign); end
+  def lhs(node); end
+  def message(x_assign, y_assign); end
+  def replacement(x_assign); end
+  def rhs(node); end
+  def simple_assignment?(node); end
+  def swapping_values?(tmp_assign, x_assign, y_assign); end
+end
+
+RuboCop::Cop::Style::SwapValues::MSG = T.let(T.unsafe(nil), String)
+
+RuboCop::Cop::Style::SwapValues::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Set)
+
 class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Base
   include(::RuboCop::Cop::ArrayMinSize)
   include(::RuboCop::Cop::ArraySyntax)
@@ -10089,7 +10296,7 @@ class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Base
 
   class << self
     def largest_brackets; end
-    def largest_brackets=(_); end
+    def largest_brackets=(_arg0); end
   end
 end
 
@@ -10430,7 +10637,7 @@ class RuboCop::Cop::Style::WordArray < ::RuboCop::Cop::Base
 
   class << self
     def largest_brackets; end
-    def largest_brackets=(_); end
+    def largest_brackets=(_arg0); end
   end
 end
 
@@ -10664,6 +10871,7 @@ module RuboCop::Cop::Util
   def double_quotes_required?(string); end
   def escape_string(string); end
   def first_part_of_call_chain(node); end
+  def indent(node); end
   def interpret_string_escapes(string); end
   def line_range(node); end
   def needs_escaping?(string); end
@@ -10684,6 +10892,7 @@ module RuboCop::Cop::Util
     def double_quotes_required?(string); end
     def escape_string(string); end
     def first_part_of_call_chain(node); end
+    def indent(node); end
     def interpret_string_escapes(string); end
     def line_range(node); end
     def needs_escaping?(string); end
@@ -10827,10 +11036,10 @@ class RuboCop::Cop::VariableForce::AssignmentReference < ::Struct
   def node=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -10869,13 +11078,13 @@ class RuboCop::Cop::VariableForce::Branch::Base < ::Struct
   def scan_ancestors; end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def classes; end
     def define_predicate(name, child_index: T.unsafe(nil)); end
     def inherited(subclass); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
     def type; end
   end
 end
@@ -11068,10 +11277,10 @@ class RuboCop::Cop::VariableForce::VariableReference < ::Struct
   def name=(_); end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -11143,16 +11352,46 @@ module RuboCop::Ext::ProcessedSource
 end
 
 module RuboCop::Ext::RegexpNode
+  def assign_properties(*_arg0); end
   def each_capture(named: T.unsafe(nil)); end
   def parsed_tree; end
 
   private
 
   def with_interpolations_blanked; end
+end
 
-  class << self
-    def parsed_cache; end
-  end
+module RuboCop::Ext::RegexpParser
+end
+
+module RuboCop::Ext::RegexpParser::Expression
+end
+
+module RuboCop::Ext::RegexpParser::Expression::Base
+  def expression; end
+  def loc; end
+  def origin; end
+  def origin=(_arg0); end
+  def source; end
+  def source=(_arg0); end
+  def start_index; end
+
+  private
+
+  def build_location; end
+end
+
+module RuboCop::Ext::RegexpParser::Expression::CharacterSet
+  def build_location; end
+end
+
+class RuboCop::Ext::RegexpParser::Map < ::Parser::Source::Map
+  def initialize(expression, body:, quantifier: T.unsafe(nil), begin_l: T.unsafe(nil), end_l: T.unsafe(nil)); end
+
+  def begin; end
+  def body; end
+  def end; end
+  def quantifier; end
 end
 
 module RuboCop::FileFinder
@@ -11241,9 +11480,9 @@ class RuboCop::Formatter::DisabledConfigFormatter < ::RuboCop::Formatter::BaseFo
 
   class << self
     def config_to_allow_offenses; end
-    def config_to_allow_offenses=(_); end
+    def config_to_allow_offenses=(_arg0); end
     def detected_styles; end
-    def detected_styles=(_); end
+    def detected_styles=(_arg0); end
   end
 end
 
@@ -11294,6 +11533,19 @@ end
 
 RuboCop::Formatter::FuubarStyleFormatter::RESET_SEQUENCE = T.let(T.unsafe(nil), String)
 
+class RuboCop::Formatter::GitHubActionsFormatter < ::RuboCop::Formatter::BaseFormatter
+  def file_finished(file, offenses); end
+
+  private
+
+  def github_escape(string); end
+  def github_severity(offense); end
+  def minimum_severity_to_fail; end
+  def report_offense(file, offense); end
+end
+
+RuboCop::Formatter::GitHubActionsFormatter::ESCAPE_MAP = T.let(T.unsafe(nil), Hash)
+
 class RuboCop::Formatter::HTMLFormatter < ::RuboCop::Formatter::BaseFormatter
   def initialize(output, options = T.unsafe(nil)); end
 
@@ -11318,10 +11570,10 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
   def to_s; end
 
   class << self
-    def [](*_); end
+    def [](*_arg0); end
     def inspect; end
     def members; end
-    def new(*_); end
+    def new(*_arg0); end
   end
 end
 
@@ -11402,7 +11654,7 @@ class RuboCop::Formatter::PacmanFormatter < ::RuboCop::Formatter::ClangStyleForm
   def next_step(offenses); end
   def pacdots(number); end
   def progress_line; end
-  def progress_line=(_); end
+  def progress_line=(_arg0); end
   def started(target_files); end
   def step(character); end
   def update_progress_line; end
@@ -11733,11 +11985,11 @@ class RuboCop::ResultCache
     def cache_root(config_store); end
     def cleanup(config_store, verbose, cache_root = T.unsafe(nil)); end
     def inhibit_cleanup; end
-    def inhibit_cleanup=(_); end
+    def inhibit_cleanup=(_arg0); end
     def rubocop_required_features; end
-    def rubocop_required_features=(_); end
+    def rubocop_required_features=(_arg0); end
     def source_checksum; end
-    def source_checksum=(_); end
+    def source_checksum=(_arg0); end
 
     private
 
@@ -11752,7 +12004,7 @@ RuboCop::ResultCache::NON_CHANGING = T.let(T.unsafe(nil), Array)
 class RuboCop::Runner
   def initialize(options, config_store); end
 
-  def aborting=(_); end
+  def aborting=(_arg0); end
   def aborting?; end
   def errors; end
   def run(paths); end
@@ -11913,10 +12165,14 @@ end
 module RuboCop::Version
   class << self
     def document_version; end
-    def version(debug: T.unsafe(nil)); end
+    def extension_versions(env); end
+    def feature_version(feature); end
+    def version(debug: T.unsafe(nil), env: T.unsafe(nil)); end
   end
 end
 
+RuboCop::Version::CANONICAL_FEATURE_NAMES = T.let(T.unsafe(nil), Hash)
+
 RuboCop::Version::MSG = T.let(T.unsafe(nil), String)
 
 RuboCop::Version::STRING = T.let(T.unsafe(nil), String)
diff --git a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi
index 106ed33e09ea93ab0d1ad28218a057a35d884ee2..c8a98f37dd54a8abdb3f7552e1f8d98f6aa80d2b 100644
--- a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi
+++ b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi
@@ -25838,6 +25838,14 @@ module Readline
   def self.completion_quote_character(); end
 end
 
+class Regexp::Expression::Base
+  include ::RuboCop::Ext::RegexpParser::Expression::Base
+end
+
+class Regexp::Expression::CharacterSet
+  include ::RuboCop::Ext::RegexpParser::Expression::CharacterSet
+end
+
 class ReporterHub
   def empty?(*args, &block); end
 end
@@ -26230,12 +26238,9 @@ class RuboCop::AST::NodePattern::Parser
 end
 
 module RuboCop::AST::NodePattern::Sets
-  SET_AND_RETURN_AND_RAISE_AND_THROW_ETC = ::T.let(nil, ::T.untyped)
   SET_BUILD_RECOMMENDED_TEST_OPTIONAL = ::T.let(nil, ::T.untyped)
   SET_DEPENDS_ON_USES_FROM_MACOS = ::T.let(nil, ::T.untyped)
   SET_INCLUDE_WITH_WITHOUT = ::T.let(nil, ::T.untyped)
-  SET_PROC_LAMBDA = ::T.let(nil, ::T.untyped)
-  SET_RECEIVE_RECEIVE_MESSAGE_CHAIN = ::T.let(nil, ::T.untyped)
   SET_SYSTEM_SHELL_OUTPUT_PIPE_OUTPUT = ::T.let(nil, ::T.untyped)
   SET_WITH_WITHOUT = ::T.let(nil, ::T.untyped)
 end