# sig/sidekiq/rescue/config.rbs

class Sidekiq::Rescue::Config
  def delay=: () -> untyped
  def initialize: () -> void
  def jitter=: () -> untyped
  def limit=: () -> untyped
  def logger=: () -> untyped
end


# sig/sidekiq/rescue/server_middleware.rbs

class Sidekiq::Rescue::ServerMiddleware
  def calculate_delay: () -> untyped
  def calculate_delay_jitter: () -> untyped
  def call: () -> untyped
  def increment_rescue_counter_for: () -> untyped
  def log_reschedule_info: () -> untyped
  def reschedule_job: () -> untyped
  def rescue_error: () -> untyped
  def sidekiq_rescue: () -> untyped
end


# sig/sidekiq/rescue.rbs

module Sidekiq::Rescue
  def configure: () -> untyped
end


# sig/sidekiq/rescue/dsl.rbs

module Sidekiq::Rescue::Dsl
  def self.included: () -> untyped
end


# sig/sidekiq/rescue/dsl.rbs

module Sidekiq::Rescue::Dsl::ClassMethods
  def assign_sidekiq_rescue_options: () -> untyped
  def sidekiq_rescue: () -> untyped
  def sidekiq_rescue_error_group_with_options_by: () -> untyped
  def validate_and_unpack_error_argument: () -> untyped
  def validate_delay_argument: () -> untyped
  def validate_jitter_argument: () -> untyped
  def validate_limit_argument: () -> untyped
  def validate_queue_argument: () -> untyped
end
