+# # NOTE: order of attributes is not specified.
+#
+# xm.instruct! #
+# xm.html { #
+# xm.head { #
+# xm.title("History") # History
+# } #
+# xm.body { #
+# xm.comment! "HI" #
+# xm.h1("Header") # Header
+# xm.p("paragraph") # paragraph
+# } #
+# } #
+#
+# == Notes:
+#
+# * The order that attributes are inserted in markup tags is
+# undefined.
+#
+# * Sometimes you wish to insert text without enclosing tags. Use
+# the text! method to accomplish this.
+#
+# Example:
+#
+# xm.div { #
+# xm.text! "line"; xm.br # line
+# xm.text! "another line"; xmbr # another line
+# } #
+#
+# * The special XML characters <, >, and & are converted to <,
+# > and & automatically. Use the << operation to
+# insert text without modification.
+#
+# * Sometimes tags use special characters not allowed in ruby
+# identifiers. Use the tag! method to handle these
+# cases.
+#
+# Example:
+#
+# xml.tag!("SOAP:Envelope") { ... }
+#
+# will produce ...
+#
+# ... "
+#
+# tag! will also take text and attribute arguments (after
+# the tag name) like normal markup methods. (But see the next
+# bullet item for a better way to handle XML namespaces).
+#
+# * Direct support for XML namespaces is now available. If the
+# first argument to a tag call is a symbol, it will be joined to
+# the tag to produce a namespace:tag combination. It is easier to
+# show this than describe it.
+#
+# xml.SOAP :Envelope do ... end
+#
+# Just put a space before the colon in a namespace to produce the
+# right form for builder (e.g. "SOAP:Envelope " =>
+# "xml.SOAP :Envelope ")
+#
+# * XmlMarkup builds the markup in any object (called a _target_)
+# that accepts the << method. If no target is given,
+# then XmlMarkup defaults to a string target.
+#
+# Examples:
+#
+# xm = Builder::XmlMarkup.new
+# result = xm.title("yada")
+# # result is a string containing the markup.
+#
+# buffer = ""
+# xm = Builder::XmlMarkup.new(buffer)
+# # The markup is appended to buffer (using <<)
+#
+# xm = Builder::XmlMarkup.new(STDOUT)
+# # The markup is written to STDOUT (using <<)
+#
+# xm = Builder::XmlMarkup.new
+# x2 = Builder::XmlMarkup.new(:target=>xm)
+# # Markup written to +x2+ will be send to +xm+.
+#
+# * Indentation is enabled by providing the number of spaces to
+# indent for each level as a second argument to XmlBuilder.new.
+# Initial indentation may be specified using a third parameter.
+#
+# Example:
+#
+# xm = Builder.new(:indent=>2)
+# # xm will produce nicely formatted and indented XML.
+#
+# xm = Builder.new(:indent=>2, :margin=>4)
+# # xm will produce nicely formatted and indented XML with 2
+# # spaces per indent and an over all indentation level of 4.
+#
+# builder = Builder::XmlMarkup.new(:target=>$stdout, :indent=>2)
+# builder.name { |b| b.first("Jim"); b.last("Weirich) }
+# # prints:
+# #
+# # Jim
+# # Weirich
+# #
+#
+# * The instance_eval implementation which forces self to refer to
+# the message receiver as self is now obsolete. We now use normal
+# block calls to execute the markup block. This means that all
+# markup methods must now be explicitly send to the xml builder.
+# For instance, instead of
+#
+# xml.div { strong("text") }
+#
+# you need to write:
+#
+# xml.div { xml.strong("text") }
+#
+# Although more verbose, the subtle change in semantics within the
+# block was found to be prone to error. To make this change a
+# little less cumbersome, the markup block now gets the markup
+# object sent as an argument, allowing you to use a shorter alias
+# within the block.
+#
+# For example:
+#
+# xml_builder = Builder::XmlMarkup.new
+# xml_builder.div { |xml|
+# xml.stong("text")
+# }
+#
+# source://builder//lib/builder/xmlmarkup.rb#161
+class Builder::XmlMarkup < ::Builder::XmlBase
+ # Create an XML markup builder. Parameters are specified by an
+ # option hash.
+ #
+ # :target => target_object ::
+ # Object receiving the markup. +target_object+ must respond to
+ # the <<(a_string ) operator and return
+ # itself. The default target is a plain string target.
+ #
+ # :indent => indentation ::
+ # Number of spaces used for indentation. The default is no
+ # indentation and no line breaks.
+ #
+ # :margin => initial_indentation_level ::
+ # Amount of initial indentation (specified in levels, not
+ # spaces).
+ #
+ # :quote => :single ::
+ # Use single quotes for attributes rather than double quotes.
+ #
+ # :escape_attrs => OBSOLETE ::
+ # The :escape_attrs option is no longer supported by builder
+ # (and will be quietly ignored). String attribute values are
+ # now automatically escaped. If you need unescaped attribute
+ # values (perhaps you are using entities in the attribute
+ # values), then give the value as a Symbol. This allows much
+ # finer control over escaping attribute values.
+ #
+ # @return [XmlMarkup] a new instance of XmlMarkup
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#190
+ def initialize(options = T.unsafe(nil)); end
+
+ # Insert a CDATA section into the XML markup.
+ #
+ # For example:
+ #
+ # xml.cdata!("text to be included in cdata")
+ # #=>
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#270
+ def cdata!(text); end
+
+ # source://builder//lib/builder/xmlmarkup.rb#275
+ def cdata_value!(open, text); end
+
+ # source://builder//lib/builder/xmlmarkup.rb#204
+ def comment!(comment_text); end
+
+ # Insert an XML declaration into the XML markup.
+ #
+ # For example:
+ #
+ # xml.declare! :ELEMENT, :blah, "yada"
+ # # =>
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#215
+ def declare!(inst, *args, &block); end
+
+ # Insert a processing instruction into the XML markup. E.g.
+ #
+ # For example:
+ #
+ # xml.instruct!
+ # #=>
+ # xml.instruct! :aaa, :bbb=>"ccc"
+ # #=>
+ #
+ # Note: If the encoding is setup to "UTF-8" and the value of
+ # $KCODE is "UTF8", then builder will emit UTF-8 encoded strings
+ # rather than the entity encoding normally used.
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#248
+ def instruct!(directive_tag = T.unsafe(nil), attrs = T.unsafe(nil)); end
+
+ # Return the target of the builder.
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#200
+ def target!; end
+
+ private
+
+ # source://builder//lib/builder/xmlmarkup.rb#326
+ def _attr_value(value); end
+
+ # Insert an ending tag.
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#310
+ def _end_tag(sym); end
+
+ # source://builder//lib/builder/xmlmarkup.rb#335
+ def _ensure_no_block(got_block); end
+
+ # Insert the attributes (given in the hash).
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#315
+ def _insert_attributes(attrs, order = T.unsafe(nil)); end
+
+ # Insert special instruction.
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#291
+ def _special(open, close, data = T.unsafe(nil), attrs = T.unsafe(nil), order = T.unsafe(nil)); end
+
+ # Start an XML tag. If end_too is true, then the start
+ # tag is also the end tag (e.g.
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#302
+ def _start_tag(sym, attrs, end_too = T.unsafe(nil)); end
+
+ # Insert text directly in to the builder's target.
+ #
+ # source://builder//lib/builder/xmlmarkup.rb#286
+ def _text(text); end
+end
diff --git a/sorbet/rbi/gems/code-scanning-rubocop@0.6.1.rbi b/sorbet/rbi/gems/code-scanning-rubocop@0.6.1.rbi
new file mode 100644
index 00000000..8530d408
--- /dev/null
+++ b/sorbet/rbi/gems/code-scanning-rubocop@0.6.1.rbi
@@ -0,0 +1,8 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `code-scanning-rubocop` gem.
+# Please instead update this file by running `bin/tapioca gem code-scanning-rubocop`.
+
+# THIS IS AN EMPTY RBI FILE.
+# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
diff --git a/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi b/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi
new file mode 100644
index 00000000..a4c4ce31
--- /dev/null
+++ b/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi
@@ -0,0 +1,3289 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `concurrent-ruby` gem.
+# Please instead update this file by running `bin/tapioca gem concurrent-ruby`.
+
+# {include:file:README.md}
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#1
+module Concurrent
+ extend ::Concurrent::Utility::EngineDetector
+ extend ::Concurrent::Utility::NativeExtensionLoader
+ extend ::Logger::Severity
+ extend ::Concurrent::Concern::Logging
+ extend ::Concurrent::Concern::Deprecation
+
+ private
+
+ # Returns the current time as tracked by the application monotonic clock.
+ #
+ # @param unit [Symbol] the time unit to be returned, can be either
+ # :float_second, :float_millisecond, :float_microsecond, :second,
+ # :millisecond, :microsecond, or :nanosecond default to :float_second.
+ # @return [Float] The current monotonic time since some unspecified
+ # starting point
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/monotonic_time.rb#15
+ def monotonic_time(unit = T.unsafe(nil)); end
+
+ class << self
+ # @return [Logger] Logger with provided level and output.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#37
+ def create_simple_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end
+
+ # @deprecated
+ # @return [Logger] Logger with provided level and output.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#69
+ def create_stdlib_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end
+
+ # Disables AtExit handlers including pool auto-termination handlers.
+ # When disabled it will be the application programmer's responsibility
+ # to ensure that the handlers are shutdown properly prior to application
+ # exit by calling `AtExit.run` method.
+ #
+ # @deprecated Has no effect since it is no longer needed, see https://github.com/ruby-concurrency/concurrent-ruby/pull/841.
+ # @note this option should be needed only because of `at_exit` ordering
+ # issues which may arise when running some of the testing frameworks.
+ # E.g. Minitest's test-suite runs itself in `at_exit` callback which
+ # executes after the pools are already terminated. Then auto termination
+ # needs to be disabled and called manually after test-suite ends.
+ # @note This method should *never* be called
+ # from within a gem. It should *only* be used from within the main
+ # application and even then it should be used only when necessary.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#48
+ def disable_at_exit_handlers!; end
+
+ # General access point to global executors.
+ #
+ # @param executor_identifier [Symbol, Executor] symbols:
+ # - :fast - {Concurrent.global_fast_executor}
+ # - :io - {Concurrent.global_io_executor}
+ # - :immediate - {Concurrent.global_immediate_executor}
+ # @return [Executor]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#83
+ def executor(executor_identifier); end
+
+ # Global thread pool optimized for short, fast *operations*.
+ #
+ # @return [ThreadPoolExecutor] the thread pool
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#55
+ def global_fast_executor; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#66
+ def global_immediate_executor; end
+
+ # Global thread pool optimized for long, blocking (IO) *tasks*.
+ #
+ # @return [ThreadPoolExecutor] the thread pool
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#62
+ def global_io_executor; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#109
+ def global_logger; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#113
+ def global_logger=(value); end
+
+ # Global thread pool user for global *timers*.
+ #
+ # @return [Concurrent::TimerSet] the thread pool
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#73
+ def global_timer_set; end
+
+ # Returns the current time as tracked by the application monotonic clock.
+ #
+ # @param unit [Symbol] the time unit to be returned, can be either
+ # :float_second, :float_millisecond, :float_microsecond, :second,
+ # :millisecond, :microsecond, or :nanosecond default to :float_second.
+ # @return [Float] The current monotonic time since some unspecified
+ # starting point
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/monotonic_time.rb#15
+ def monotonic_time(unit = T.unsafe(nil)); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#87
+ def new_fast_executor(opts = T.unsafe(nil)); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#98
+ def new_io_executor(opts = T.unsafe(nil)); end
+
+ # Number of physical processor cores on the current system. For performance
+ # reasons the calculated value will be memoized on the first call.
+ #
+ # On Windows the Win32 API will be queried for the `NumberOfCores from
+ # Win32_Processor`. This will return the total number "of cores for the
+ # current instance of the processor." On Unix-like operating systems either
+ # the `hwprefs` or `sysctl` utility will be called in a subshell and the
+ # returned value will be used. In the rare case where none of these methods
+ # work or an exception is raised the function will simply return 1.
+ #
+ # @return [Integer] number physical processor cores on the current system
+ # @see https://github.com/grosser/parallel/blob/4fc8b89d08c7091fe0419ca8fba1ec3ce5a8d185/lib/parallel.rb
+ # @see http://msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx
+ # @see http://www.unix.com/man-page/osx/1/HWPREFS/
+ # @see http://linux.die.net/man/8/sysctl
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#107
+ def physical_processor_count; end
+
+ # Number of processors seen by the OS and used for process scheduling. For
+ # performance reasons the calculated value will be memoized on the first
+ # call.
+ #
+ # When running under JRuby the Java runtime call
+ # `java.lang.Runtime.getRuntime.availableProcessors` will be used. According
+ # to the Java documentation this "value may change during a particular
+ # invocation of the virtual machine... [applications] should therefore
+ # occasionally poll this property." Subsequently the result will NOT be
+ # memoized under JRuby.
+ #
+ # Otherwise Ruby's Etc.nprocessors will be used.
+ #
+ # @return [Integer] number of processors seen by the OS or Java runtime
+ # @see http://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html#availableProcessors()
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#86
+ def processor_count; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#68
+ def processor_counter; end
+
+ # Use logger created by #create_simple_logger to log concurrent-ruby messages.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#63
+ def use_simple_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end
+
+ # Use logger created by #create_stdlib_logger to log concurrent-ruby messages.
+ #
+ # @deprecated
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#96
+ def use_stdlib_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end
+ end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#10
+class Concurrent::AbstractExecutorService < ::Concurrent::Synchronization::LockableObject
+ include ::Logger::Severity
+ include ::Concurrent::Concern::Logging
+ include ::Concurrent::ExecutorService
+ include ::Concurrent::Concern::Deprecation
+
+ # Create a new thread pool.
+ #
+ # @return [AbstractExecutorService] a new instance of AbstractExecutorService
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#23
+ def initialize(opts = T.unsafe(nil), &block); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#72
+ def auto_terminate=(value); end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#67
+ def auto_terminate?; end
+
+ # Returns the value of attribute fallback_policy.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#18
+ def fallback_policy; end
+
+ # @raise [NotImplementedError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#42
+ def kill; end
+
+ # Returns the value of attribute name.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#20
+ def name; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#52
+ def running?; end
+
+ # @raise [NotImplementedError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#37
+ def shutdown; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#62
+ def shutdown?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#57
+ def shuttingdown?; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#32
+ def to_s; end
+
+ # @raise [NotImplementedError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#47
+ def wait_for_termination(timeout = T.unsafe(nil)); end
+
+ private
+
+ # Returns an action which executes the `fallback_policy` once the queue
+ # size reaches `max_queue`. The reason for the indirection of an action
+ # is so that the work can be deferred outside of synchronization.
+ #
+ # @param args [Array] the arguments to the task which is being handled.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#85
+ def fallback_action(*args); end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#126
+ def ns_auto_terminate?; end
+
+ # @raise [NotImplementedError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#106
+ def ns_execute(*args, &task); end
+
+ # Callback method called when the executor has been killed.
+ # The default behavior is to do nothing.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#122
+ def ns_kill_execution; end
+
+ # Callback method called when an orderly shutdown has completed.
+ # The default behavior is to signal all waiting threads.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#114
+ def ns_shutdown_execution; end
+end
+
+# The set of possible fallback policies that may be set at thread pool creation.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb#15
+Concurrent::AbstractExecutorService::FALLBACK_POLICIES = T.let(T.unsafe(nil), Array)
+
+# Define update methods that use direct paths
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/atomic_direct_update.rb#9
+module Concurrent::AtomicDirectUpdate
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/atomic_direct_update.rb#15
+ def try_update; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/atomic_direct_update.rb#24
+ def try_update!; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/atomic_direct_update.rb#10
+ def update; end
+end
+
+# Special "compare and set" handling of numeric values.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#7
+module Concurrent::AtomicNumericCompareAndSetWrapper
+ # Atomically sets the value to the given updated value if
+ # the current value == the expected value.
+ #
+ # that the actual value was not equal to the expected value.
+ #
+ # @param old_value [Object] the expected value
+ # @param new_value [Object] the new value
+ # @return [Boolean] `true` if successful. A `false` return indicates
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#10
+ def compare_and_set(old_value, new_value); end
+end
+
+# An object reference that may be updated atomically. All read and write
+# operations have java volatile semantic.
+#
+#
+# ## Thread-safe Variable Classes
+#
+# Each of the thread-safe variable classes is designed to solve a different
+# problem. In general:
+#
+# * *{Concurrent::Agent}:* Shared, mutable variable providing independent,
+# uncoordinated, *asynchronous* change of individual values. Best used when
+# the value will undergo frequent, complex updates. Suitable when the result
+# of an update does not need to be known immediately.
+# * *{Concurrent::Atom}:* Shared, mutable variable providing independent,
+# uncoordinated, *synchronous* change of individual values. Best used when
+# the value will undergo frequent reads but only occasional, though complex,
+# updates. Suitable when the result of an update must be known immediately.
+# * *{Concurrent::AtomicReference}:* A simple object reference that can be updated
+# atomically. Updates are synchronous but fast. Best used when updates a
+# simple set operations. Not suitable when updates are complex.
+# {Concurrent::AtomicBoolean} and {Concurrent::AtomicFixnum} are similar
+# but optimized for the given data type.
+# * *{Concurrent::Exchanger}:* Shared, stateless synchronization point. Used
+# when two or more threads need to exchange data. The threads will pair then
+# block on each other until the exchange is complete.
+# * *{Concurrent::MVar}:* Shared synchronization point. Used when one thread
+# must give a value to another, which must take the value. The threads will
+# block on each other until the exchange is complete.
+# * *{Concurrent::ThreadLocalVar}:* Shared, mutable, isolated variable which
+# holds a different value for each thread which has access. Often used as
+# an instance variable in objects which must maintain different state
+# for different threads.
+# * *{Concurrent::TVar}:* Shared, mutable variables which provide
+# *coordinated*, *synchronous*, change of *many* stated. Used when multiple
+# value must change together, in an all-or-nothing transaction.
+#
+# @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html
+# @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/package-summary.html
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#126
+class Concurrent::AtomicReference < ::Concurrent::MutexAtomicReference
+ # @return [String] Short string representation.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#129
+ def inspect; end
+
+ # @return [String] Short string representation.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#129
+ def to_s; end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#18
+Concurrent::AtomicReferenceImplementation = Concurrent::MutexAtomicReference
+
+# A thread pool that dynamically grows and shrinks to fit the current workload.
+# New threads are created as needed, existing threads are reused, and threads
+# that remain idle for too long are killed and removed from the pool. These
+# pools are particularly suited to applications that perform a high volume of
+# short-lived tasks.
+#
+# On creation a `CachedThreadPool` has zero running threads. New threads are
+# created on the pool as new operations are `#post`. The size of the pool
+# will grow until `#max_length` threads are in the pool or until the number
+# of threads exceeds the number of running and pending operations. When a new
+# operation is post to the pool the first available idle thread will be tasked
+# with the new operation.
+#
+# Should a thread crash for any reason the thread will immediately be removed
+# from the pool. Similarly, threads which remain idle for an extended period
+# of time will be killed and reclaimed. Thus these thread pools are very
+# efficient at reclaiming unused resources.
+#
+# The API and behavior of this class are based on Java's `CachedThreadPool`
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb#27
+class Concurrent::CachedThreadPool < ::Concurrent::ThreadPoolExecutor
+ # Create a new thread pool.
+ #
+ # @option opts
+ # @param opts [Hash] the options defining pool behavior.
+ # @raise [ArgumentError] if `fallback_policy` is not a known policy
+ # @return [CachedThreadPool] a new instance of CachedThreadPool
+ # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executors.html#newCachedThreadPool--
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb#39
+ def initialize(opts = T.unsafe(nil)); end
+
+ private
+
+ # Create a new thread pool.
+ #
+ # @option opts
+ # @param opts [Hash] the options defining pool behavior.
+ # @raise [ArgumentError] if `fallback_policy` is not a known policy
+ # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executors.html#newCachedThreadPool--
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb#51
+ def ns_initialize(opts); end
+end
+
+# Raised when an asynchronous operation is cancelled before execution.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#9
+class Concurrent::CancelledOperationError < ::Concurrent::Error; end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#4
+module Concurrent::Collection; end
+
+# A thread safe observer set implemented using copy-on-read approach:
+# observers are added and removed from a thread safe collection; every time
+# a notification is required the internal data structure is copied to
+# prevent concurrency issues
+#
+# @api private
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#12
+class Concurrent::Collection::CopyOnNotifyObserverSet < ::Concurrent::Synchronization::LockableObject
+ # @api private
+ # @return [CopyOnNotifyObserverSet] a new instance of CopyOnNotifyObserverSet
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#14
+ def initialize; end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#20
+ def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#55
+ def count_observers; end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#39
+ def delete_observer(observer); end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#47
+ def delete_observers; end
+
+ # Notifies all registered observers with optional args and deletes them.
+ #
+ # @api private
+ # @param args [Object] arguments to be passed to each observer
+ # @return [CopyOnWriteObserverSet] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#72
+ def notify_and_delete_observers(*args, &block); end
+
+ # Notifies all registered observers with optional args
+ #
+ # @api private
+ # @param args [Object] arguments to be passed to each observer
+ # @return [CopyOnWriteObserverSet] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#62
+ def notify_observers(*args, &block); end
+
+ protected
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#80
+ def ns_initialize; end
+
+ private
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#86
+ def duplicate_and_clear_observers; end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#94
+ def duplicate_observers; end
+
+ # @api private
+ # @raise [ArgumentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#98
+ def notify_to(observers, *args); end
+end
+
+# A thread safe observer set implemented using copy-on-write approach:
+# every time an observer is added or removed the whole internal data structure is
+# duplicated and replaced with a new one.
+#
+# @api private
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#11
+class Concurrent::Collection::CopyOnWriteObserverSet < ::Concurrent::Synchronization::LockableObject
+ # @api private
+ # @return [CopyOnWriteObserverSet] a new instance of CopyOnWriteObserverSet
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#13
+ def initialize; end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#19
+ def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#56
+ def count_observers; end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#40
+ def delete_observer(observer); end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#50
+ def delete_observers; end
+
+ # Notifies all registered observers with optional args and deletes them.
+ #
+ # @api private
+ # @param args [Object] arguments to be passed to each observer
+ # @return [CopyOnWriteObserverSet] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#72
+ def notify_and_delete_observers(*args, &block); end
+
+ # Notifies all registered observers with optional args
+ #
+ # @api private
+ # @param args [Object] arguments to be passed to each observer
+ # @return [CopyOnWriteObserverSet] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#63
+ def notify_observers(*args, &block); end
+
+ protected
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#80
+ def ns_initialize; end
+
+ private
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#102
+ def clear_observers_and_return_old; end
+
+ # @api private
+ # @raise [ArgumentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#86
+ def notify_to(observers, *args); end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#94
+ def observers; end
+
+ # @api private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb#98
+ def observers=(new_set); end
+end
+
+# A queue collection in which the elements are sorted based on their
+# comparison (spaceship) operator `<=>`. Items are added to the queue
+# at a position relative to their priority. On removal the element
+# with the "highest" priority is removed. By default the sort order is
+# from highest to lowest, but a lowest-to-highest sort order can be
+# set on construction.
+#
+# The API is based on the `Queue` class from the Ruby standard library.
+#
+# The pure Ruby implementation, `RubyNonConcurrentPriorityQueue` uses a heap algorithm
+# stored in an array. The algorithm is based on the work of Robert Sedgewick
+# and Kevin Wayne.
+#
+# The JRuby native implementation is a thin wrapper around the standard
+# library `java.util.NonConcurrentPriorityQueue`.
+#
+# When running under JRuby the class `NonConcurrentPriorityQueue` extends `JavaNonConcurrentPriorityQueue`.
+# When running under all other interpreters it extends `RubyNonConcurrentPriorityQueue`.
+#
+# @note This implementation is *not* thread safe.
+# @see http://en.wikipedia.org/wiki/Priority_queue
+# @see http://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/Queue.html
+# @see http://algs4.cs.princeton.edu/24pq/index.php#2.6
+# @see http://algs4.cs.princeton.edu/24pq/MaxPQ.java.html
+# @see http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#50
+class Concurrent::Collection::NonConcurrentPriorityQueue < ::Concurrent::Collection::RubyNonConcurrentPriorityQueue
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
+ def <<(item); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
+ def deq; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
+ def enq(item); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#48
+ def has_priority?(item); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
+ def shift; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#54
+ def size; end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#10
+Concurrent::Collection::NonConcurrentPriorityQueueImplementation = Concurrent::Collection::RubyNonConcurrentPriorityQueue
+
+# A queue collection in which the elements are sorted based on their
+# comparison (spaceship) operator `<=>`. Items are added to the queue
+# at a position relative to their priority. On removal the element
+# with the "highest" priority is removed. By default the sort order is
+# from highest to lowest, but a lowest-to-highest sort order can be
+# set on construction.
+#
+# The API is based on the `Queue` class from the Ruby standard library.
+#
+# The pure Ruby implementation, `RubyNonConcurrentPriorityQueue` uses a heap algorithm
+# stored in an array. The algorithm is based on the work of Robert Sedgewick
+# and Kevin Wayne.
+#
+# The JRuby native implementation is a thin wrapper around the standard
+# library `java.util.NonConcurrentPriorityQueue`.
+#
+# When running under JRuby the class `NonConcurrentPriorityQueue` extends `JavaNonConcurrentPriorityQueue`.
+# When running under all other interpreters it extends `RubyNonConcurrentPriorityQueue`.
+#
+# @note This implementation is *not* thread safe.
+# @see http://en.wikipedia.org/wiki/Priority_queue
+# @see http://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/Queue.html
+# @see http://algs4.cs.princeton.edu/24pq/index.php#2.6
+# @see http://algs4.cs.princeton.edu/24pq/MaxPQ.java.html
+# @see http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#8
+class Concurrent::Collection::RubyNonConcurrentPriorityQueue
+ # Create a new priority queue with no items.
+ #
+ # @option opts
+ # @param opts [Hash] the options for creating the queue
+ # @return [RubyNonConcurrentPriorityQueue] a new instance of RubyNonConcurrentPriorityQueue
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#11
+ def initialize(opts = T.unsafe(nil)); end
+
+ # Inserts the specified element into this priority queue.
+ #
+ # @param item [Object] the item to insert onto the queue
+ # @raise [ArgumentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
+ def <<(item); end
+
+ # Removes all of the elements from this priority queue.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#18
+ def clear; end
+
+ # Deletes all items from `self` that are equal to `item`.
+ #
+ # @param item [Object] the item to be removed from the queue
+ # @return [Object] true if the item is found else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#25
+ def delete(item); end
+
+ # Retrieves and removes the head of this queue, or returns `nil` if this
+ # queue is empty.
+ #
+ # @return [Object] the head of the queue or `nil` when empty
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
+ def deq; end
+
+ # Returns `true` if `self` contains no elements.
+ #
+ # @return [Boolean] true if there are no items in the queue else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#43
+ def empty?; end
+
+ # Inserts the specified element into this priority queue.
+ #
+ # @param item [Object] the item to insert onto the queue
+ # @raise [ArgumentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
+ def enq(item); end
+
+ # Returns `true` if the given item is present in `self` (that is, if any
+ # element == `item`), otherwise returns false.
+ #
+ # @param item [Object] the item to search for
+ # @return [Boolean] true if the item is found else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#48
+ def has_priority?(item); end
+
+ # Returns `true` if the given item is present in `self` (that is, if any
+ # element == `item`), otherwise returns false.
+ #
+ # @param item [Object] the item to search for
+ # @return [Boolean] true if the item is found else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#48
+ def include?(item); end
+
+ # The current length of the queue.
+ #
+ # @return [Fixnum] the number of items in the queue
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#54
+ def length; end
+
+ # Retrieves, but does not remove, the head of this queue, or returns `nil`
+ # if this queue is empty.
+ #
+ # @return [Object] the head of the queue or `nil` when empty
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#60
+ def peek; end
+
+ # Retrieves and removes the head of this queue, or returns `nil` if this
+ # queue is empty.
+ #
+ # @return [Object] the head of the queue or `nil` when empty
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
+ def pop; end
+
+ # Inserts the specified element into this priority queue.
+ #
+ # @param item [Object] the item to insert onto the queue
+ # @raise [ArgumentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
+ def push(item); end
+
+ # Retrieves and removes the head of this queue, or returns `nil` if this
+ # queue is empty.
+ #
+ # @return [Object] the head of the queue or `nil` when empty
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
+ def shift; end
+
+ # The current length of the queue.
+ #
+ # @return [Fixnum] the number of items in the queue
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#54
+ def size; end
+
+ private
+
+ # Are the items at the given indexes ordered based on the priority
+ # order specified at construction?
+ #
+ # @param x [Integer] the first index from which to retrieve a comparable value
+ # @param y [Integer] the second index from which to retrieve a comparable value
+ # @return [Boolean] true if the two elements are in the correct priority order
+ # else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#119
+ def ordered?(x, y); end
+
+ # Percolate down to maintain heap invariant.
+ #
+ # @param k [Integer] the index at which to start the percolation
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#128
+ def sink(k); end
+
+ # Exchange the values at the given indexes within the internal array.
+ #
+ # @param x [Integer] the first index to swap
+ # @param y [Integer] the second index to swap
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#103
+ def swap(x, y); end
+
+ # Percolate up to maintain heap invariant.
+ #
+ # @param k [Integer] the index at which to start the percolation
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#147
+ def swim(k); end
+
+ class << self
+ # @!macro priority_queue_method_from_list
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#89
+ def from_list(list, opts = T.unsafe(nil)); end
+ end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#2
+module Concurrent::Concern; end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/deprecation.rb#8
+module Concurrent::Concern::Deprecation
+ include ::Logger::Severity
+ include ::Concurrent::Concern::Logging
+ extend ::Logger::Severity
+ extend ::Concurrent::Concern::Logging
+ extend ::Concurrent::Concern::Deprecation
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/deprecation.rb#12
+ def deprecated(message, strip = T.unsafe(nil)); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/deprecation.rb#27
+ def deprecated_method(old_name, new_name); end
+end
+
+# Object references in Ruby are mutable. This can lead to serious problems when
+# the `#value` of a concurrent object is a mutable reference. Which is always the
+# case unless the value is a `Fixnum`, `Symbol`, or similar "primitive" data type.
+# Most classes in this library that expose a `#value` getter method do so using the
+# `Dereferenceable` mixin module.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#11
+module Concurrent::Concern::Dereferenceable
+ # Return the value this object represents after applying the options specified
+ # by the `#set_deref_options` method.
+ #
+ # @return [Object] the current value of the object
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#21
+ def deref; end
+
+ # Return the value this object represents after applying the options specified
+ # by the `#set_deref_options` method.
+ #
+ # @return [Object] the current value of the object
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#21
+ def value; end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#63
+ def apply_deref_options(value); end
+
+ # Set the options which define the operations #value performs before
+ # returning data to the caller (dereferencing).
+ #
+ # @note Most classes that include this module will call `#set_deref_options`
+ # from within the constructor, thus allowing these options to be set at
+ # object creation.
+ # @option opts
+ # @option opts
+ # @option opts
+ # @param opts [Hash] the options defining dereference behavior.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#54
+ def ns_set_deref_options(opts); end
+
+ # Set the options which define the operations #value performs before
+ # returning data to the caller (dereferencing).
+ #
+ # @note Most classes that include this module will call `#set_deref_options`
+ # from within the constructor, thus allowing these options to be set at
+ # object creation.
+ # @option opts
+ # @option opts
+ # @option opts
+ # @param opts [Hash] the options defining dereference behavior.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#48
+ def set_deref_options(opts = T.unsafe(nil)); end
+
+ # Set the internal value of this object
+ #
+ # @param value [Object] the new value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#31
+ def value=(value); end
+end
+
+# Include where logging is needed
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#10
+module Concurrent::Concern::Logging
+ include ::Logger::Severity
+
+ # Logs through {Concurrent.global_logger}, it can be overridden by setting @logger
+ #
+ # @param level [Integer] one of Logger::Severity constants
+ # @param progname [String] e.g. a path of an Actor
+ # @param message [String, nil] when nil block is used to generate the message
+ # @yieldreturn [String] a message
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#18
+ def log(level, progname, message = T.unsafe(nil), &block); end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#10
+module Concurrent::Concern::Obligation
+ include ::Concurrent::Concern::Dereferenceable
+
+ # Has the obligation completed processing?
+ #
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#49
+ def complete?; end
+
+ # @example allows Obligation to be risen
+ # rejected_ivar = Ivar.new.fail
+ # raise rejected_ivar
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#126
+ def exception(*args); end
+
+ # Has the obligation been fulfilled?
+ #
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#20
+ def fulfilled?; end
+
+ # Is the obligation still awaiting completion of processing?
+ #
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#56
+ def incomplete?; end
+
+ # Wait until obligation is complete or the timeout is reached. Will re-raise
+ # any exceptions raised during processing (but will not raise an exception
+ # on timeout).
+ #
+ # @param timeout [Numeric] the maximum time in seconds to wait.
+ # @raise [Exception] raises the reason when rejected
+ # @return [Obligation] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#86
+ def no_error!(timeout = T.unsafe(nil)); end
+
+ # Is obligation completion still pending?
+ #
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#35
+ def pending?; end
+
+ # Has the obligation been fulfilled?
+ #
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#20
+ def realized?; end
+
+ # If an exception was raised during processing this will return the
+ # exception object. Will return `nil` when the state is pending or if
+ # the obligation has been successfully fulfilled.
+ #
+ # @return [Exception] the exception raised during processing or `nil`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#119
+ def reason; end
+
+ # Has the obligation been rejected?
+ #
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#28
+ def rejected?; end
+
+ # The current state of the obligation.
+ #
+ # @return [Symbol] the current state
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#110
+ def state; end
+
+ # Is the obligation still unscheduled?
+ #
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#42
+ def unscheduled?; end
+
+ # The current value of the obligation. Will be `nil` while the state is
+ # pending or the operation has been rejected.
+ #
+ # @param timeout [Numeric] the maximum time in seconds to wait.
+ # @return [Object] see Dereferenceable#deref
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#65
+ def value(timeout = T.unsafe(nil)); end
+
+ # The current value of the obligation. Will be `nil` while the state is
+ # pending or the operation has been rejected. Will re-raise any exceptions
+ # raised during processing (but will not raise an exception on timeout).
+ #
+ # @param timeout [Numeric] the maximum time in seconds to wait.
+ # @raise [Exception] raises the reason when rejected
+ # @return [Object] see Dereferenceable#deref
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#98
+ def value!(timeout = T.unsafe(nil)); end
+
+ # Wait until obligation is complete or the timeout has been reached.
+ #
+ # @param timeout [Numeric] the maximum time in seconds to wait.
+ # @return [Obligation] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#74
+ def wait(timeout = T.unsafe(nil)); end
+
+ # Wait until obligation is complete or the timeout is reached. Will re-raise
+ # any exceptions raised during processing (but will not raise an exception
+ # on timeout).
+ #
+ # @param timeout [Numeric] the maximum time in seconds to wait.
+ # @raise [Exception] raises the reason when rejected
+ # @return [Obligation] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#86
+ def wait!(timeout = T.unsafe(nil)); end
+
+ protected
+
+ # Atomic compare and set operation
+ # State is set to `next_state` only if `current state == expected_current`.
+ #
+ # @param next_state [Symbol]
+ # @param expected_current [Symbol]
+ # @return [Boolean] true is state is changed, false otherwise
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#174
+ def compare_and_set_state(next_state, *expected_current); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#145
+ def event; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#134
+ def get_arguments_from(opts = T.unsafe(nil)); end
+
+ # Executes the block within mutex if current state is included in expected_states
+ #
+ # @return block value if executed, false otherwise
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#190
+ def if_state(*expected_states); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#139
+ def init_obligation; end
+
+ # Am I in the current state?
+ #
+ # @param expected [Symbol] The state to check against
+ # @return [Boolean] true if in the expected state else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#210
+ def ns_check_state?(expected); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#215
+ def ns_set_state(value); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#150
+ def set_state(success, value, reason); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#161
+ def state=(value); end
+end
+
+# The [observer pattern](http://en.wikipedia.org/wiki/Observer_pattern) is one
+# of the most useful design patterns.
+#
+# The workflow is very simple:
+# - an `observer` can register itself to a `subject` via a callback
+# - many `observers` can be registered to the same `subject`
+# - the `subject` notifies all registered observers when its status changes
+# - an `observer` can deregister itself when is no more interested to receive
+# event notifications
+#
+# In a single threaded environment the whole pattern is very easy: the
+# `subject` can use a simple data structure to manage all its subscribed
+# `observer`s and every `observer` can react directly to every event without
+# caring about synchronization.
+#
+# In a multi threaded environment things are more complex. The `subject` must
+# synchronize the access to its data structure and to do so currently we're
+# using two specialized ObserverSet: {Concurrent::Concern::CopyOnWriteObserverSet}
+# and {Concurrent::Concern::CopyOnNotifyObserverSet}.
+#
+# When implementing and `observer` there's a very important rule to remember:
+# **there are no guarantees about the thread that will execute the callback**
+#
+# Let's take this example
+# ```
+# class Observer
+# def initialize
+# @count = 0
+# end
+#
+# def update
+# @count += 1
+# end
+# end
+#
+# obs = Observer.new
+# [obj1, obj2, obj3, obj4].each { |o| o.add_observer(obs) }
+# # execute [obj1, obj2, obj3, obj4]
+# ```
+#
+# `obs` is wrong because the variable `@count` can be accessed by different
+# threads at the same time, so it should be synchronized (using either a Mutex
+# or an AtomicFixum)
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#50
+module Concurrent::Concern::Observable
+ # Adds an observer to this set. If a block is passed, the observer will be
+ # created by this method and no other params should be passed.
+ #
+ # @param observer [Object] the observer to add
+ # @param func [Symbol] the function to call on the observer during notification.
+ # Default is :update
+ # @return [Object] the added observer
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#61
+ def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end
+
+ # Return the number of observers associated with this object.
+ #
+ # @return [Integer] the observers count
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#101
+ def count_observers; end
+
+ # Remove `observer` as an observer on this object so that it will no
+ # longer receive notifications.
+ #
+ # @param observer [Object] the observer to remove
+ # @return [Object] the deleted observer
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#82
+ def delete_observer(observer); end
+
+ # Remove all observers associated with this object.
+ #
+ # @return [Observable] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#91
+ def delete_observers; end
+
+ # As `#add_observer` but can be used for chaining.
+ #
+ # @param observer [Object] the observer to add
+ # @param func [Symbol] the function to call on the observer during notification.
+ # @return [Observable] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#70
+ def with_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end
+
+ protected
+
+ # Returns the value of attribute observers.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#107
+ def observers; end
+
+ # Sets the attribute observers
+ #
+ # @param value the value to set the attribute observers to.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#107
+ def observers=(_arg0); end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#70
+class Concurrent::ConcurrentUpdateError < ::ThreadError; end
+
+# frozen pre-allocated backtrace to speed ConcurrentUpdateError
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#72
+Concurrent::ConcurrentUpdateError::CONC_UP_ERR_BACKTRACE = T.let(T.unsafe(nil), Array)
+
+# Raised when errors occur during configuration.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#6
+class Concurrent::ConfigurationError < ::Concurrent::Error; end
+
+# Lazy evaluation of a block yielding an immutable result. Useful for
+# expensive operations that may never be needed. It may be non-blocking,
+# supports the `Concern::Obligation` interface, and accepts the injection of
+# custom executor upon which to execute the block. Processing of
+# block will be deferred until the first time `#value` is called.
+# At that time the caller can choose to return immediately and let
+# the block execute asynchronously, block indefinitely, or block
+# with a timeout.
+#
+# When a `Delay` is created its state is set to `pending`. The value and
+# reason are both `nil`. The first time the `#value` method is called the
+# enclosed opration will be run and the calling thread will block. Other
+# threads attempting to call `#value` will block as well. Once the operation
+# is complete the *value* will be set to the result of the operation or the
+# *reason* will be set to the raised exception, as appropriate. All threads
+# blocked on `#value` will return. Subsequent calls to `#value` will immediately
+# return the cached value. The operation will only be run once. This means that
+# any side effects created by the operation will only happen once as well.
+#
+# `Delay` includes the `Concurrent::Concern::Dereferenceable` mixin to support thread
+# safety of the reference returned by `#value`.
+#
+# @note The default behavior of `Delay` is to block indefinitely when
+# calling either `value` or `wait`, executing the delayed operation on
+# the current thread. This makes the `timeout` value completely
+# irrelevant. To enable non-blocking behavior, use the `executor`
+# constructor option. This will cause the delayed operation to be
+# execute on the given executor, allowing the call to timeout.
+# @see Concurrent::Concern::Dereferenceable
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#44
+class Concurrent::Delay < ::Concurrent::Synchronization::LockableObject
+ include ::Concurrent::Concern::Dereferenceable
+ include ::Concurrent::Concern::Obligation
+
+ # Create a new `Delay` in the `:pending` state.
+ #
+ # @raise [ArgumentError] if no block is given
+ # @return [Delay] a new instance of Delay
+ # @yield the delayed operation to perform
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#62
+ def initialize(opts = T.unsafe(nil), &block); end
+
+ # Reconfigures the block returning the value if still `#incomplete?`
+ #
+ # @return [true, false] if success
+ # @yield the delayed operation to perform
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#146
+ def reconfigure(&block); end
+
+ # Return the value this object represents after applying the options
+ # specified by the `#set_deref_options` method. If the delayed operation
+ # raised an exception this method will return nil. The exception object
+ # can be accessed via the `#reason` method.
+ #
+ # @note The default behavior of `Delay` is to block indefinitely when
+ # calling either `value` or `wait`, executing the delayed operation on
+ # the current thread. This makes the `timeout` value completely
+ # irrelevant. To enable non-blocking behavior, use the `executor`
+ # constructor option. This will cause the delayed operation to be
+ # execute on the given executor, allowing the call to timeout.
+ # @param timeout [Numeric] the maximum number of seconds to wait
+ # @return [Object] the current value of the object
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#77
+ def value(timeout = T.unsafe(nil)); end
+
+ # Return the value this object represents after applying the options
+ # specified by the `#set_deref_options` method. If the delayed operation
+ # raised an exception, this method will raise that exception (even when)
+ # the operation has already been executed).
+ #
+ # @note The default behavior of `Delay` is to block indefinitely when
+ # calling either `value` or `wait`, executing the delayed operation on
+ # the current thread. This makes the `timeout` value completely
+ # irrelevant. To enable non-blocking behavior, use the `executor`
+ # constructor option. This will cause the delayed operation to be
+ # execute on the given executor, allowing the call to timeout.
+ # @param timeout [Numeric] the maximum number of seconds to wait
+ # @raise [Exception] when `#rejected?` raises `#reason`
+ # @return [Object] the current value of the object
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#113
+ def value!(timeout = T.unsafe(nil)); end
+
+ # Return the value this object represents after applying the options
+ # specified by the `#set_deref_options` method.
+ #
+ # @note The default behavior of `Delay` is to block indefinitely when
+ # calling either `value` or `wait`, executing the delayed operation on
+ # the current thread. This makes the `timeout` value completely
+ # irrelevant. To enable non-blocking behavior, use the `executor`
+ # constructor option. This will cause the delayed operation to be
+ # execute on the given executor, allowing the call to timeout.
+ # @param timeout [Integer] (nil) the maximum number of seconds to wait for
+ # the value to be computed. When `nil` the caller will block indefinitely.
+ # @return [Object] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#132
+ def wait(timeout = T.unsafe(nil)); end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#160
+ def ns_initialize(opts, &block); end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/delay.rb#173
+ def execute_task_once; end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#3
+class Concurrent::Error < ::StandardError; end
+
+# Old school kernel-style event reminiscent of Win32 programming in C++.
+#
+# When an `Event` is created it is in the `unset` state. Threads can choose to
+# `#wait` on the event, blocking until released by another thread. When one
+# thread wants to alert all blocking threads it calls the `#set` method which
+# will then wake up all listeners. Once an `Event` has been set it remains set.
+# New threads calling `#wait` will return immediately. An `Event` may be
+# `#reset` at any time once it has been set.
+#
+# @example
+# event = Concurrent::Event.new
+#
+# t1 = Thread.new do
+# puts "t1 is waiting"
+# event.wait(1)
+# puts "event occurred"
+# end
+#
+# t2 = Thread.new do
+# puts "t2 calling set"
+# event.set
+# end
+#
+# [t1, t2].each(&:join)
+#
+# # prints:
+# # t1 is waiting
+# # t2 calling set
+# # event occurred
+# @see http://msdn.microsoft.com/en-us/library/windows/desktop/ms682655.aspx
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#36
+class Concurrent::Event < ::Concurrent::Synchronization::LockableObject
+ # Creates a new `Event` in the unset state. Threads calling `#wait` on the
+ # `Event` will block.
+ #
+ # @return [Event] a new instance of Event
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#40
+ def initialize; end
+
+ # Reset a previously set event back to the `unset` state.
+ # Has no effect if the `Event` has not yet been set.
+ #
+ # @return [Boolean] should always return `true`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#68
+ def reset; end
+
+ # Trigger the event, setting the state to `set` and releasing all threads
+ # waiting on the event. Has no effect if the `Event` has already been set.
+ #
+ # @return [Boolean] should always return `true`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#56
+ def set; end
+
+ # Is the object in the set state?
+ #
+ # @return [Boolean] indicating whether or not the `Event` has been set
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#48
+ def set?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#60
+ def try?; end
+
+ # Wait a given number of seconds for the `Event` to be set by another
+ # thread. Will wait forever when no `timeout` value is given. Returns
+ # immediately if the `Event` has already been set.
+ #
+ # @return [Boolean] true if the `Event` was set before timeout else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#83
+ def wait(timeout = T.unsafe(nil)); end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#104
+ def ns_initialize; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/event.rb#96
+ def ns_set; end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#157
+module Concurrent::ExecutorService
+ include ::Logger::Severity
+ include ::Concurrent::Concern::Logging
+
+ # Submit a task to the executor for asynchronous processing.
+ #
+ # @param task [Proc] the asynchronous task to perform
+ # @return [self] returns itself
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#166
+ def <<(task); end
+
+ # Does the task queue have a maximum size?
+ #
+ # @note Always returns `false`
+ # @return [Boolean] True if the task queue has a maximum size else false.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#174
+ def can_overflow?; end
+
+ # Submit a task to the executor for asynchronous processing.
+ #
+ # @param args [Array] zero or more arguments to be passed to the task
+ # @raise [ArgumentError] if no task is given
+ # @return [Boolean] `true` if the task is queued, `false` if the executor
+ # is not running
+ # @yield the asynchronous task to perform
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#161
+ def post(*args, &task); end
+
+ # Does this executor guarantee serialization of its operations?
+ #
+ # @note Always returns `false`
+ # @return [Boolean] True if the executor guarantees that all operations
+ # will be post in the order they are received and no two operations may
+ # occur simultaneously. Else false.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#181
+ def serialized?; end
+end
+
+# A thread pool that reuses a fixed number of threads operating off an unbounded queue.
+# At any point, at most `num_threads` will be active processing tasks. When all threads are busy new
+# tasks `#post` to the thread pool are enqueued until a thread becomes available.
+# Should a thread crash for any reason the thread will immediately be removed
+# from the pool and replaced.
+#
+# The API and behavior of this class are based on Java's `FixedThreadPool`
+#
+# **Thread Pool Options**
+#
+# Thread pools support several configuration options:
+#
+# * `idletime`: The number of seconds that a thread may be idle before being reclaimed.
+# * `name`: The name of the executor (optional). Printed in the executor's `#to_s` output and
+# a `-worker-` name is given to its threads if supported by used Ruby
+# implementation. `` is uniq for each thread.
+# * `max_queue`: The maximum number of tasks that may be waiting in the work queue at
+# any one time. When the queue size reaches `max_queue` and no new threads can be created,
+# subsequent tasks will be rejected in accordance with the configured `fallback_policy`.
+# * `auto_terminate`: When true (default), the threads started will be marked as daemon.
+# * `fallback_policy`: The policy defining how rejected tasks are handled.
+#
+# Three fallback policies are supported:
+#
+# * `:abort`: Raise a `RejectedExecutionError` exception and discard the task.
+# * `:discard`: Discard the task and return false.
+# * `:caller_runs`: Execute the task on the calling thread.
+#
+# **Shutting Down Thread Pools**
+#
+# Killing a thread pool while tasks are still being processed, either by calling
+# the `#kill` method or at application exit, will have unpredictable results. There
+# is no way for the thread pool to know what resources are being used by the
+# in-progress tasks. When those tasks are killed the impact on those resources
+# cannot be predicted. The *best* practice is to explicitly shutdown all thread
+# pools using the provided methods:
+#
+# * Call `#shutdown` to initiate an orderly termination of all in-progress tasks
+# * Call `#wait_for_termination` with an appropriate timeout interval an allow
+# the orderly shutdown to complete
+# * Call `#kill` *only when* the thread pool fails to shutdown in the allotted time
+#
+# On some runtime platforms (most notably the JVM) the application will not
+# exit until all thread pools have been shutdown. To prevent applications from
+# "hanging" on exit, all threads can be marked as daemon according to the
+# `:auto_terminate` option.
+#
+# ```ruby
+# pool1 = Concurrent::FixedThreadPool.new(5) # threads will be marked as daemon
+# pool2 = Concurrent::FixedThreadPool.new(5, auto_terminate: false) # mark threads as non-daemon
+# ```
+#
+# @note Failure to properly shutdown a thread pool can lead to unpredictable results.
+# Please read *Shutting Down Thread Pools* for more information.
+# @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
+# @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html Java Executors class
+# @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html Java ExecutorService interface
+# @see https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#setDaemon-boolean-
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb#201
+class Concurrent::FixedThreadPool < ::Concurrent::ThreadPoolExecutor
+ # Create a new thread pool.
+ #
+ # @option opts
+ # @param num_threads [Integer] the number of threads to allocate
+ # @param opts [Hash] the options defining pool behavior.
+ # @raise [ArgumentError] if `num_threads` is less than or equal to zero
+ # @raise [ArgumentError] if `fallback_policy` is not a known policy
+ # @return [FixedThreadPool] a new instance of FixedThreadPool
+ # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executors.html#newFixedThreadPool-int-
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb#215
+ def initialize(num_threads, opts = T.unsafe(nil)); end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#18
+Concurrent::GLOBAL_FAST_EXECUTOR = T.let(T.unsafe(nil), Concurrent::Delay)
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#30
+Concurrent::GLOBAL_IMMEDIATE_EXECUTOR = T.let(T.unsafe(nil), Concurrent::ImmediateExecutor)
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#22
+Concurrent::GLOBAL_IO_EXECUTOR = T.let(T.unsafe(nil), Concurrent::Delay)
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#106
+Concurrent::GLOBAL_LOGGER = T.let(T.unsafe(nil), Concurrent::AtomicReference)
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/configuration.rb#26
+Concurrent::GLOBAL_TIMER_SET = T.let(T.unsafe(nil), Concurrent::Delay)
+
+# An `IVar` is like a future that you can assign. As a future is a value that
+# is being computed that you can wait on, an `IVar` is a value that is waiting
+# to be assigned, that you can wait on. `IVars` are single assignment and
+# deterministic.
+#
+# Then, express futures as an asynchronous computation that assigns an `IVar`.
+# The `IVar` becomes the primitive on which [futures](Future) and
+# [dataflow](Dataflow) are built.
+#
+# An `IVar` is a single-element container that is normally created empty, and
+# can only be set once. The I in `IVar` stands for immutable. Reading an
+# `IVar` normally blocks until it is set. It is safe to set and read an `IVar`
+# from different threads.
+#
+# If you want to have some parallel task set the value in an `IVar`, you want
+# a `Future`. If you want to create a graph of parallel tasks all executed
+# when the values they depend on are ready you want `dataflow`. `IVar` is
+# generally a low-level primitive.
+#
+# ## Examples
+#
+# Create, set and get an `IVar`
+#
+# ```ruby
+# ivar = Concurrent::IVar.new
+# ivar.set 14
+# ivar.value #=> 14
+# ivar.set 2 # would now be an error
+# ```
+#
+# ## See Also
+#
+# 1. For the theory: Arvind, R. Nikhil, and K. Pingali.
+# [I-Structures: Data structures for parallel computing](http://dl.acm.org/citation.cfm?id=69562).
+# In Proceedings of Workshop on Graph Reduction, 1986.
+# 2. For recent application:
+# [DataDrivenFuture in Habanero Java from Rice](http://www.cs.rice.edu/~vs3/hjlib/doc/edu/rice/hj/api/HjDataDrivenFuture.html).
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#48
+class Concurrent::IVar < ::Concurrent::Synchronization::LockableObject
+ include ::Concurrent::Concern::Dereferenceable
+ include ::Concurrent::Concern::Obligation
+ include ::Concurrent::Concern::Observable
+
+ # Create a new `IVar` in the `:pending` state with the (optional) initial value.
+ #
+ # @option opts
+ # @option opts
+ # @option opts
+ # @param value [Object] the initial value
+ # @param opts [Hash] the options to create a message with
+ # @return [IVar] a new instance of IVar
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#62
+ def initialize(value = T.unsafe(nil), opts = T.unsafe(nil), &block); end
+
+ # Add an observer on this object that will receive notification on update.
+ #
+ # Upon completion the `IVar` will notify all observers in a thread-safe way.
+ # The `func` method of the observer will be called with three arguments: the
+ # `Time` at which the `Future` completed the asynchronous operation, the
+ # final `value` (or `nil` on rejection), and the final `reason` (or `nil` on
+ # fulfillment).
+ #
+ # @param observer [Object] the object that will be notified of changes
+ # @param func [Symbol] symbol naming the method to call when this
+ # `Observable` has changes`
+ # @raise [ArgumentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#81
+ def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end
+
+ # Set the `IVar` to failed due to some error and wake or notify all threads waiting on it.
+ #
+ # @param reason [Object] for the failure
+ # @raise [Concurrent::MultipleAssignmentError] if the `IVar` has already
+ # been set or otherwise completed
+ # @return [IVar] self
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#135
+ def fail(reason = T.unsafe(nil)); end
+
+ # Set the `IVar` to a value and wake or notify all threads waiting on it.
+ #
+ # @param value [Object] the value to store in the `IVar`
+ # @raise [ArgumentError] if both a value and a block are given
+ # @raise [Concurrent::MultipleAssignmentError] if the `IVar` has already
+ # been set or otherwise completed
+ # @return [IVar] self
+ # @yield A block operation to use for setting the value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#113
+ def set(value = T.unsafe(nil)); end
+
+ # Attempt to set the `IVar` with the given value or block. Return a
+ # boolean indicating the success or failure of the set operation.
+ #
+ # @param value [Object] the value to store in the `IVar`
+ # @raise [ArgumentError] if both a value and a block are given
+ # @raise [Concurrent::MultipleAssignmentError] if the `IVar` has already
+ # been set or otherwise completed
+ # @return [Boolean] true if the value was set else false
+ # @yield A block operation to use for setting the value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#145
+ def try_set(value = T.unsafe(nil), &block); end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#202
+ def check_for_block_or_value!(block_given, value); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#177
+ def complete(success, value, reason); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#184
+ def complete_without_notification(success, value, reason); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#190
+ def notify_observers(value, reason); end
+
+ # @raise [MultipleAssignmentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#195
+ def ns_complete_without_notification(success, value, reason); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#155
+ def ns_initialize(value, opts); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#168
+ def safe_execute(task, args = T.unsafe(nil)); end
+end
+
+# Raised when an operation is attempted which is not legal given the
+# receiver's current state
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#20
+class Concurrent::IllegalOperationError < ::Concurrent::Error; end
+
+# An executor service which runs all operations on the current thread,
+# blocking as necessary. Operations are performed in the order they are
+# received and no two operations can be performed simultaneously.
+#
+# This executor service exists mainly for testing an debugging. When used
+# it immediately runs every `#post` operation on the current thread, blocking
+# that thread until the operation is complete. This can be very beneficial
+# during testing because it makes all operations deterministic.
+#
+# @note Intended for use primarily in testing and debugging.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#17
+class Concurrent::ImmediateExecutor < ::Concurrent::AbstractExecutorService
+ include ::Concurrent::SerialExecutorService
+
+ # Creates a new executor
+ #
+ # @return [ImmediateExecutor] a new instance of ImmediateExecutor
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#21
+ def initialize; end
+
+ # Submit a task to the executor for asynchronous processing.
+ #
+ # @param task [Proc] the asynchronous task to perform
+ # @return [self] returns itself
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#34
+ def <<(task); end
+
+ # Begin an orderly shutdown. Tasks already in the queue will be executed,
+ # but no new tasks will be accepted. Has no additional effect if the
+ # thread pool is not running.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#55
+ def kill; end
+
+ # Submit a task to the executor for asynchronous processing.
+ #
+ # @param args [Array] zero or more arguments to be passed to the task
+ # @raise [ArgumentError] if no task is given
+ # @return [Boolean] `true` if the task is queued, `false` if the executor
+ # is not running
+ # @yield the asynchronous task to perform
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#26
+ def post(*args, &task); end
+
+ # Is the executor running?
+ #
+ # @return [Boolean] `true` when running, `false` when shutting down or shutdown
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#40
+ def running?; end
+
+ # Begin an orderly shutdown. Tasks already in the queue will be executed,
+ # but no new tasks will be accepted. Has no additional effect if the
+ # thread pool is not running.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#55
+ def shutdown; end
+
+ # Is the executor shutdown?
+ #
+ # @return [Boolean] `true` when shutdown, `false` when shutting down or running
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#50
+ def shutdown?; end
+
+ # Is the executor shuttingdown?
+ #
+ # @return [Boolean] `true` when not running and not shutdown, else `false`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#45
+ def shuttingdown?; end
+
+ # Block until executor shutdown is complete or until `timeout` seconds have
+ # passed.
+ #
+ # @note Does not initiate shutdown or termination. Either `shutdown` or `kill`
+ # must be called before this method (or on another thread).
+ # @param timeout [Integer] the maximum number of seconds to wait for shutdown to complete
+ # @return [Boolean] `true` if shutdown complete or false on `timeout`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#62
+ def wait_for_termination(timeout = T.unsafe(nil)); end
+end
+
+# Raised when an attempt is made to violate an immutability guarantee.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#16
+class Concurrent::ImmutabilityError < ::Concurrent::Error; end
+
+# Raised when an object's methods are called when it has not been
+# properly initialized.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#24
+class Concurrent::InitializationError < ::Concurrent::Error; end
+
+# Raised when a lifecycle method (such as `stop`) is called in an improper
+# sequence or when the object is in an inappropriate state.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#13
+class Concurrent::LifecycleError < ::Concurrent::Error; end
+
+# Raised when an object with a start/stop lifecycle has been started an
+# excessive number of times. Often used in conjunction with a restart
+# policy or strategy.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#29
+class Concurrent::MaxRestartFrequencyError < ::Concurrent::Error; end
+
+# Raised when an attempt is made to modify an immutable object
+# (such as an `IVar`) after its final state has been set.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#33
+class Concurrent::MultipleAssignmentError < ::Concurrent::Error
+ # @return [MultipleAssignmentError] a new instance of MultipleAssignmentError
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#36
+ def initialize(message = T.unsafe(nil), inspection_data = T.unsafe(nil)); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#41
+ def inspect; end
+
+ # Returns the value of attribute inspection_data.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#34
+ def inspection_data; end
+end
+
+# Aggregates multiple exceptions.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#58
+class Concurrent::MultipleErrors < ::Concurrent::Error
+ # @return [MultipleErrors] a new instance of MultipleErrors
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#61
+ def initialize(errors, message = T.unsafe(nil)); end
+
+ # Returns the value of attribute errors.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#59
+ def errors; end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#9
+class Concurrent::MutexAtomicReference
+ include ::Concurrent::AtomicDirectUpdate
+ include ::Concurrent::AtomicNumericCompareAndSetWrapper
+ extend ::Concurrent::Synchronization::SafeInitialization
+
+ # @param value [Object] The initial value.
+ # @return [MutexAtomicReference] a new instance of MutexAtomicReference
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#16
+ def initialize(value = T.unsafe(nil)); end
+
+ # Atomically sets the value to the given updated value if
+ # the current value == the expected value.
+ #
+ # that the actual value was not equal to the expected value.
+ #
+ # @param old_value [Object] the expected value
+ # @param new_value [Object] the new value
+ # @return [Boolean] `true` if successful. A `false` return indicates
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#45
+ def _compare_and_set(old_value, new_value); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#10
+ def compare_and_swap(old_value, new_value); end
+
+ # Gets the current value.
+ #
+ # @return [Object] the current value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#23
+ def get; end
+
+ # Atomically sets to the given value and returns the old value.
+ #
+ # @param new_value [Object] the new value
+ # @return [Object] the old value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#35
+ def get_and_set(new_value); end
+
+ # Sets to the given value.
+ #
+ # @param new_value [Object] the new value
+ # @return [Object] the new value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#29
+ def set(new_value); end
+
+ # Atomically sets to the given value and returns the old value.
+ #
+ # @param new_value [Object] the new value
+ # @return [Object] the old value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#35
+ def swap(new_value); end
+
+ # Gets the current value.
+ #
+ # @return [Object] the current value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#23
+ def value; end
+
+ # Sets to the given value.
+ #
+ # @param new_value [Object] the new value
+ # @return [Object] the new value
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#29
+ def value=(new_value); end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#59
+ def synchronize; end
+end
+
+# Various classes within allows for +nil+ values to be stored,
+# so a special +NULL+ token is required to indicate the "nil-ness".
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/constants.rb#6
+Concurrent::NULL = T.let(T.unsafe(nil), Object)
+
+# Suppresses all output when used for logging.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#103
+Concurrent::NULL_LOGGER = T.let(T.unsafe(nil), Proc)
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/options.rb#6
+module Concurrent::Options
+ class << self
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/options.rb#27
+ def executor(executor_identifier); end
+
+ # Get the requested `Executor` based on the values set in the options hash.
+ #
+ # @option opts
+ # @param opts [Hash] the options defining the requested executor
+ # @return [Executor, nil] the requested thread pool, or nil when no option specified
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/options.rb#19
+ def executor_from_options(opts = T.unsafe(nil)); end
+ end
+end
+
+# Raised by an `Executor` when it is unable to process a given task,
+# possibly because of a reject policy or other internal error.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#48
+class Concurrent::RejectedExecutionError < ::Concurrent::Error; end
+
+# Raised when any finite resource, such as a lock counter, exceeds its
+# maximum limit/threshold.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#52
+class Concurrent::ResourceLimitError < ::Concurrent::Error; end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#8
+class Concurrent::RubyExecutorService < ::Concurrent::AbstractExecutorService
+ # @return [RubyExecutorService] a new instance of RubyExecutorService
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#11
+ def initialize(*args, &block); end
+
+ # Begin an immediate shutdown. In-progress tasks will be allowed to
+ # complete but enqueued tasks will be dismissed and no new tasks
+ # will be accepted. Has no additional effect if the thread pool is
+ # not running.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#42
+ def kill; end
+
+ # Submit a task to the executor for asynchronous processing.
+ #
+ # @param args [Array] zero or more arguments to be passed to the task
+ # @raise [ArgumentError] if no task is given
+ # @return [Boolean] `true` if the task is queued, `false` if the executor
+ # is not running
+ # @yield the asynchronous task to perform
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#17
+ def post(*args, &task); end
+
+ # Begin an orderly shutdown. Tasks already in the queue will be executed,
+ # but no new tasks will be accepted. Has no additional effect if the
+ # thread pool is not running.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#33
+ def shutdown; end
+
+ # Block until executor shutdown is complete or until `timeout` seconds have
+ # passed.
+ #
+ # @note Does not initiate shutdown or termination. Either `shutdown` or `kill`
+ # must be called before this method (or on another thread).
+ # @param timeout [Integer] the maximum number of seconds to wait for shutdown to complete
+ # @return [Boolean] `true` if shutdown complete or false on `timeout`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#52
+ def wait_for_termination(timeout = T.unsafe(nil)); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#70
+ def ns_running?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#78
+ def ns_shutdown?; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#66
+ def ns_shutdown_execution; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#74
+ def ns_shuttingdown?; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#58
+ def stop_event; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#62
+ def stopped_event; end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb#8
+class Concurrent::RubySingleThreadExecutor < ::Concurrent::RubyThreadPoolExecutor
+ # @return [RubySingleThreadExecutor] a new instance of RubySingleThreadExecutor
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb#11
+ def initialize(opts = T.unsafe(nil)); end
+end
+
+# **Thread Pool Options**
+#
+# Thread pools support several configuration options:
+#
+# * `idletime`: The number of seconds that a thread may be idle before being reclaimed.
+# * `name`: The name of the executor (optional). Printed in the executor's `#to_s` output and
+# a `-worker-` name is given to its threads if supported by used Ruby
+# implementation. `` is uniq for each thread.
+# * `max_queue`: The maximum number of tasks that may be waiting in the work queue at
+# any one time. When the queue size reaches `max_queue` and no new threads can be created,
+# subsequent tasks will be rejected in accordance with the configured `fallback_policy`.
+# * `auto_terminate`: When true (default), the threads started will be marked as daemon.
+# * `fallback_policy`: The policy defining how rejected tasks are handled.
+#
+# Three fallback policies are supported:
+#
+# * `:abort`: Raise a `RejectedExecutionError` exception and discard the task.
+# * `:discard`: Discard the task and return false.
+# * `:caller_runs`: Execute the task on the calling thread.
+#
+# **Shutting Down Thread Pools**
+#
+# Killing a thread pool while tasks are still being processed, either by calling
+# the `#kill` method or at application exit, will have unpredictable results. There
+# is no way for the thread pool to know what resources are being used by the
+# in-progress tasks. When those tasks are killed the impact on those resources
+# cannot be predicted. The *best* practice is to explicitly shutdown all thread
+# pools using the provided methods:
+#
+# * Call `#shutdown` to initiate an orderly termination of all in-progress tasks
+# * Call `#wait_for_termination` with an appropriate timeout interval an allow
+# the orderly shutdown to complete
+# * Call `#kill` *only when* the thread pool fails to shutdown in the allotted time
+#
+# On some runtime platforms (most notably the JVM) the application will not
+# exit until all thread pools have been shutdown. To prevent applications from
+# "hanging" on exit, all threads can be marked as daemon according to the
+# `:auto_terminate` option.
+#
+# ```ruby
+# pool1 = Concurrent::FixedThreadPool.new(5) # threads will be marked as daemon
+# pool2 = Concurrent::FixedThreadPool.new(5, auto_terminate: false) # mark threads as non-daemon
+# ```
+#
+# @note Failure to properly shutdown a thread pool can lead to unpredictable results.
+# Please read *Shutting Down Thread Pools* for more information.
+# @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
+# @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html Java Executors class
+# @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html Java ExecutorService interface
+# @see https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#setDaemon-boolean-
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#12
+class Concurrent::RubyThreadPoolExecutor < ::Concurrent::RubyExecutorService
+ # @return [RubyThreadPoolExecutor] a new instance of RubyThreadPoolExecutor
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#45
+ def initialize(opts = T.unsafe(nil)); end
+
+ # The number of threads that are actively executing tasks.
+ #
+ # @return [Integer] The number of threads that are actively executing tasks.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#65
+ def active_count; end
+
+ # Does the task queue have a maximum size?
+ #
+ # @return [Boolean] True if the task queue has a maximum size else false.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#72
+ def can_overflow?; end
+
+ # The number of tasks that have been completed by the pool since construction.
+ #
+ # @return [Integer] The number of tasks that have been completed by the pool since construction.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#60
+ def completed_task_count; end
+
+ # The number of seconds that a thread may be idle before being reclaimed.
+ #
+ # @return [Integer] The number of seconds that a thread may be idle before being reclaimed.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#36
+ def idletime; end
+
+ # The largest number of threads that have been created in the pool since construction.
+ #
+ # @return [Integer] The largest number of threads that have been created in the pool since construction.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#50
+ def largest_length; end
+
+ # The number of threads currently in the pool.
+ #
+ # @return [Integer] The number of threads currently in the pool.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#77
+ def length; end
+
+ # The maximum number of threads that may be created in the pool.
+ #
+ # @return [Integer] The maximum number of threads that may be created in the pool.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#30
+ def max_length; end
+
+ # The maximum number of tasks that may be waiting in the work queue at any one time.
+ # When the queue size reaches `max_queue` subsequent tasks will be rejected in
+ # accordance with the configured `fallback_policy`.
+ #
+ # @return [Integer] The maximum number of tasks that may be waiting in the work queue at any one time.
+ # When the queue size reaches `max_queue` subsequent tasks will be rejected in
+ # accordance with the configured `fallback_policy`.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#39
+ def max_queue; end
+
+ # The minimum number of threads that may be retained in the pool.
+ #
+ # @return [Integer] The minimum number of threads that may be retained in the pool.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#33
+ def min_length; end
+
+ # Prune the thread pool of unneeded threads
+ #
+ # What is being pruned is controlled by the min_threads and idletime
+ # parameters passed at pool creation time
+ #
+ # This is a no-op on some pool implementation (e.g. the Java one). The Ruby
+ # pool will auto-prune each time a new job is posted. You will need to call
+ # this method explicitely in case your application post jobs in bursts (a
+ # lot of jobs and then nothing for long periods)
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#118
+ def prune_pool; end
+
+ # The number of tasks in the queue awaiting execution.
+ #
+ # @return [Integer] The number of tasks in the queue awaiting execution.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#82
+ def queue_length; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#103
+ def ready_worker(worker, last_message); end
+
+ # Number of tasks that may be enqueued before reaching `max_queue` and rejecting
+ # new tasks. A value of -1 indicates that the queue may grow without bound.
+ #
+ # @return [Integer] Number of tasks that may be enqueued before reaching `max_queue` and rejecting
+ # new tasks. A value of -1 indicates that the queue may grow without bound.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#87
+ def remaining_capacity; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#98
+ def remove_busy_worker(worker); end
+
+ # The number of tasks that have been scheduled for execution on the pool since construction.
+ #
+ # @return [Integer] The number of tasks that have been scheduled for execution on the pool since construction.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#55
+ def scheduled_task_count; end
+
+ # Whether or not a value of 0 for :max_queue option means the queue must perform direct hand-off or rather unbounded queue.
+ #
+ # @return [true, false]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#42
+ def synchronous; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#108
+ def worker_died(worker); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#113
+ def worker_task_completed; end
+
+ private
+
+ # creates new worker which has to receive work to do after it's added
+ #
+ # @return [nil, Worker] nil of max capacity is reached
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#241
+ def ns_add_busy_worker; end
+
+ # tries to assign task to a worker, tries to get one from @ready or to create new one
+ #
+ # @return [true, false] if task is assigned to a worker
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#201
+ def ns_assign_worker(*args, &task); end
+
+ # tries to enqueue task
+ #
+ # @return [true, false] if enqueued
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#219
+ def ns_enqueue(*args, &task); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#160
+ def ns_execute(*args, &task); end
+
+ # @raise [ArgumentError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#125
+ def ns_initialize(opts); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#189
+ def ns_kill_execution; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#155
+ def ns_limited_queue?; end
+
+ # try oldest worker if it is idle for enough time, it's returned back at the start
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#280
+ def ns_prune_pool; end
+
+ # handle ready worker, giving it new job or assigning back to @ready
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#253
+ def ns_ready_worker(worker, last_message, success = T.unsafe(nil)); end
+
+ # removes a worker which is not in not tracked in @ready
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#271
+ def ns_remove_busy_worker(worker); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#296
+ def ns_reset_if_forked; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#174
+ def ns_shutdown_execution; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#231
+ def ns_worker_died(worker); end
+end
+
+# Default maximum number of threads that will be created in the pool.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#15
+Concurrent::RubyThreadPoolExecutor::DEFAULT_MAX_POOL_SIZE = T.let(T.unsafe(nil), Integer)
+
+# Default maximum number of tasks that may be added to the task queue.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#21
+Concurrent::RubyThreadPoolExecutor::DEFAULT_MAX_QUEUE_SIZE = T.let(T.unsafe(nil), Integer)
+
+# Default minimum number of threads that will be retained in the pool.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#18
+Concurrent::RubyThreadPoolExecutor::DEFAULT_MIN_POOL_SIZE = T.let(T.unsafe(nil), Integer)
+
+# Default value of the :synchronous option.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#27
+Concurrent::RubyThreadPoolExecutor::DEFAULT_SYNCHRONOUS = T.let(T.unsafe(nil), FalseClass)
+
+# Default maximum number of seconds a thread in the pool may remain idle
+# before being reclaimed.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#24
+Concurrent::RubyThreadPoolExecutor::DEFAULT_THREAD_IDLETIMEOUT = T.let(T.unsafe(nil), Integer)
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#310
+class Concurrent::RubyThreadPoolExecutor::Worker
+ include ::Logger::Severity
+ include ::Concurrent::Concern::Logging
+
+ # @return [Worker] a new instance of Worker
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#313
+ def initialize(pool, id); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#324
+ def <<(message); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#332
+ def kill; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#328
+ def stop; end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#338
+ def create_worker(queue, pool, idletime); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#358
+ def run_task(pool, task, args); end
+end
+
+# A simple utility class that executes a callable and returns and array of three elements:
+# success - indicating if the callable has been executed without errors
+# value - filled by the callable result if it has been executed without errors, nil otherwise
+# reason - the error risen by the callable if it has been executed with errors, nil otherwise
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb#9
+class Concurrent::SafeTaskExecutor < ::Concurrent::Synchronization::LockableObject
+ # @return [SafeTaskExecutor] a new instance of SafeTaskExecutor
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb#11
+ def initialize(task, opts = T.unsafe(nil)); end
+
+ # @return [Array]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb#18
+ def execute(*args); end
+end
+
+# `ScheduledTask` is a close relative of `Concurrent::Future` but with one
+# important difference: A `Future` is set to execute as soon as possible
+# whereas a `ScheduledTask` is set to execute after a specified delay. This
+# implementation is loosely based on Java's
+# [ScheduledExecutorService](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html).
+# It is a more feature-rich variant of {Concurrent.timer}.
+#
+# The *intended* schedule time of task execution is set on object construction
+# with the `delay` argument. The delay is a numeric (floating point or integer)
+# representing a number of seconds in the future. Any other value or a numeric
+# equal to or less than zero will result in an exception. The *actual* schedule
+# time of task execution is set when the `execute` method is called.
+#
+# The constructor can also be given zero or more processing options. Currently
+# the only supported options are those recognized by the
+# [Dereferenceable](Dereferenceable) module.
+#
+# The final constructor argument is a block representing the task to be performed.
+# If no block is given an `ArgumentError` will be raised.
+#
+# **States**
+#
+# `ScheduledTask` mixes in the [Obligation](Obligation) module thus giving it
+# "future" behavior. This includes the expected lifecycle states. `ScheduledTask`
+# has one additional state, however. While the task (block) is being executed the
+# state of the object will be `:processing`. This additional state is necessary
+# because it has implications for task cancellation.
+#
+# **Cancellation**
+#
+# A `:pending` task can be cancelled using the `#cancel` method. A task in any
+# other state, including `:processing`, cannot be cancelled. The `#cancel`
+# method returns a boolean indicating the success of the cancellation attempt.
+# A cancelled `ScheduledTask` cannot be restarted. It is immutable.
+#
+# **Obligation and Observation**
+#
+# The result of a `ScheduledTask` can be obtained either synchronously or
+# asynchronously. `ScheduledTask` mixes in both the [Obligation](Obligation)
+# module and the
+# [Observable](http://ruby-doc.org/stdlib-2.0/libdoc/observer/rdoc/Observable.html)
+# module from the Ruby standard library. With one exception `ScheduledTask`
+# behaves identically to [Future](Observable) with regard to these modules.
+#
+# @example Basic usage
+#
+# require 'concurrent/scheduled_task'
+# require 'csv'
+# require 'open-uri'
+#
+# class Ticker
+# def get_year_end_closing(symbol, year, api_key)
+# uri = "https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=#{symbol}&apikey=#{api_key}&datatype=csv"
+# data = []
+# csv = URI.parse(uri).read
+# if csv.include?('call frequency')
+# return :rate_limit_exceeded
+# end
+# CSV.parse(csv, headers: true) do |row|
+# data << row['close'].to_f if row['timestamp'].include?(year.to_s)
+# end
+# year_end = data.first
+# year_end
+# rescue => e
+# p e
+# end
+# end
+#
+# api_key = ENV['ALPHAVANTAGE_KEY']
+# abort(error_message) unless api_key
+#
+# # Future
+# price = Concurrent::Future.execute{ Ticker.new.get_year_end_closing('TWTR', 2013, api_key) }
+# price.state #=> :pending
+# price.pending? #=> true
+# price.value(0) #=> nil (does not block)
+#
+# sleep(1) # do other stuff
+#
+# price.value #=> 63.65 (after blocking if necessary)
+# price.state #=> :fulfilled
+# price.fulfilled? #=> true
+# price.value #=> 63.65
+# @example Successful task execution
+#
+# task = Concurrent::ScheduledTask.new(2){ 'What does the fox say?' }
+# task.state #=> :unscheduled
+# task.execute
+# task.state #=> pending
+#
+# # wait for it...
+# sleep(3)
+#
+# task.unscheduled? #=> false
+# task.pending? #=> false
+# task.fulfilled? #=> true
+# task.rejected? #=> false
+# task.value #=> 'What does the fox say?'
+# @example One line creation and execution
+#
+# task = Concurrent::ScheduledTask.new(2){ 'What does the fox say?' }.execute
+# task.state #=> pending
+#
+# task = Concurrent::ScheduledTask.execute(2){ 'What do you get when you multiply 6 by 9?' }
+# task.state #=> pending
+# @example Failed task execution
+#
+# task = Concurrent::ScheduledTask.execute(2){ raise StandardError.new('Call me maybe?') }
+# task.pending? #=> true
+#
+# # wait for it...
+# sleep(3)
+#
+# task.unscheduled? #=> false
+# task.pending? #=> false
+# task.fulfilled? #=> false
+# task.rejected? #=> true
+# task.value #=> nil
+# task.reason #=> #
+# @example Task execution with observation
+#
+# observer = Class.new{
+# def update(time, value, reason)
+# puts "The task completed at #{time} with value '#{value}'"
+# end
+# }.new
+#
+# task = Concurrent::ScheduledTask.new(2){ 'What does the fox say?' }
+# task.add_observer(observer)
+# task.execute
+# task.pending? #=> true
+#
+# # wait for it...
+# sleep(3)
+#
+# #>> The task completed at 2013-11-07 12:26:09 -0500 with value 'What does the fox say?'
+# @see Concurrent.timer
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#158
+class Concurrent::ScheduledTask < ::Concurrent::IVar
+ include ::Comparable
+
+ # Schedule a task for execution at a specified future time.
+ #
+ # @option opts
+ # @param delay [Float] the number of seconds to wait for before executing the task
+ # @param opts [Hash] a customizable set of options
+ # @raise [ArgumentError] When no block is given
+ # @raise [ArgumentError] When given a time that is in the past
+ # @return [ScheduledTask] a new instance of ScheduledTask
+ # @yield the task to be performed
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#178
+ def initialize(delay, opts = T.unsafe(nil), &task); end
+
+ # Comparator which orders by schedule time.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#213
+ def <=>(other); end
+
+ # Cancel this task and prevent it from executing. A task can only be
+ # cancelled if it is pending or unscheduled.
+ #
+ # @return [Boolean] true if successfully cancelled else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#235
+ def cancel; end
+
+ # Has the task been cancelled?
+ #
+ # @return [Boolean] true if the task is in the given state else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#220
+ def cancelled?; end
+
+ # Execute an `:unscheduled` `ScheduledTask`. Immediately sets the state to `:pending`
+ # and starts counting down toward execution. Does nothing if the `ScheduledTask` is
+ # in any state other than `:unscheduled`.
+ #
+ # @return [ScheduledTask] a reference to `self`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#273
+ def execute; end
+
+ # The executor on which to execute the task.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#163
+ def executor; end
+
+ # The `delay` value given at instanciation.
+ #
+ # @return [Float] the initial delay.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#199
+ def initial_delay; end
+
+ # Execute the task.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#297
+ def process_task; end
+
+ # In the task execution in progress?
+ #
+ # @return [Boolean] true if the task is in the given state else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#227
+ def processing?; end
+
+ # Reschedule the task using the given delay and the current time.
+ # A task can only be reset while it is `:pending`.
+ #
+ # @param delay [Float] the number of seconds to wait for before executing the task
+ # @raise [ArgumentError] When given a time that is in the past
+ # @return [Boolean] true if successfully rescheduled else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#262
+ def reschedule(delay); end
+
+ # Reschedule the task using the original delay and the current time.
+ # A task can only be reset while it is `:pending`.
+ #
+ # @return [Boolean] true if successfully rescheduled else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#250
+ def reset; end
+
+ # The monotonic time at which the the task is scheduled to be executed.
+ #
+ # @return [Float] the schedule time or nil if `unscheduled`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#206
+ def schedule_time; end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#135
+ def fail(reason = T.unsafe(nil)); end
+
+ # Reschedule the task using the given delay and the current time.
+ # A task can only be reset while it is `:pending`.
+ #
+ # @param delay [Float] the number of seconds to wait for before executing the task
+ # @return [Boolean] true if successfully rescheduled else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#326
+ def ns_reschedule(delay); end
+
+ # Schedule the task using the given delay and the current time.
+ #
+ # @param delay [Float] the number of seconds to wait for before executing the task
+ # @return [Boolean] true if successfully rescheduled else false
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#312
+ def ns_schedule(delay); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#113
+ def set(value = T.unsafe(nil)); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#145
+ def try_set(value = T.unsafe(nil), &block); end
+
+ class << self
+ # Create a new `ScheduledTask` object with the given block, execute it, and return the
+ # `:pending` object.
+ #
+ # @param delay [Float] the number of seconds to wait for before executing the task
+ # @raise [ArgumentError] if no block is given
+ # @return [ScheduledTask] the newly created `ScheduledTask` in the `:pending` state
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#290
+ def execute(delay, opts = T.unsafe(nil), &task); end
+ end
+end
+
+# Indicates that the including `ExecutorService` guarantees
+# that all operations will occur in the order they are post and that no
+# two operations may occur simultaneously. This module provides no
+# functionality and provides no guarantees. That is the responsibility
+# of the including class. This module exists solely to allow the including
+# object to be interrogated for its serialization status.
+#
+# @example
+# class Foo
+# include Concurrent::SerialExecutor
+# end
+#
+# foo = Foo.new
+#
+# foo.is_a? Concurrent::ExecutorService #=> true
+# foo.is_a? Concurrent::SerialExecutor #=> true
+# foo.serialized? #=> true
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb#24
+module Concurrent::SerialExecutorService
+ include ::Logger::Severity
+ include ::Concurrent::Concern::Logging
+ include ::Concurrent::ExecutorService
+
+ # Does this executor guarantee serialization of its operations?
+ #
+ # @note Always returns `true`
+ # @return [Boolean] True if the executor guarantees that all operations
+ # will be post in the order they are received and no two operations may
+ # occur simultaneously. Else false.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb#30
+ def serialized?; end
+end
+
+# A thread pool with a single thread an unlimited queue. Should the thread
+# die for any reason it will be removed and replaced, thus ensuring that
+# the executor will always remain viable and available to process jobs.
+#
+# A common pattern for background processing is to create a single thread
+# on which an infinite loop is run. The thread's loop blocks on an input
+# source (perhaps blocking I/O or a queue) and processes each input as it
+# is received. This pattern has several issues. The thread itself is highly
+# susceptible to errors during processing. Also, the thread itself must be
+# constantly monitored and restarted should it die. `SingleThreadExecutor`
+# encapsulates all these bahaviors. The task processor is highly resilient
+# to errors from within tasks. Also, should the thread die it will
+# automatically be restarted.
+#
+# The API and behavior of this class are based on Java's `SingleThreadExecutor`.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb#37
+class Concurrent::SingleThreadExecutor < ::Concurrent::RubySingleThreadExecutor; end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb#10
+Concurrent::SingleThreadExecutorImplementation = Concurrent::RubySingleThreadExecutor
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb#2
+module Concurrent::Synchronization
+ class << self
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb#7
+ def full_memory_barrier; end
+ end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb#9
+class Concurrent::Synchronization::AbstractLockableObject < ::Concurrent::Synchronization::Object
+ protected
+
+ # Broadcast to all waiting threads.
+ #
+ # @note only to be used inside synchronized block
+ # @note to provide direct access to this method in a descendant add method
+ # ```
+ # def broadcast
+ # synchronize { ns_broadcast }
+ # end
+ # ```
+ # @raise [NotImplementedError]
+ # @return [self]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb#96
+ def ns_broadcast; end
+
+ # Signal one waiting thread.
+ #
+ # @note only to be used inside synchronized block
+ # @note to provide direct access to this method in a descendant add method
+ # ```
+ # def signal
+ # synchronize { ns_signal }
+ # end
+ # ```
+ # @raise [NotImplementedError]
+ # @return [self]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb#81
+ def ns_signal; end
+
+ # Wait until another thread calls #signal or #broadcast,
+ # spurious wake-ups can happen.
+ #
+ # @note only to be used inside synchronized block
+ # @note to provide direct access to this method in a descendant add method
+ # ```
+ # def wait(timeout = nil)
+ # synchronize { ns_wait(timeout) }
+ # end
+ # ```
+ # @param timeout [Numeric, nil] in seconds, `nil` means no timeout
+ # @raise [NotImplementedError]
+ # @return [self]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb#66
+ def ns_wait(timeout = T.unsafe(nil)); end
+
+ # Wait until condition is met or timeout passes,
+ # protects against spurious wake-ups.
+ #
+ # @note only to be used inside synchronized block
+ # @note to provide direct access to this method in a descendant add method
+ # ```
+ # def wait_until(timeout = nil, &condition)
+ # synchronize { ns_wait_until(timeout, &condition) }
+ # end
+ # ```
+ # @param timeout [Numeric, nil] in seconds, `nil` means no timeout
+ # @return [true, false] if condition met
+ # @yield condition to be met
+ # @yieldreturn [true, false]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb#37
+ def ns_wait_until(timeout = T.unsafe(nil), &condition); end
+
+ # @note can by made public in descendants if required by `public :synchronize`
+ # @raise [NotImplementedError]
+ # @yield runs the block synchronized against this object,
+ # equivalent of java's `synchronize(this) {}`
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb#18
+ def synchronize; end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb#6
+class Concurrent::Synchronization::AbstractObject
+ # @return [AbstractObject] a new instance of AbstractObject
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb#7
+ def initialize; end
+
+ # @abstract
+ # @raise [NotImplementedError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb#13
+ def full_memory_barrier; end
+
+ class << self
+ # @raise [NotImplementedError]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb#17
+ def attr_volatile(*names); end
+ end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#8
+module Concurrent::Synchronization::ConditionSignalling
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#16
+ def ns_broadcast; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#11
+ def ns_signal; end
+end
+
+# Safe synchronization under any Ruby implementation.
+# It provides methods like {#synchronize}, {#wait}, {#signal} and {#broadcast}.
+# Provides a single layer which can improve its implementation over time without changes needed to
+# the classes using it. Use {Synchronization::Object} not this abstract class.
+#
+# @note this object does not support usage together with
+# [`Thread#wakeup`](http://ruby-doc.org/core/Thread.html#method-i-wakeup)
+# and [`Thread#raise`](http://ruby-doc.org/core/Thread.html#method-i-raise).
+# `Thread#sleep` and `Thread#wakeup` will work as expected but mixing `Synchronization::Object#wait` and
+# `Thread#wakeup` will not work on all platforms.
+#
+# @see Event implementation as an example of this class use
+#
+# @example simple
+# class AnClass < Synchronization::Object
+# def initialize
+# super
+# synchronize { @value = 'asd' }
+# end
+#
+# def value
+# synchronize { @value }
+# end
+# end
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb#50
+class Concurrent::Synchronization::LockableObject < ::Concurrent::Synchronization::MutexLockableObject; end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb#11
+Concurrent::Synchronization::LockableObjectImplementation = Concurrent::Synchronization::MutexLockableObject
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#60
+class Concurrent::Synchronization::MonitorLockableObject < ::Concurrent::Synchronization::AbstractLockableObject
+ include ::Concurrent::Synchronization::ConditionSignalling
+ extend ::Concurrent::Synchronization::SafeInitialization
+
+ # @return [MonitorLockableObject] a new instance of MonitorLockableObject
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#65
+ def initialize; end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#83
+ def ns_wait(timeout = T.unsafe(nil)); end
+
+ # TODO may be a problem with lock.synchronize { lock.wait }
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#79
+ def synchronize; end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#71
+ def initialize_copy(other); end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#25
+class Concurrent::Synchronization::MutexLockableObject < ::Concurrent::Synchronization::AbstractLockableObject
+ include ::Concurrent::Synchronization::ConditionSignalling
+ extend ::Concurrent::Synchronization::SafeInitialization
+
+ # @return [MutexLockableObject] a new instance of MutexLockableObject
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#30
+ def initialize; end
+
+ protected
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#52
+ def ns_wait(timeout = T.unsafe(nil)); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#44
+ def synchronize; end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#36
+ def initialize_copy(other); end
+end
+
+# Abstract object providing final, volatile, ans CAS extensions to build other concurrent abstractions.
+# - final instance variables see {Object.safe_initialization!}
+# - volatile instance variables see {Object.attr_volatile}
+# - volatile instance variables see {Object.attr_atomic}
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#15
+class Concurrent::Synchronization::Object < ::Concurrent::Synchronization::AbstractObject
+ include ::Concurrent::Synchronization::Volatile
+ extend ::Concurrent::Synchronization::Volatile::ClassMethods
+
+ # Has to be called by children.
+ #
+ # @return [Object] a new instance of Object
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#28
+ def initialize; end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#146
+ def __initialize_atomic_fields__; end
+
+ class << self
+ # @return [true, false] is the attribute with name atomic?
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#125
+ def atomic_attribute?(name); end
+
+ # @param inherited [true, false] should inherited volatile with CAS fields be returned?
+ # @return [::Array] Returns defined volatile with CAS fields on this class.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#119
+ def atomic_attributes(inherited = T.unsafe(nil)); end
+
+ # Creates methods for reading and writing to a instance variable with
+ # volatile (Java) semantic as {.attr_volatile} does.
+ # The instance variable should be accessed oly through generated methods.
+ # This method generates following methods: `value`, `value=(new_value) #=> new_value`,
+ # `swap_value(new_value) #=> old_value`,
+ # `compare_and_set_value(expected, value) #=> true || false`, `update_value(&block)`.
+ #
+ # @param names [::Array] of the instance variables to be volatile with CAS.
+ # @return [::Array] names of defined method names.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#84
+ def attr_atomic(*names); end
+
+ # For testing purposes, quite slow. Injects assert code to new method which will raise if class instance contains
+ # any instance variables with CamelCase names and isn't {.safe_initialization?}.
+ #
+ # @raise when offend found
+ # @return [true]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#45
+ def ensure_safe_initialization_when_final_fields_are_present; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#33
+ def safe_initialization!; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#37
+ def safe_initialization?; end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#131
+ def define_initialize_atomic_fields; end
+ end
+end
+
+# By extending this module, a class and all its children are marked to be constructed safely. Meaning that
+# all writes (ivar initializations) are made visible to all readers of newly constructed object. It ensures
+# same behaviour as Java's final fields.
+#
+# Due to using Kernel#extend, the module is not included again if already present in the ancestors,
+# which avoids extra overhead.
+#
+# @example
+# class AClass < Concurrent::Synchronization::Object
+# extend Concurrent::Synchronization::SafeInitialization
+#
+# def initialize
+# @AFinalValue = 'value' # published safely, #foo will never return nil
+# end
+#
+# def foo
+# @AFinalValue
+# end
+# end
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb#28
+module Concurrent::Synchronization::SafeInitialization
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb#29
+ def new(*args, &block); end
+end
+
+# Volatile adds the attr_volatile class method when included.
+#
+# foo = Foo.new
+# foo.bar
+# => 1
+# foo.bar = 2
+# => 2
+#
+# @example
+# class Foo
+# include Concurrent::Synchronization::Volatile
+#
+# attr_volatile :bar
+#
+# def initialize
+# self.bar = 1
+# end
+# end
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/volatile.rb#28
+module Concurrent::Synchronization::Volatile
+ mixes_in_class_methods ::Concurrent::Synchronization::Volatile::ClassMethods
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/volatile.rb#33
+ def full_memory_barrier; end
+
+ class << self
+ # @private
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/volatile.rb#29
+ def included(base); end
+ end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/volatile.rb#37
+module Concurrent::Synchronization::Volatile::ClassMethods
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/volatile.rb#39
+ def attr_volatile(*names); end
+end
+
+# An abstraction composed of one or more threads and a task queue. Tasks
+# (blocks or `proc` objects) are submitted to the pool and added to the queue.
+# The threads in the pool remove the tasks and execute them in the order
+# they were received.
+#
+# A `ThreadPoolExecutor` will automatically adjust the pool size according
+# to the bounds set by `min-threads` and `max-threads`. When a new task is
+# submitted and fewer than `min-threads` threads are running, a new thread
+# is created to handle the request, even if other worker threads are idle.
+# If there are more than `min-threads` but less than `max-threads` threads
+# running, a new thread will be created only if the queue is full.
+#
+# Threads that are idle for too long will be garbage collected, down to the
+# configured minimum options. Should a thread crash it, too, will be garbage collected.
+#
+# `ThreadPoolExecutor` is based on the Java class of the same name. From
+# the official Java documentation;
+#
+# > Thread pools address two different problems: they usually provide
+# > improved performance when executing large numbers of asynchronous tasks,
+# > due to reduced per-task invocation overhead, and they provide a means
+# > of bounding and managing the resources, including threads, consumed
+# > when executing a collection of tasks. Each ThreadPoolExecutor also
+# > maintains some basic statistics, such as the number of completed tasks.
+# >
+# > To be useful across a wide range of contexts, this class provides many
+# > adjustable parameters and extensibility hooks. However, programmers are
+# > urged to use the more convenient Executors factory methods
+# > [CachedThreadPool] (unbounded thread pool, with automatic thread reclamation),
+# > [FixedThreadPool] (fixed size thread pool) and [SingleThreadExecutor] (single
+# > background thread), that preconfigure settings for the most common usage
+# > scenarios.
+#
+# **Thread Pool Options**
+#
+# Thread pools support several configuration options:
+#
+# * `idletime`: The number of seconds that a thread may be idle before being reclaimed.
+# * `name`: The name of the executor (optional). Printed in the executor's `#to_s` output and
+# a `-worker-` name is given to its threads if supported by used Ruby
+# implementation. `` is uniq for each thread.
+# * `max_queue`: The maximum number of tasks that may be waiting in the work queue at
+# any one time. When the queue size reaches `max_queue` and no new threads can be created,
+# subsequent tasks will be rejected in accordance with the configured `fallback_policy`.
+# * `auto_terminate`: When true (default), the threads started will be marked as daemon.
+# * `fallback_policy`: The policy defining how rejected tasks are handled.
+#
+# Three fallback policies are supported:
+#
+# * `:abort`: Raise a `RejectedExecutionError` exception and discard the task.
+# * `:discard`: Discard the task and return false.
+# * `:caller_runs`: Execute the task on the calling thread.
+#
+# **Shutting Down Thread Pools**
+#
+# Killing a thread pool while tasks are still being processed, either by calling
+# the `#kill` method or at application exit, will have unpredictable results. There
+# is no way for the thread pool to know what resources are being used by the
+# in-progress tasks. When those tasks are killed the impact on those resources
+# cannot be predicted. The *best* practice is to explicitly shutdown all thread
+# pools using the provided methods:
+#
+# * Call `#shutdown` to initiate an orderly termination of all in-progress tasks
+# * Call `#wait_for_termination` with an appropriate timeout interval an allow
+# the orderly shutdown to complete
+# * Call `#kill` *only when* the thread pool fails to shutdown in the allotted time
+#
+# On some runtime platforms (most notably the JVM) the application will not
+# exit until all thread pools have been shutdown. To prevent applications from
+# "hanging" on exit, all threads can be marked as daemon according to the
+# `:auto_terminate` option.
+#
+# ```ruby
+# pool1 = Concurrent::FixedThreadPool.new(5) # threads will be marked as daemon
+# pool2 = Concurrent::FixedThreadPool.new(5, auto_terminate: false) # mark threads as non-daemon
+# ```
+#
+# @note Failure to properly shutdown a thread pool can lead to unpredictable results.
+# Please read *Shutting Down Thread Pools* for more information.
+# @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
+# @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html Java Executors class
+# @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html Java ExecutorService interface
+# @see https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#setDaemon-boolean-
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb#56
+class Concurrent::ThreadPoolExecutor < ::Concurrent::RubyThreadPoolExecutor; end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb#10
+Concurrent::ThreadPoolExecutorImplementation = Concurrent::RubyThreadPoolExecutor
+
+# Raised when an operation times out.
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#55
+class Concurrent::TimeoutError < ::Concurrent::Error; end
+
+# Executes a collection of tasks, each after a given delay. A master task
+# monitors the set and schedules each task for execution at the appropriate
+# time. Tasks are run on the global thread pool or on the supplied executor.
+# Each task is represented as a `ScheduledTask`.
+#
+# @see Concurrent::ScheduledTask
+#
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#19
+class Concurrent::TimerSet < ::Concurrent::RubyExecutorService
+ # Create a new set of timed tasks.
+ #
+ # @option opts
+ # @param opts [Hash] the options used to specify the executor on which to perform actions
+ # @return [TimerSet] a new instance of TimerSet
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#30
+ def initialize(opts = T.unsafe(nil)); end
+
+ # Begin an immediate shutdown. In-progress tasks will be allowed to
+ # complete but enqueued tasks will be dismissed and no new tasks
+ # will be accepted. Has no additional effect if the thread pool is
+ # not running.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#62
+ def kill; end
+
+ # Post a task to be execute run after a given delay (in seconds). If the
+ # delay is less than 1/100th of a second the task will be immediately post
+ # to the executor.
+ #
+ # @param delay [Float] the number of seconds to wait for before executing the task.
+ # @param args [Array] the arguments passed to the task on execution.
+ # @raise [ArgumentError] if the intended execution time is not in the future.
+ # @raise [ArgumentError] if no block is given.
+ # @return [Concurrent::ScheduledTask, false] IVar representing the task if the post
+ # is successful; false after shutdown.
+ # @yield the task to be performed.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#48
+ def post(delay, *args, &task); end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#166
+ def <<(task); end
+
+ # Initialize the object.
+ #
+ # @param opts [Hash] the options to create the object with.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#74
+ def ns_initialize(opts); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#94
+ def ns_post_task(task); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#129
+ def ns_reset_if_forked; end
+
+ # `ExecutorService` callback called during shutdown.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#122
+ def ns_shutdown_execution; end
+
+ # Post the task to the internal queue.
+ #
+ # @note This is intended as a callback method from ScheduledTask
+ # only. It is not intended to be used directly. Post a task
+ # by using the `SchedulesTask#execute` method.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#89
+ def post_task(task); end
+
+ # Run a loop and execute tasks in the scheduled order and at the approximate
+ # scheduled time. If no tasks remain the thread will exit gracefully so that
+ # garbage collection can occur. If there are no ready tasks it will sleep
+ # for up to 60 seconds waiting for the next scheduled task.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#143
+ def process_tasks; end
+
+ # Remove the given task from the queue.
+ #
+ # @note This is intended as a callback method from `ScheduledTask`
+ # only. It is not intended to be used directly. Cancel a task
+ # by using the `ScheduledTask#cancel` method.
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#115
+ def remove_task(task); end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#3
+module Concurrent::Utility; end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#6
+module Concurrent::Utility::EngineDetector
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#7
+ def on_cruby?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#11
+ def on_jruby?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#27
+ def on_linux?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#23
+ def on_osx?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#15
+ def on_truffleruby?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#19
+ def on_windows?; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#31
+ def ruby_version(version = T.unsafe(nil), comparison, major, minor, patch); end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#9
+module Concurrent::Utility::NativeExtensionLoader
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#11
+ def allow_c_extensions?; end
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#15
+ def c_extensions_loaded?; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#19
+ def load_native_extensions; end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#50
+ def java_extensions_loaded?; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#38
+ def load_error_path(error); end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#46
+ def set_c_extensions_loaded; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#54
+ def set_java_extensions_loaded; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb#58
+ def try_load_c_extension(path); end
+end
+
+# source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#10
+class Concurrent::Utility::ProcessorCounter
+ # @return [ProcessorCounter] a new instance of ProcessorCounter
+ #
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#11
+ def initialize; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#20
+ def physical_processor_count; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#16
+ def processor_count; end
+
+ private
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#34
+ def compute_physical_processor_count; end
+
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#26
+ def compute_processor_count; end
+end
diff --git a/sorbet/rbi/gems/connection_pool@2.4.1.rbi b/sorbet/rbi/gems/connection_pool@2.4.1.rbi
new file mode 100644
index 00000000..7b69a77c
--- /dev/null
+++ b/sorbet/rbi/gems/connection_pool@2.4.1.rbi
@@ -0,0 +1,8 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `connection_pool` gem.
+# Please instead update this file by running `bin/tapioca gem connection_pool`.
+
+# THIS IS AN EMPTY RBI FILE.
+# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
diff --git a/sorbet/rbi/gems/curb@1.0.5.rbi b/sorbet/rbi/gems/curb@1.0.5.rbi
new file mode 100644
index 00000000..7d742def
--- /dev/null
+++ b/sorbet/rbi/gems/curb@1.0.5.rbi
@@ -0,0 +1,1241 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `curb` gem.
+# Please instead update this file by running `bin/tapioca gem curb`.
+
+# expose shortcut methods
+#
+# source://curb//lib/curl/easy.rb#2
+module Curl
+ class << self
+ def asyncdns?; end
+ def conv?; end
+ def debug?; end
+
+ # source://curb//lib/curl.rb#42
+ def delete(url, params = T.unsafe(nil), &block); end
+
+ # source://curb//lib/curl.rb#30
+ def get(url, params = T.unsafe(nil), &block); end
+
+ def gssnegotiate?; end
+
+ # source://curb//lib/curl.rb#50
+ def head(url, params = T.unsafe(nil), &block); end
+
+ # source://curb//lib/curl.rb#11
+ def http(verb, url, post_body = T.unsafe(nil), put_data = T.unsafe(nil), &block); end
+
+ def http2?; end
+ def idn?; end
+ def ipv6?; end
+ def kerberos4?; end
+ def largefile?; end
+ def libz?; end
+ def ntlm?; end
+
+ # source://curb//lib/curl.rb#54
+ def options(url, params = T.unsafe(nil), &block); end
+
+ # source://curb//lib/curl.rb#46
+ def patch(url, params = T.unsafe(nil), &block); end
+
+ # source://curb//lib/curl.rb#34
+ def post(url, params = T.unsafe(nil), &block); end
+
+ # source://curb//lib/curl.rb#68
+ def postalize(params = T.unsafe(nil)); end
+
+ # source://curb//lib/curl.rb#38
+ def put(url, params = T.unsafe(nil), &block); end
+
+ # source://curb//lib/curl.rb#72
+ def reset; end
+
+ def spnego?; end
+ def ssl?; end
+ def sspi?; end
+
+ # source://curb//lib/curl.rb#58
+ def urlalize(url, params = T.unsafe(nil)); end
+ end
+end
+
+Curl::CURB_VERSION = T.let(T.unsafe(nil), String)
+Curl::CURLAUTH_ANY = T.let(T.unsafe(nil), Integer)
+Curl::CURLAUTH_ANYSAFE = T.let(T.unsafe(nil), Integer)
+Curl::CURLAUTH_BASIC = T.let(T.unsafe(nil), Integer)
+Curl::CURLAUTH_DIGEST = T.let(T.unsafe(nil), Integer)
+Curl::CURLAUTH_DIGEST_IE = T.let(T.unsafe(nil), Integer)
+Curl::CURLAUTH_GSSNEGOTIATE = T.let(T.unsafe(nil), Integer)
+Curl::CURLAUTH_NTLM = T.let(T.unsafe(nil), Integer)
+Curl::CURLAUTH_ONLY = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPAUTH_DEFAULT = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPAUTH_SSL = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPAUTH_TLS = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPMETHOD_MULTICWD = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPMETHOD_NOCWD = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPMETHOD_SINGLECWD = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPSSL_CCC_ACTIVE = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPSSL_CCC_NONE = T.let(T.unsafe(nil), Integer)
+Curl::CURLFTPSSL_CCC_PASSIVE = T.let(T.unsafe(nil), Integer)
+Curl::CURLGSSAPI_DELEGATION_FLAG = T.let(T.unsafe(nil), Integer)
+Curl::CURLGSSAPI_DELEGATION_POLICY_FLAG = T.let(T.unsafe(nil), Integer)
+Curl::CURLINFO_DATA_IN = T.let(T.unsafe(nil), Integer)
+Curl::CURLINFO_DATA_OUT = T.let(T.unsafe(nil), Integer)
+Curl::CURLINFO_HEADER_IN = T.let(T.unsafe(nil), Integer)
+Curl::CURLINFO_HEADER_OUT = T.let(T.unsafe(nil), Integer)
+Curl::CURLINFO_TEXT = T.let(T.unsafe(nil), Integer)
+Curl::CURLKHSTAT_DEFER = T.let(T.unsafe(nil), Integer)
+Curl::CURLKHSTAT_FINE = T.let(T.unsafe(nil), Integer)
+Curl::CURLKHSTAT_FINE_ADD_TO_FILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLKHSTAT_REJECT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_ADDRESS_SCOPE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_APPEND = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_AUTOREFERER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_BUFFERSIZE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CAINFO = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CAPATH = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CERTINFO = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CHUNK_BGN_FUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CHUNK_DATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CHUNK_END_FUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CLOSEPOLICY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CONNECTTIMEOUT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CONNECTTIMEOUT_MS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CONNECT_ONLY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CONV_FROM_NETWORK_FUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CONV_FROM_UTF8_FUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CONV_TO_NETWORK_FUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_COOKIE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_COOKIEFILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_COOKIEJAR = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_COOKIELIST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_COOKIESESSION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_COPYPOSTFIELDS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CRLF = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CRLFILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_CUSTOMREQUEST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_DEBUGDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_DEBUGFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_DIRLISTONLY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_DNS_CACHE_TIMEOUT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_DNS_USE_GLOBAL_CACHE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_EGDSOCKET = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_ENCODING = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_ERRORBUFFER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FAILONERROR = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FILETIME = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FNMATCH_DATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FNMATCH_FUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FOLLOWLOCATION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FORBID_REUSE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FRESH_CONNECT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTPPORT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTPSSLAUTH = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_ACCOUNT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_ALTERNATIVE_TO_USER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_CREATE_MISSING_DIRS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_FILEMETHOD = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_RESPONSE_TIMEOUT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_SKIP_PASV_IP = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_SSL_CCC = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_USE_EPRT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_USE_EPSV = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_FTP_USE_PRET = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_GSSAPI_DELEGATION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HAPROXYPROTOCOL = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HEADER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HEADERFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTP200ALIASES = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTPAUTH = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTPGET = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTPHEADER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTPPOST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTPPROXYTUNNEL = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTP_CONTENT_DECODING = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTP_TRANSFER_DECODING = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_HTTP_VERSION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_IGNORE_CONTENT_LENGTH = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_INFILESIZE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_INFILESIZE_LARGE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_INTERFACE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_INTERLEAVEDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_INTERLEAVEFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_IOCTLDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_IOCTLFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_IPRESOLVE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_ISSUERCERT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_KEYPASSWD = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_KRBLEVEL = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_LOCALPORT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_LOW_SPEED_LIMIT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_LOW_SPEED_TIME = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAIL_FROM = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAIL_RCPT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAXCONNECTS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAXFILESIZE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAXFILESIZE_LARGE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAXREDIRS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAX_RECV_SPEED_LARGE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_MAX_SEND_SPEED_LARGE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NETRC = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NETRC_FILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NEW_DIRECTORY_PERMS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NEW_FILE_PERMS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NOBODY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NOPROGRESS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NOPROXY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_NOSIGNAL = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_OPENSOCKETDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_OPENSOCKETFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PASSWORD = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PATH_AS_IS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PIPEWAIT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PORT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_POST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_POSTFIELDS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_POSTFIELDSIZE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_POSTFIELDSIZE_LARGE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_POSTQUOTE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_POSTREDIR = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PREQUOTE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PRIVATE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROGRESSDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROGRESSFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROTOCOLS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXYAUTH = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXYHEADER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXYPORT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXYTYPE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXYUSERPWD = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXY_SSL_VERIFYHOST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PROXY_TRANSFER_MODE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_PUT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_QUOTE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RANDOM_FILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RANGE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_READDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_READFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_REDIR_PROTOCOLS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_REFERER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RESOLVE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RESUME_FROM = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RESUME_FROM_LARGE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RTSP_CLIENT_CSEQ = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RTSP_REQUEST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RTSP_SERVER_CSEQ = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RTSP_SESSION_ID = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RTSP_STREAM_URI = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_RTSP_TRANSPORT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SEEKDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SEEKFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SHARE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SOCKOPTDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SOCKOPTFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SOCKS5_GSSAPI_NEC = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SOCKS5_GSSAPI_SERVICE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSH_AUTH_TYPES = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSH_KEYDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSH_KEYFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSH_KNOWNHOSTS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSH_PRIVATE_KEYFILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSH_PUBLIC_KEYFILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSLCERT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSLCERTTYPE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSLENGINE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSLENGINE_DEFAULT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSLKEY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSLKEYTYPE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSLVERSION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSL_CIPHER_LIST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSL_CTX_DATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSL_CTX_FUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSL_SESSIONID_CACHE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSL_VERIFYHOST = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_SSL_VERIFYPEER = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_STDERR = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TCP_KEEPALIVE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TCP_KEEPIDLE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TCP_KEEPINTVL = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TCP_NODELAY = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TELNETOPTIONS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TFTP_BLKSIZE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TIMECONDITION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TIMEOUT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TIMEOUT_MS = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TIMEVALUE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TLSAUTH_PASSWORD = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TLSAUTH_TYPE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TLSAUTH_USERNAME = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_TRANSFERTEXT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_UNIX_SOCKET_PATH = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_UNRESTRICTED_AUTH = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_UPLOAD = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_URL = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_USERAGENT = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_USERNAME = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_USERPWD = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_USE_SSL = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_VERBOSE = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_WRITEDATA = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_WRITEFUNCTION = T.let(T.unsafe(nil), Integer)
+Curl::CURLOPT_WRITEHEADER = T.let(T.unsafe(nil), Integer)
+Curl::CURLPIPE_HTTP1 = T.let(T.unsafe(nil), Integer)
+Curl::CURLPIPE_MULTIPLEX = T.let(T.unsafe(nil), Integer)
+Curl::CURLPIPE_NOTHING = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_ALL = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_DICT = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_FILE = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_FTP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_FTPS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_GOPHER = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_HTTP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_HTTPS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_IMAP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_IMAPS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_LDAP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_LDAPS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_POP3 = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_POP3S = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_RTMP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_RTMPE = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_RTMPS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_RTMPT = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_RTMPTE = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_RTMPTS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_RTSP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_SCP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_SFTP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_SMB = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_SMBS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_SMTP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_SMTPS = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_TELNET = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROTO_TFTP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROXY_HTTP = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROXY_SOCKS4 = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROXY_SOCKS4A = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROXY_SOCKS5 = T.let(T.unsafe(nil), Integer)
+Curl::CURLPROXY_SOCKS5_HOSTNAME = T.let(T.unsafe(nil), Integer)
+Curl::CURLUSESSL_ALL = T.let(T.unsafe(nil), Integer)
+Curl::CURLUSESSL_CONTROL = T.let(T.unsafe(nil), Integer)
+Curl::CURLUSESSL_NONE = T.let(T.unsafe(nil), Integer)
+Curl::CURLUSESSL_TRY = T.let(T.unsafe(nil), Integer)
+Curl::CURL_HTTP_VERSION_1_0 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_HTTP_VERSION_1_1 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_HTTP_VERSION_2TLS = T.let(T.unsafe(nil), Integer)
+Curl::CURL_HTTP_VERSION_2_0 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_HTTP_VERSION_NONE = T.let(T.unsafe(nil), Integer)
+Curl::CURL_IPRESOLVE_V4 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_IPRESOLVE_V6 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_IPRESOLVE_WHATEVER = T.let(T.unsafe(nil), Integer)
+Curl::CURL_LONG_VERSION = T.let(T.unsafe(nil), String)
+Curl::CURL_MULTICWD = T.let(T.unsafe(nil), Integer)
+Curl::CURL_NETRC_IGNORED = T.let(T.unsafe(nil), Integer)
+Curl::CURL_NETRC_OPTIONAL = T.let(T.unsafe(nil), Integer)
+Curl::CURL_NETRC_REQUIRED = T.let(T.unsafe(nil), Integer)
+Curl::CURL_NOCWD = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_ANNOUNCE = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_DESCRIBE = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_GET_PARAMETER = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_OPTIONS = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_PAUSE = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_PLAY = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_RECEIVE = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_RECORD = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_SETUP = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_SET_PARAMETER = T.let(T.unsafe(nil), Integer)
+Curl::CURL_RTSPREQ_TEARDOWN = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SINGLECWD = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_DEFAULT = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_MAX_DEFAULT = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_MAX_TLSv1_0 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_MAX_TLSv1_1 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_MAX_TLSv1_2 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_MAX_TLSv1_3 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_SSLv2 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_SSLv3 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_TLSv1 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_TLSv1_0 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_TLSv1_1 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_TLSv1_2 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_SSLVERSION_TLSv1_3 = T.let(T.unsafe(nil), Integer)
+Curl::CURL_USESSL_ALL = T.let(T.unsafe(nil), Integer)
+Curl::CURL_USESSL_CONTROL = T.let(T.unsafe(nil), Integer)
+Curl::CURL_USESSL_NONE = T.let(T.unsafe(nil), Integer)
+Curl::CURL_USESSL_TRY = T.let(T.unsafe(nil), Integer)
+Curl::CURL_VERNUM = T.let(T.unsafe(nil), Integer)
+Curl::CURL_VERSION = T.let(T.unsafe(nil), String)
+
+# source://curb//lib/curl/easy.rb#3
+class Curl::Easy
+ def initialize(*_arg0); end
+
+ def app_connect_time; end
+ def autoreferer=(_arg0); end
+ def body; end
+ def body_str; end
+ def cacert; end
+ def cacert=(_arg0); end
+ def cert; end
+ def cert=(_arg0); end
+ def cert_key; end
+ def cert_key=(_arg0); end
+ def certpassword=(_arg0); end
+ def certtype; end
+ def certtype=(_arg0); end
+ def clone; end
+ def close; end
+ def code; end
+ def connect_time; end
+ def connect_timeout; end
+ def connect_timeout=(_arg0); end
+ def connect_timeout_ms; end
+ def connect_timeout_ms=(_arg0); end
+ def content_type; end
+ def cookiefile; end
+
+ # call-seq:
+ # easy.cookiefile = string => string
+ #
+ # Set a file that contains cookies to be sent in subsequent requests by this Curl::Easy instance.
+ #
+ # *Note* that you must set enable_cookies true to enable the cookie
+ # engine, or this option will be ignored.
+ #
+ # source://curb//lib/curl/easy.rb#236
+ def cookiefile=(value); end
+
+ def cookiejar; end
+
+ # call-seq:
+ # easy.cookiejar = string => string
+ #
+ # Set a cookiejar file to use for this Curl::Easy instance.
+ # Cookies from the response will be written into this file.
+ #
+ # *Note* that you must set enable_cookies true to enable the cookie
+ # engine, or this option will be ignored.
+ #
+ # source://curb//lib/curl/easy.rb#250
+ def cookiejar=(value); end
+
+ def cookielist; end
+ def cookies; end
+
+ # call-seq:
+ # easy.cookies = "name1=content1; name2=content2;" => string
+ #
+ # Set cookies to be sent by this Curl::Easy instance. The format of the string should
+ # be NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie should contain.
+ # Set multiple cookies in one string like this: "name1=content1; name2=content2;" etc.
+ #
+ # source://curb//lib/curl/easy.rb#223
+ def cookies=(value); end
+
+ # call-seq:
+ # easy.http_delete
+ #
+ # DELETE the currently configured URL using the current options set for
+ # this Curl::Easy instance. This method always returns true, or raises
+ # an exception (defined under Curl::Err) on error.
+ #
+ # source://curb//lib/curl/easy.rb#315
+ def delete; end
+
+ # call-seq:
+ # easy = Curl::Easy.new("url") do|c|
+ # c.delete = true
+ # end
+ # easy.perform
+ #
+ # source://curb//lib/curl/easy.rb#103
+ def delete=(onoff); end
+
+ def dns_cache_timeout; end
+ def dns_cache_timeout=(_arg0); end
+ def download_speed; end
+ def downloaded_bytes; end
+ def downloaded_content_length; end
+ def dup; end
+ def enable_cookies=(_arg0); end
+ def enable_cookies?; end
+ def encoding; end
+ def encoding=(_arg0); end
+ def escape(_arg0); end
+ def fetch_file_time=(_arg0); end
+ def fetch_file_time?; end
+ def file_time; end
+
+ # call-seq:
+ # easy.follow_location = boolean => boolean
+ #
+ # Configure whether this Curl instance will follow Location: headers
+ # in HTTP responses. Redirects will only be followed to the extent
+ # specified by +max_redirects+.
+ #
+ # source://curb//lib/curl/easy.rb#273
+ def follow_location=(onoff); end
+
+ def follow_location?; end
+ def ftp_commands; end
+ def ftp_commands=(_arg0); end
+ def ftp_entry_path; end
+ def ftp_filemethod; end
+ def ftp_filemethod=(_arg0); end
+ def ftp_response_timeout; end
+ def ftp_response_timeout=(_arg0); end
+
+ # call-seq:
+ # easy.http_get => true
+ #
+ # GET the currently configured URL using the current options set for
+ # this Curl::Easy instance. This method always returns true, or raises
+ # an exception (defined under Curl::Err) on error.
+ #
+ # source://curb//lib/curl/easy.rb#301
+ def get; end
+
+ def getinfo(_arg0); end
+ def head; end
+
+ # call-seq:
+ # easy = Curl::Easy.new("url") do|c|
+ # c.head = true
+ # end
+ # easy.perform
+ #
+ # source://curb//lib/curl/easy.rb#261
+ def head=(onoff); end
+
+ def header_in_body=(_arg0); end
+ def header_in_body?; end
+ def header_size; end
+ def header_str; end
+ def headers; end
+ def headers=(_arg0); end
+ def http(_arg0); end
+ def http_auth_types; end
+ def http_auth_types=(*_arg0); end
+ def http_connect_code; end
+
+ # call-seq:
+ # easy.http_delete
+ #
+ # DELETE the currently configured URL using the current options set for
+ # this Curl::Easy instance. This method always returns true, or raises
+ # an exception (defined under Curl::Err) on error.
+ #
+ # source://curb//lib/curl/easy.rb#315
+ def http_delete; end
+
+ # call-seq:
+ # easy.http_get => true
+ #
+ # GET the currently configured URL using the current options set for
+ # this Curl::Easy instance. This method always returns true, or raises
+ # an exception (defined under Curl::Err) on error.
+ #
+ # source://curb//lib/curl/easy.rb#301
+ def http_get; end
+
+ # call-seq:
+ # easy.http_head => true
+ #
+ # Request headers from the currently configured URL using the HEAD
+ # method and current options set for this Curl::Easy instance. This
+ # method always returns true, or raises an exception (defined under
+ # Curl::Err) on error.
+ #
+ # source://curb//lib/curl/easy.rb#286
+ def http_head; end
+
+ def http_post(*_arg0); end
+ def http_put(_arg0); end
+ def ignore_content_length=(_arg0); end
+ def ignore_content_length?; end
+ def inspect; end
+ def interface; end
+
+ # call-seq:
+ # easy.interface = string => string
+ #
+ # Set the interface name to use as the outgoing network interface.
+ # The name can be an interface name, an IP address or a host name.
+ #
+ # source://curb//lib/curl/easy.rb#188
+ def interface=(value); end
+
+ def last_effective_url; end
+ def last_error; end
+ def last_result; end
+ def local_port; end
+ def local_port=(_arg0); end
+ def local_port_range; end
+ def local_port_range=(_arg0); end
+ def low_speed_limit; end
+ def low_speed_limit=(_arg0); end
+ def low_speed_time; end
+ def low_speed_time=(_arg0); end
+ def max_recv_speed_large; end
+ def max_recv_speed_large=(_arg0); end
+ def max_redirects; end
+ def max_redirects=(_arg0); end
+ def max_send_speed_large; end
+ def max_send_speed_large=(_arg0); end
+ def multi; end
+ def multi=(_arg0); end
+ def multipart_form_post=(_arg0); end
+ def multipart_form_post?; end
+ def name_lookup_time; end
+
+ # call-seq:
+ #
+ # easy = Curl::Easy.new
+ # easy.nosignal = true
+ #
+ # source://curb//lib/curl/easy.rb#92
+ def nosignal=(onoff); end
+
+ def num_connects; end
+ def on_body(*_arg0); end
+ def on_complete(*_arg0); end
+ def on_debug(*_arg0); end
+ def on_failure(*_arg0); end
+ def on_header(*_arg0); end
+ def on_missing(*_arg0); end
+ def on_progress(*_arg0); end
+ def on_redirect(*_arg0); end
+ def on_success(*_arg0); end
+ def os_errno; end
+ def password; end
+ def password=(_arg0); end
+
+ # call-seq:
+ # easy.perform => true
+ #
+ # Transfer the currently configured URL using the options set for this
+ # Curl::Easy instance. If this is an HTTP URL, it will be transferred via
+ # the configured HTTP Verb.
+ #
+ # source://curb//lib/curl/easy.rb#66
+ def perform; end
+
+ def post(*_arg0); end
+ def post_body; end
+ def post_body=(_arg0); end
+ def pre_transfer_time; end
+ def primary_ip; end
+ def proxy_auth_types; end
+ def proxy_auth_types=(_arg0); end
+ def proxy_headers; end
+ def proxy_headers=(_arg0); end
+ def proxy_port; end
+ def proxy_port=(_arg0); end
+ def proxy_tunnel=(_arg0); end
+ def proxy_tunnel?; end
+ def proxy_type; end
+ def proxy_type=(_arg0); end
+ def proxy_url; end
+
+ # call-seq:
+ # easy.proxy_url = string => string
+ #
+ # Set the URL of the HTTP proxy to use for subsequent calls to +perform+.
+ # The URL should specify the the host name or dotted IP address. To specify
+ # port number in this string, append :[port] to the end of the host name.
+ # The proxy string may be prefixed with [protocol]:// since any such prefix
+ # will be ignored. The proxy's port number may optionally be specified with
+ # the separate option proxy_port .
+ #
+ # When you tell the library to use an HTTP proxy, libcurl will transparently
+ # convert operations to HTTP even if you specify an FTP URL etc. This may have
+ # an impact on what other features of the library you can use, such as
+ # FTP specifics that don't work unless you tunnel through the HTTP proxy. Such
+ # tunneling is activated with proxy_tunnel = true.
+ #
+ # libcurl respects the environment variables *http_proxy*, *ftp_proxy*,
+ # *all_proxy* etc, if any of those is set. The proxy_url option does however
+ # override any possibly set environment variables.
+ #
+ # Starting with libcurl 7.14.1, the proxy host string given in environment
+ # variables can be specified the exact same way as the proxy can be set with
+ # proxy_url, including protocol prefix (http://) and embedded user + password.
+ #
+ # source://curb//lib/curl/easy.rb#157
+ def proxy_url=(url); end
+
+ def proxypwd; end
+
+ # call-seq:
+ # easy.proxypwd = string => string
+ #
+ # Set the username/password string to use for proxy connection during
+ # subsequent calls to +perform+. The supplied string should have the
+ # form "username:password"
+ #
+ # source://curb//lib/curl/easy.rb#211
+ def proxypwd=(value); end
+
+ def put(_arg0); end
+ def put_data=(_arg0); end
+ def redirect_count; end
+ def redirect_time; end
+ def redirect_url; end
+ def request_size; end
+ def reset; end
+ def resolve; end
+ def resolve=(_arg0); end
+ def resolve_mode; end
+ def resolve_mode=(_arg0); end
+ def response_code; end
+
+ # call-seq:
+ # easy.set :sym|Fixnum, value
+ #
+ # set options on the curl easy handle see http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
+ #
+ # source://curb//lib/curl/easy.rb#34
+ def set(opt, val); end
+
+ def setopt(_arg0, _arg1); end
+ def ssl_verify_host; end
+
+ # source://curb//lib/curl/easy.rb#161
+ def ssl_verify_host=(value); end
+
+ # call-seq:
+ # easy.ssl_verify_host? => boolean
+ #
+ # Deprecated: call easy.ssl_verify_host instead
+ # can be one of [0,1,2]
+ #
+ # Determine whether this Curl instance will verify that the server cert
+ # is for the server it is known as.
+ #
+ # @return [Boolean]
+ #
+ # source://curb//lib/curl/easy.rb#177
+ def ssl_verify_host?; end
+
+ def ssl_verify_host_integer=(_arg0); end
+ def ssl_verify_peer=(_arg0); end
+ def ssl_verify_peer?; end
+ def ssl_verify_result; end
+ def ssl_version; end
+ def ssl_version=(_arg0); end
+ def start_transfer_time; end
+
+ # call-seq:
+ # easy.status => String
+ #
+ # source://curb//lib/curl/easy.rb#22
+ def status; end
+
+ # call-seq:
+ # easy.sym2curl :symbol => Fixnum
+ #
+ # translates ruby symbols to libcurl options
+ #
+ # source://curb//lib/curl/easy.rb#54
+ def sym2curl(opt); end
+
+ def timeout; end
+ def timeout=(_arg0); end
+ def timeout_ms; end
+ def timeout_ms=(_arg0); end
+ def total_time; end
+ def unescape(_arg0); end
+ def unrestricted_auth=(_arg0); end
+ def unrestricted_auth?; end
+ def upload_speed; end
+ def uploaded_bytes; end
+ def uploaded_content_length; end
+ def url; end
+
+ # call-seq:
+ # easy.url = "http://some.url/" => "http://some.url/"
+ #
+ # Set the URL for subsequent calls to +perform+. It is acceptable
+ # (and even recommended) to reuse Curl::Easy instances by reassigning
+ # the URL between calls to +perform+.
+ #
+ # source://curb//lib/curl/easy.rb#128
+ def url=(u); end
+
+ def use_netrc=(_arg0); end
+ def use_netrc?; end
+ def use_ssl; end
+ def use_ssl=(_arg0); end
+ def useragent; end
+ def useragent=(_arg0); end
+ def username; end
+ def username=(_arg0); end
+ def userpwd; end
+
+ # call-seq:
+ # easy.userpwd = string => string
+ #
+ # Set the username/password string to use for subsequent calls to +perform+.
+ # The supplied string should have the form "username:password"
+ #
+ # source://curb//lib/curl/easy.rb#199
+ def userpwd=(value); end
+
+ def verbose=(_arg0); end
+ def verbose?; end
+
+ # call-seq:
+ #
+ # easy = Curl::Easy.new("url")
+ # easy.version = Curl::HTTP_2_0
+ # easy.version = Curl::HTTP_1_1
+ # easy.version = Curl::HTTP_1_0
+ # easy.version = Curl::HTTP_NONE
+ #
+ # source://curb//lib/curl/easy.rb#116
+ def version=(http_version); end
+
+ class << self
+ # call-seq:
+ # Curl::Easy.download(url, filename = url.split(/\?/).first.split(/\//).last) { |curl| ... }
+ #
+ # Stream the specified url (via perform) and save the data directly to the
+ # supplied filename (defaults to the last component of the URL path, which will
+ # usually be the filename most simple urls).
+ #
+ # If a block is supplied, it will be passed the curl instance prior to the
+ # perform call.
+ #
+ # *Note* that the semantics of the on_body handler are subtly changed when using
+ # download, to account for the automatic routing of data to the specified file: The
+ # data string is passed to the handler *before* it is written
+ # to the file, allowing the handler to perform mutative operations where
+ # necessary. As usual, the transfer will be aborted if the on_body handler
+ # returns a size that differs from the data chunk size - in this case, the
+ # offending chunk will *not* be written to the file, the file will be closed,
+ # and a Curl::Err::AbortedByCallbackError will be raised.
+ #
+ # source://curb//lib/curl/easy.rb#446
+ def download(url, filename = T.unsafe(nil), &blk); end
+
+ def error(_arg0); end
+
+ # call-seq:
+ # Curl::Easy.http_delete(url) { |easy| ... } => #
+ #
+ # Convenience method that creates a new Curl::Easy instance with
+ # the specified URL and calls +http_delete+, before returning the new instance.
+ #
+ # If a block is supplied, the new instance will be yielded just prior to
+ # the +http_delete+ call.
+ #
+ # @yield [c]
+ #
+ # source://curb//lib/curl/easy.rb#421
+ def http_delete(*args); end
+
+ # call-seq:
+ # Curl::Easy.http_get(url) { |easy| ... } => #
+ #
+ # Convenience method that creates a new Curl::Easy instance with
+ # the specified URL and calls +http_get+, before returning the new instance.
+ #
+ # If a block is supplied, the new instance will be yielded just prior to
+ # the +http_get+ call.
+ #
+ # @yield [c]
+ #
+ # source://curb//lib/curl/easy.rb#350
+ def http_get(*args); end
+
+ # call-seq:
+ # Curl::Easy.http_head(url) { |easy| ... } => #
+ #
+ # Convenience method that creates a new Curl::Easy instance with
+ # the specified URL and calls +http_head+, before returning the new instance.
+ #
+ # If a block is supplied, the new instance will be yielded just prior to
+ # the +http_head+ call.
+ #
+ # @yield [c]
+ #
+ # source://curb//lib/curl/easy.rb#367
+ def http_head(*args); end
+
+ # call-seq:
+ # Curl::Easy.http_post(url, "some=urlencoded%20form%20data&and=so%20on") => true
+ # Curl::Easy.http_post(url, "some=urlencoded%20form%20data", "and=so%20on", ...) => true
+ # Curl::Easy.http_post(url, "some=urlencoded%20form%20data", Curl::PostField, "and=so%20on", ...) => true
+ # Curl::Easy.http_post(url, Curl::PostField, Curl::PostField ..., Curl::PostField) => true
+ #
+ # POST the specified formdata to the currently configured URL using
+ # the current options set for this Curl::Easy instance. This method
+ # always returns true, or raises an exception (defined under
+ # Curl::Err) on error.
+ #
+ # If you wish to use multipart form encoding, you'll need to supply a block
+ # in order to set multipart_form_post true. See #http_post for more
+ # information.
+ #
+ # @yield [c]
+ #
+ # source://curb//lib/curl/easy.rb#403
+ def http_post(*args); end
+
+ # call-seq:
+ # Curl::Easy.http_put(url, data) {|c| ... }
+ #
+ # see easy.http_put
+ #
+ # @yield [c]
+ #
+ # source://curb//lib/curl/easy.rb#380
+ def http_put(url, data); end
+
+ # call-seq:
+ # Curl::Easy.perform(url) { |easy| ... } => #
+ #
+ # Convenience method that creates a new Curl::Easy instance with
+ # the specified URL and calls the general +perform+ method, before returning
+ # the new instance. For HTTP URLs, this is equivalent to calling +http_get+.
+ #
+ # If a block is supplied, the new instance will be yielded just prior to
+ # the +http_get+ call.
+ #
+ # @yield [c]
+ #
+ # source://curb//lib/curl/easy.rb#333
+ def perform(*args); end
+ end
+end
+
+# source://curb//lib/curl/easy.rb#10
+class Curl::Easy::Error < ::StandardError
+ # @return [Error] a new instance of Error
+ #
+ # source://curb//lib/curl/easy.rb#12
+ def initialize(code, msg); end
+
+ # Returns the value of attribute code.
+ #
+ # source://curb//lib/curl/easy.rb#11
+ def code; end
+
+ # Sets the attribute code
+ #
+ # @param value the value to set the attribute code to.
+ #
+ # source://curb//lib/curl/easy.rb#11
+ def code=(_arg0); end
+
+ # Returns the value of attribute message.
+ #
+ # source://curb//lib/curl/easy.rb#11
+ def message; end
+
+ # Sets the attribute message
+ #
+ # @param value the value to set the attribute message to.
+ #
+ # source://curb//lib/curl/easy.rb#11
+ def message=(_arg0); end
+end
+
+module Curl::Err; end
+class Curl::Err::AbortedByCallbackError < ::Curl::Err::CurlError; end
+class Curl::Err::AccessDeniedError < ::Curl::Err::FTPError; end
+class Curl::Err::Again < ::Curl::Err::CurlError; end
+class Curl::Err::BadCallingOrderError < ::Curl::Err::CurlError; end
+class Curl::Err::BadContentEncodingError < ::Curl::Err::CurlError; end
+class Curl::Err::BadFileListError < ::Curl::Err::FTPError; end
+class Curl::Err::BadFunctionArgumentError < ::Curl::Err::CurlError; end
+class Curl::Err::BadOptionSyntaxError < ::Curl::Err::TelnetError; end
+class Curl::Err::BadPasswordEnteredError < ::Curl::Err::CurlError; end
+class Curl::Err::BadPasswordError < ::Curl::Err::FTPError; end
+class Curl::Err::BadResumeError < ::Curl::Err::CurlError; end
+class Curl::Err::CantGetHostError < ::Curl::Err::FTPError; end
+class Curl::Err::CantReconnectError < ::Curl::Err::FTPError; end
+class Curl::Err::ChunkFailedError < ::Curl::Err::CurlError; end
+class Curl::Err::ConnectionFailedError < ::Curl::Err::CurlError; end
+class Curl::Err::ConvFailed < ::Curl::Err::CurlError; end
+class Curl::Err::ConvReqd < ::Curl::Err::CurlError; end
+class Curl::Err::CouldntBindError < ::Curl::Err::LDAPError; end
+class Curl::Err::CouldntGetSizeError < ::Curl::Err::FTPError; end
+class Curl::Err::CouldntReadError < ::Curl::Err::FileError; end
+class Curl::Err::CouldntRetrFileError < ::Curl::Err::FTPError; end
+class Curl::Err::CouldntSetASCIIError < ::Curl::Err::FTPError; end
+class Curl::Err::CouldntSetBinaryError < ::Curl::Err::FTPError; end
+class Curl::Err::CouldntStorFileError < ::Curl::Err::FTPError; end
+class Curl::Err::CouldntUseRestError < ::Curl::Err::FTPError; end
+class Curl::Err::CseqError < ::Curl::Err::RTSPError; end
+class Curl::Err::CurlError < ::RuntimeError; end
+class Curl::Err::CurlOK < ::Curl::Err::CurlError; end
+class Curl::Err::DiskFullError < ::Curl::Err::TFTPError; end
+class Curl::Err::FTPError < ::Curl::Err::CurlError; end
+class Curl::Err::FTPQuoteError < ::Curl::Err::FTPError; end
+class Curl::Err::FTPSSLFailed < ::Curl::Err::FTPError; end
+class Curl::Err::FTPWriteError < ::Curl::Err::FTPError; end
+class Curl::Err::FailedInitError < ::Curl::Err::CurlError; end
+class Curl::Err::FileError < ::Curl::Err::CurlError; end
+class Curl::Err::FileExistsError < ::Curl::Err::TFTPError; end
+class Curl::Err::FileSizeExceededError < ::Curl::Err::CurlError; end
+class Curl::Err::FunctionNotFoundError < ::Curl::Err::CurlError; end
+class Curl::Err::GotNothingError < ::Curl::Err::CurlError; end
+class Curl::Err::HTTP2StreamError < ::Curl::Err::HTTPError; end
+class Curl::Err::HTTPError < ::Curl::Err::CurlError; end
+class Curl::Err::HTTPFailedError < ::Curl::Err::HTTPError; end
+class Curl::Err::HTTPPostError < ::Curl::Err::HTTPError; end
+class Curl::Err::HTTPRangeError < ::Curl::Err::HTTPError; end
+class Curl::Err::HostResolutionError < ::Curl::Err::CurlError; end
+class Curl::Err::IllegalOperationError < ::Curl::Err::TFTPError; end
+class Curl::Err::InterfaceFailedError < ::Curl::Err::CurlError; end
+class Curl::Err::InvalidLDAPURLError < ::Curl::Err::LDAPError; end
+class Curl::Err::InvalidPostFieldError < ::Curl::Err::CurlError; end
+class Curl::Err::LDAPError < ::Curl::Err::CurlError; end
+class Curl::Err::LibraryNotFoundError < ::Curl::Err::CurlError; end
+class Curl::Err::LoginDeniedError < ::Curl::Err::CurlError; end
+class Curl::Err::MalformedURLError < ::Curl::Err::CurlError; end
+class Curl::Err::MalformedURLUserError < ::Curl::Err::CurlError; end
+class Curl::Err::MalformedUserError < ::Curl::Err::CurlError; end
+class Curl::Err::MultiAddedAlready < ::Curl::Err::CurlError; end
+class Curl::Err::MultiBadEasyHandle < ::Curl::Err::CurlError; end
+class Curl::Err::MultiBadHandle < ::Curl::Err::CurlError; end
+class Curl::Err::MultiBadSocket < ::Curl::Err::CurlError; end
+class Curl::Err::MultiInitError < ::Curl::Err::CurlError; end
+class Curl::Err::MultiInternalError < ::Curl::Err::CurlError; end
+class Curl::Err::MultiOutOfMemory < ::Curl::Err::CurlError; end
+class Curl::Err::MultiPerform < ::Curl::Err::CurlError; end
+class Curl::Err::MultiUnknownOption < ::Curl::Err::CurlError; end
+class Curl::Err::NoConnectionAvailableError < ::Curl::Err::CurlError; end
+class Curl::Err::NoSuchUserError < ::Curl::Err::TFTPError; end
+class Curl::Err::NotBuiltInError < ::Curl::Err::CurlError; end
+class Curl::Err::NotFoundError < ::Curl::Err::TFTPError; end
+class Curl::Err::ObsoleteError < ::Curl::Err::CurlError; end
+class Curl::Err::OutOfMemoryError < ::Curl::Err::CurlError; end
+class Curl::Err::PPRETFailedError < ::Curl::Err::FTPError; end
+class Curl::Err::PartialFileError < ::Curl::Err::CurlError; end
+class Curl::Err::PermissionError < ::Curl::Err::TFTPError; end
+class Curl::Err::PortFailedError < ::Curl::Err::FTPError; end
+class Curl::Err::ProxyResolutionError < ::Curl::Err::CurlError; end
+class Curl::Err::RTSPError < ::Curl::Err::CurlError; end
+class Curl::Err::ReadError < ::Curl::Err::CurlError; end
+class Curl::Err::RecvError < ::Curl::Err::CurlError; end
+class Curl::Err::RemoteFileNotFound < ::Curl::Err::CurlError; end
+class Curl::Err::SSH < ::Curl::Err::CurlError; end
+class Curl::Err::SSLCACertificateError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLCRLBadfile < ::Curl::Err::CurlError; end
+class Curl::Err::SSLCaertBadFile < ::Curl::Err::CurlError; end
+class Curl::Err::SSLCertificateError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLConnectError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLCypherError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLEngineInitFailedError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLEngineNotFoundError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLEngineSetFailedError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLInvalidCertStatusError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLIssuerError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLPeerCertificateError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLPinnedPubKeyNotMatchError < ::Curl::Err::CurlError; end
+class Curl::Err::SSLShutdownFailed < ::Curl::Err::CurlError; end
+class Curl::Err::SearchFailedError < ::Curl::Err::LDAPError; end
+class Curl::Err::SendError < ::Curl::Err::CurlError; end
+class Curl::Err::SendFailedRewind < ::Curl::Err::CurlError; end
+class Curl::Err::SessionError < ::Curl::Err::RTSPError; end
+class Curl::Err::ShareInUseError < ::Curl::Err::CurlError; end
+class Curl::Err::TFTPError < ::Curl::Err::CurlError; end
+class Curl::Err::TelnetError < ::Curl::Err::CurlError; end
+class Curl::Err::TimeoutError < ::Curl::Err::CurlError; end
+class Curl::Err::TooManyRedirectsError < ::Curl::Err::CurlError; end
+class Curl::Err::UnknownIDError < ::Curl::Err::TFTPError; end
+class Curl::Err::UnknownOptionError < ::Curl::Err::TelnetError; end
+class Curl::Err::UnsupportedProtocolError < ::Curl::Err::CurlError; end
+class Curl::Err::Weird227FormatError < ::Curl::Err::FTPError; end
+class Curl::Err::WeirdPassReplyError < ::Curl::Err::FTPError; end
+class Curl::Err::WeirdPasvReplyError < ::Curl::Err::FTPError; end
+class Curl::Err::WeirdReplyError < ::Curl::Err::FTPError; end
+class Curl::Err::WeirdUserReplyError < ::Curl::Err::FTPError; end
+class Curl::Err::WriteError < ::Curl::Err::CurlError; end
+Curl::HTTP_1_0 = T.let(T.unsafe(nil), Integer)
+Curl::HTTP_1_1 = T.let(T.unsafe(nil), Integer)
+Curl::HTTP_2_0 = T.let(T.unsafe(nil), Integer)
+Curl::HTTP_NONE = T.let(T.unsafe(nil), Integer)
+Curl::LONG_VERSION = T.let(T.unsafe(nil), String)
+
+# source://curb//lib/curl/multi.rb#3
+class Curl::Multi
+ def _add(_arg0); end
+ def _close; end
+ def _remove(_arg0); end
+
+ # source://curb//lib/curl/multi.rb#269
+ def add(easy); end
+
+ # source://curb//lib/curl/multi.rb#255
+ def cancel!; end
+
+ # source://curb//lib/curl/multi.rb#283
+ def close; end
+
+ # @return [Boolean]
+ #
+ # source://curb//lib/curl/multi.rb#261
+ def idle?; end
+
+ def max_connects=(_arg0); end
+ def perform(*_arg0); end
+ def pipeline=(_arg0); end
+
+ # source://curb//lib/curl/multi.rb#276
+ def remove(easy); end
+
+ # source://curb//lib/curl/multi.rb#265
+ def requests; end
+
+ class << self
+ def autoclose; end
+ def autoclose=(_arg0); end
+ def default_timeout; end
+ def default_timeout=(_arg0); end
+
+ # call-seq:
+ #
+ # Curl::Multi.download(['http://example.com/p/a/t/h/file1.txt','http://example.com/p/a/t/h/file2.txt']){|c|}
+ #
+ # will create 2 new files file1.txt and file2.txt
+ #
+ # 2 files will be opened, and remain open until the call completes
+ #
+ # when using the :post or :put method, urls should be a hash, including the individual post fields per post
+ #
+ # source://curb//lib/curl/multi.rb#187
+ def download(urls, easy_options = T.unsafe(nil), multi_options = T.unsafe(nil), download_paths = T.unsafe(nil), &blk); end
+
+ # call-seq:
+ # Curl::Multi.get(['url1','url2','url3','url4','url5'], :follow_location => true) do|easy|
+ # easy
+ # end
+ #
+ # Blocking call to fetch multiple url's in parallel.
+ #
+ # source://curb//lib/curl/multi.rb#14
+ def get(urls, easy_options = T.unsafe(nil), multi_options = T.unsafe(nil), &blk); end
+
+ # call-seq:
+ #
+ # Curl::Multi.http( [
+ # { :url => 'url1', :method => :post,
+ # :post_fields => {'field1' => 'value1', 'field2' => 'value2'} },
+ # { :url => 'url2', :method => :get,
+ # :follow_location => true, :max_redirects => 3 },
+ # { :url => 'url3', :method => :put, :put_data => File.open('file.txt','rb') },
+ # { :url => 'url4', :method => :head }
+ # ], {:pipeline => Curl::CURLPIPE_HTTP1})
+ #
+ # Blocking call to issue multiple HTTP requests with varying verb's.
+ #
+ # urls_with_config: is a hash of url's pointing to the easy handle options as well as the special option :method, that can by one of [:get, :post, :put, :delete, :head], when no verb is provided e.g. :method => nil -> GET is used
+ # multi_options: options for the multi handle
+ # blk: a callback, that yeilds when a handle is completed
+ #
+ # source://curb//lib/curl/multi.rb#88
+ def http(urls_with_config, multi_options = T.unsafe(nil), &blk); end
+
+ def new; end
+
+ # call-seq:
+ #
+ # Curl::Multi.post([{:url => 'url1', :post_fields => {'field1' => 'value1', 'field2' => 'value2'}},
+ # {:url => 'url2', :post_fields => {'field1' => 'value1', 'field2' => 'value2'}},
+ # {:url => 'url3', :post_fields => {'field1' => 'value1', 'field2' => 'value2'}}],
+ # { :follow_location => true, :multipart_form_post => true },
+ # {:pipeline => Curl::CURLPIPE_HTTP1}) do|easy|
+ # easy_handle_on_request_complete
+ # end
+ #
+ # Blocking call to POST multiple form's in parallel.
+ #
+ # urls_with_config: is a hash of url's pointing to the postfields to send
+ # easy_options: are a set of common options to set on all easy handles
+ # multi_options: options to set on the Curl::Multi handle
+ #
+ # source://curb//lib/curl/multi.rb#38
+ def post(urls_with_config, easy_options = T.unsafe(nil), multi_options = T.unsafe(nil), &blk); end
+
+ # call-seq:
+ #
+ # Curl::Multi.put([{:url => 'url1', :put_data => "some message"},
+ # {:url => 'url2', :put_data => IO.read('filepath')},
+ # {:url => 'url3', :put_data => "maybe another string or socket?"],
+ # {:follow_location => true},
+ # {:pipeline => Curl::CURLPIPE_HTTP1}) do|easy|
+ # easy_handle_on_request_complete
+ # end
+ #
+ # Blocking call to POST multiple form's in parallel.
+ #
+ # urls_with_config: is a hash of url's pointing to the postfields to send
+ # easy_options: are a set of common options to set on all easy handles
+ # multi_options: options to set on the Curl::Multi handle
+ #
+ # source://curb//lib/curl/multi.rb#62
+ def put(urls_with_config, easy_options = T.unsafe(nil), multi_options = T.unsafe(nil), &blk); end
+ end
+end
+
+# source://curb//lib/curl/multi.rb#4
+class Curl::Multi::DownloadError < ::RuntimeError
+ # Returns the value of attribute errors.
+ #
+ # source://curb//lib/curl/multi.rb#5
+ def errors; end
+
+ # Sets the attribute errors
+ #
+ # @param value the value to set the attribute errors to.
+ #
+ # source://curb//lib/curl/multi.rb#5
+ def errors=(_arg0); end
+end
+
+Curl::PIPE_HTTP1 = T.let(T.unsafe(nil), Integer)
+Curl::PIPE_MULTIPLEX = T.let(T.unsafe(nil), Integer)
+Curl::PIPE_NOTHING = T.let(T.unsafe(nil), Integer)
+
+class Curl::PostField
+ def content; end
+ def content=(_arg0); end
+ def content_type; end
+ def content_type=(_arg0); end
+ def local_file; end
+ def local_file=(_arg0); end
+ def name; end
+ def name=(_arg0); end
+ def remote_file; end
+ def remote_file=(_arg0); end
+ def set_content_proc(*_arg0); end
+ def to_s; end
+ def to_str; end
+
+ class << self
+ def content(*_arg0); end
+ def file(*_arg0); end
+ end
+end
+
+class Curl::Upload
+ def offset; end
+ def offset=(_arg0); end
+ def stream; end
+ def stream=(_arg0); end
+
+ class << self
+ def new; end
+ end
+end
+
+Curl::VERNUM = T.let(T.unsafe(nil), Integer)
+Curl::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/diff-lcs@1.5.1.rbi b/sorbet/rbi/gems/diff-lcs@1.5.1.rbi
new file mode 100644
index 00000000..2b78c298
--- /dev/null
+++ b/sorbet/rbi/gems/diff-lcs@1.5.1.rbi
@@ -0,0 +1,1130 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `diff-lcs` gem.
+# Please instead update this file by running `bin/tapioca gem diff-lcs`.
+
+# source://diff-lcs//lib/diff/lcs.rb#3
+module Diff; end
+
+# == How Diff Works (by Mark-Jason Dominus)
+#
+# I once read an article written by the authors of +diff+; they said that they
+# hard worked very hard on the algorithm until they found the right one.
+#
+# I think what they ended up using (and I hope someone will correct me, because
+# I am not very confident about this) was the `longest common subsequence'
+# method. In the LCS problem, you have two sequences of items:
+#
+# a b c d f g h j q z
+# a b c d e f g i j k r x y z
+#
+# and you want to find the longest sequence of items that is present in both
+# original sequences in the same order. That is, you want to find a new
+# sequence *S* which can be obtained from the first sequence by deleting some
+# items, and from the second sequence by deleting other items. You also want
+# *S* to be as long as possible. In this case *S* is:
+#
+# a b c d f g j z
+#
+# From there it's only a small step to get diff-like output:
+#
+# e h i k q r x y
+# + - + + - + + +
+#
+# This module solves the LCS problem. It also includes a canned function to
+# generate +diff+-like output.
+#
+# It might seem from the example above that the LCS of two sequences is always
+# pretty obvious, but that's not always the case, especially when the two
+# sequences have many repeated elements. For example, consider
+#
+# a x b y c z p d q
+# a b c a x b y c z
+#
+# A naive approach might start by matching up the +a+ and +b+ that appear at
+# the beginning of each sequence, like this:
+#
+# a x b y c z p d q
+# a b c a b y c z
+#
+# This finds the common subsequence +a b c z+. But actually, the LCS is +a x b
+# y c z+:
+#
+# a x b y c z p d q
+# a b c a x b y c z
+#
+# source://diff-lcs//lib/diff/lcs.rb#51
+module Diff::LCS
+ # Returns the difference set between +self+ and +other+. See Diff::LCS#diff.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#75
+ def diff(other, callbacks = T.unsafe(nil), &block); end
+
+ # Returns an Array containing the longest common subsequence(s) between
+ # +self+ and +other+. See Diff::LCS#lcs.
+ #
+ # lcs = seq1.lcs(seq2)
+ #
+ # A note when using objects: Diff::LCS only works properly when each object
+ # can be used as a key in a Hash, which typically means that the objects must
+ # implement Object#eql? in a way that two identical values compare
+ # identically for key purposes. That is:
+ #
+ # O.new('a').eql?(O.new('a')) == true
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#70
+ def lcs(other, &block); end
+
+ # Attempts to patch +self+ with the provided +patchset+. A new sequence based
+ # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Attempts
+ # to autodiscover the direction of the patch.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#101
+ def patch(patchset); end
+
+ # Attempts to patch +self+ with the provided +patchset+. A new sequence based
+ # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Does no
+ # patch direction autodiscovery.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#109
+ def patch!(patchset); end
+
+ # Attempts to patch +self+ with the provided +patchset+, using #patch!. If
+ # the sequence this is used on supports #replace, the value of +self+ will be
+ # replaced. See Diff::LCS#patch. Does no patch direction autodiscovery.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#123
+ def patch_me(patchset); end
+
+ # Returns the balanced ("side-by-side") difference set between +self+ and
+ # +other+. See Diff::LCS#sdiff.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#81
+ def sdiff(other, callbacks = T.unsafe(nil), &block); end
+
+ # Traverses the discovered longest common subsequences between +self+ and
+ # +other+ using the alternate, balanced algorithm. See
+ # Diff::LCS#traverse_balanced.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#94
+ def traverse_balanced(other, callbacks = T.unsafe(nil), &block); end
+
+ # Traverses the discovered longest common subsequences between +self+ and
+ # +other+. See Diff::LCS#traverse_sequences.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#87
+ def traverse_sequences(other, callbacks = T.unsafe(nil), &block); end
+
+ # Attempts to patch +self+ with the provided +patchset+. A new sequence based
+ # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Attempts
+ # to autodiscover the direction of the patch.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#101
+ def unpatch(patchset); end
+
+ # Attempts to unpatch +self+ with the provided +patchset+. A new sequence
+ # based on +self+ and the +patchset+ will be created. See Diff::LCS#unpatch.
+ # Does no patch direction autodiscovery.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#116
+ def unpatch!(patchset); end
+
+ # Attempts to unpatch +self+ with the provided +patchset+, using #unpatch!.
+ # If the sequence this is used on supports #replace, the value of +self+ will
+ # be replaced. See Diff::LCS#unpatch. Does no patch direction autodiscovery.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#134
+ def unpatch_me(patchset); end
+
+ class << self
+ # :yields: seq1[i] for each matched
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#144
+ def LCS(seq1, seq2, &block); end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#52
+ def callbacks_for(callbacks); end
+
+ # #diff computes the smallest set of additions and deletions necessary to
+ # turn the first sequence into the second, and returns a description of these
+ # changes.
+ #
+ # See Diff::LCS::DiffCallbacks for the default behaviour. An alternate
+ # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
+ # Class argument is provided for +callbacks+, #diff will attempt to
+ # initialise it. If the +callbacks+ object (possibly initialised) responds to
+ # #finish, it will be called.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#168
+ def diff(seq1, seq2, callbacks = T.unsafe(nil), &block); end
+
+ # :yields: seq1[i] for each matched
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#144
+ def lcs(seq1, seq2, &block); end
+
+ # Applies a +patchset+ to the sequence +src+ according to the +direction+
+ # (:patch or :unpatch ), producing a new sequence.
+ #
+ # If the +direction+ is not specified, Diff::LCS::patch will attempt to
+ # discover the direction of the +patchset+.
+ #
+ # A +patchset+ can be considered to apply forward (:patch ) if the
+ # following expression is true:
+ #
+ # patch(s1, diff(s1, s2)) -> s2
+ #
+ # A +patchset+ can be considered to apply backward (:unpatch ) if the
+ # following expression is true:
+ #
+ # patch(s2, diff(s1, s2)) -> s1
+ #
+ # If the +patchset+ contains no changes, the +src+ value will be returned as
+ # either src.dup or +src+. A +patchset+ can be deemed as having no
+ # changes if the following predicate returns true:
+ #
+ # patchset.empty? or
+ # patchset.flatten(1).all? { |change| change.unchanged? }
+ #
+ # === Patchsets
+ #
+ # A +patchset+ is always an enumerable sequence of changes, hunks of changes,
+ # or a mix of the two. A hunk of changes is an enumerable sequence of
+ # changes:
+ #
+ # [ # patchset
+ # # change
+ # [ # hunk
+ # # change
+ # ]
+ # ]
+ #
+ # The +patch+ method accepts patchset s that are enumerable sequences
+ # containing either Diff::LCS::Change objects (or a subclass) or the array
+ # representations of those objects. Prior to application, array
+ # representations of Diff::LCS::Change objects will be reified.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#626
+ def patch(src, patchset, direction = T.unsafe(nil)); end
+
+ # Given a set of patchset, convert the current version to the next version.
+ # Does no auto-discovery.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#736
+ def patch!(src, patchset); end
+
+ # #sdiff computes all necessary components to show two sequences and their
+ # minimized differences side by side, just like the Unix utility
+ # sdiff does:
+ #
+ # old < -
+ # same same
+ # before | after
+ # - > new
+ #
+ # See Diff::LCS::SDiffCallbacks for the default behaviour. An alternate
+ # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
+ # Class argument is provided for +callbacks+, #diff will attempt to
+ # initialise it. If the +callbacks+ object (possibly initialised) responds to
+ # #finish, it will be called.
+ #
+ # Each element of a returned array is a Diff::LCS::ContextChange object,
+ # which can be implicitly converted to an array.
+ #
+ # Diff::LCS.sdiff(a, b).each do |action, (old_pos, old_element), (new_pos, new_element)|
+ # case action
+ # when '!'
+ # # replace
+ # when '-'
+ # # delete
+ # when '+'
+ # # insert
+ # end
+ # end
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#200
+ def sdiff(seq1, seq2, callbacks = T.unsafe(nil), &block); end
+
+ # #traverse_balanced is an alternative to #traverse_sequences. It uses a
+ # different algorithm to iterate through the entries in the computed longest
+ # common subsequence. Instead of viewing the changes as insertions or
+ # deletions from one of the sequences, #traverse_balanced will report
+ # changes between the sequences.
+ #
+ # The arguments to #traverse_balanced are the two sequences to traverse and a
+ # callback object, like this:
+ #
+ # traverse_balanced(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
+ #
+ # #sdiff is implemented with #traverse_balanced.
+ #
+ # == Callback Methods
+ #
+ # Optional callback methods are emphasized .
+ #
+ # callbacks#match:: Called when +a+ and +b+ are pointing to
+ # common elements in +A+ and +B+.
+ # callbacks#discard_a:: Called when +a+ is pointing to an
+ # element not in +B+.
+ # callbacks#discard_b:: Called when +b+ is pointing to an
+ # element not in +A+.
+ # callbacks#change :: Called when +a+ and +b+ are pointing to
+ # the same relative position, but
+ # A[a] and B[b] are not
+ # the same; a change has
+ # occurred.
+ #
+ # #traverse_balanced might be a bit slower than #traverse_sequences,
+ # noticable only while processing huge amounts of data.
+ #
+ # == Algorithm
+ #
+ # a---+
+ # v
+ # A = a b c e h j l m n p
+ # B = b c d e f j k l m r s t
+ # ^
+ # b---+
+ #
+ # === Matches
+ #
+ # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+
+ # and +B+, the arrows will initially point to the first elements of their
+ # respective sequences. #traverse_sequences will advance the arrows through
+ # the sequences one element at a time, calling a method on the user-specified
+ # callback object before each advance. It will advance the arrows in such a
+ # way that if there are elements A[i] and B[j] which are
+ # both equal and part of the longest common subsequence, there will be some
+ # moment during the execution of #traverse_sequences when arrow +a+ is
+ # pointing to A[i] and arrow +b+ is pointing to B[j] . When
+ # this happens, #traverse_sequences will call callbacks#match and
+ # then it will advance both arrows.
+ #
+ # === Discards
+ #
+ # Otherwise, one of the arrows is pointing to an element of its sequence that
+ # is not part of the longest common subsequence. #traverse_sequences will
+ # advance that arrow and will call callbacks#discard_a or
+ # callbacks#discard_b , depending on which arrow it advanced.
+ #
+ # === Changes
+ #
+ # If both +a+ and +b+ point to elements that are not part of the longest
+ # common subsequence, then #traverse_sequences will try to call
+ # callbacks#change and advance both arrows. If
+ # callbacks#change is not implemented, then
+ # callbacks#discard_a and callbacks#discard_b will be
+ # called in turn.
+ #
+ # The methods for callbacks#match , callbacks#discard_a ,
+ # callbacks#discard_b , and callbacks#change are invoked
+ # with an event comprising the action ("=", "+", "-", or "!", respectively),
+ # the indicies +i+ and +j+, and the elements A[i] and B[j] .
+ # Return values are discarded by #traverse_balanced.
+ #
+ # === Context
+ #
+ # Note that +i+ and +j+ may not be the same index position, even if +a+ and
+ # +b+ are considered to be pointing to matching or changed elements.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#475
+ def traverse_balanced(seq1, seq2, callbacks = T.unsafe(nil)); end
+
+ # #traverse_sequences is the most general facility provided by this module;
+ # #diff and #lcs are implemented as calls to it.
+ #
+ # The arguments to #traverse_sequences are the two sequences to traverse, and
+ # a callback object, like this:
+ #
+ # traverse_sequences(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
+ #
+ # == Callback Methods
+ #
+ # Optional callback methods are emphasized .
+ #
+ # callbacks#match:: Called when +a+ and +b+ are pointing to
+ # common elements in +A+ and +B+.
+ # callbacks#discard_a:: Called when +a+ is pointing to an
+ # element not in +B+.
+ # callbacks#discard_b:: Called when +b+ is pointing to an
+ # element not in +A+.
+ # callbacks#finished_a :: Called when +a+ has reached the end of
+ # sequence +A+.
+ # callbacks#finished_b :: Called when +b+ has reached the end of
+ # sequence +B+.
+ #
+ # == Algorithm
+ #
+ # a---+
+ # v
+ # A = a b c e h j l m n p
+ # B = b c d e f j k l m r s t
+ # ^
+ # b---+
+ #
+ # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+
+ # and +B+, the arrows will initially point to the first elements of their
+ # respective sequences. #traverse_sequences will advance the arrows through
+ # the sequences one element at a time, calling a method on the user-specified
+ # callback object before each advance. It will advance the arrows in such a
+ # way that if there are elements A[i] and B[j] which are
+ # both equal and part of the longest common subsequence, there will be some
+ # moment during the execution of #traverse_sequences when arrow +a+ is
+ # pointing to A[i] and arrow +b+ is pointing to B[j] . When
+ # this happens, #traverse_sequences will call callbacks#match and
+ # then it will advance both arrows.
+ #
+ # Otherwise, one of the arrows is pointing to an element of its sequence that
+ # is not part of the longest common subsequence. #traverse_sequences will
+ # advance that arrow and will call callbacks#discard_a or
+ # callbacks#discard_b , depending on which arrow it advanced. If both
+ # arrows point to elements that are not part of the longest common
+ # subsequence, then #traverse_sequences will advance arrow +a+ and call the
+ # appropriate callback, then it will advance arrow +b+ and call the appropriate
+ # callback.
+ #
+ # The methods for callbacks#match , callbacks#discard_a , and
+ # callbacks#discard_b are invoked with an event comprising the
+ # action ("=", "+", or "-", respectively), the indicies +i+ and +j+, and the
+ # elements A[i] and B[j] . Return values are discarded by
+ # #traverse_sequences.
+ #
+ # === End of Sequences
+ #
+ # If arrow +a+ reaches the end of its sequence before arrow +b+ does,
+ # #traverse_sequence will try to call callbacks#finished_a with the
+ # last index and element of +A+ (A[-1] ) and the current index and
+ # element of +B+ (B[j] ). If callbacks#finished_a does not
+ # exist, then callbacks#discard_b will be called on each element of
+ # +B+ until the end of the sequence is reached (the call will be done with
+ # A[-1] and B[j] for each element).
+ #
+ # If +b+ reaches the end of +B+ before +a+ reaches the end of +A+,
+ # callbacks#finished_b will be called with the current index and
+ # element of +A+ (A[i] ) and the last index and element of +B+
+ # (A[-1] ). Again, if callbacks#finished_b does not exist on
+ # the callback object, then callbacks#discard_a will be called on
+ # each element of +A+ until the end of the sequence is reached (A[i]
+ # and B[-1] ).
+ #
+ # There is a chance that one additional callbacks#discard_a or
+ # callbacks#discard_b will be called after the end of the sequence
+ # is reached, if +a+ has not yet reached the end of +A+ or +b+ has not yet
+ # reached the end of +B+.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#285
+ def traverse_sequences(seq1, seq2, callbacks = T.unsafe(nil)); end
+
+ # Given a set of patchset, convert the current version to the prior version.
+ # Does no auto-discovery.
+ #
+ # source://diff-lcs//lib/diff/lcs.rb#730
+ def unpatch!(src, patchset); end
+
+ private
+
+ # source://diff-lcs//lib/diff/lcs/internals.rb#4
+ def diff_traversal(method, seq1, seq2, callbacks, &block); end
+ end
+end
+
+# An alias for DefaultCallbacks that is used in
+# Diff::LCS#traverse_balanced.
+#
+# Diff::LCS.LCS(seq1, seq2, Diff::LCS::BalancedCallbacks)
+#
+# source://diff-lcs//lib/diff/lcs/callbacks.rb#50
+Diff::LCS::BalancedCallbacks = Diff::LCS::DefaultCallbacks
+
+# A block is an operation removing, adding, or changing a group of items.
+# Basically, this is just a list of changes, where each change adds or
+# deletes a single item. Used by bin/ldiff.
+#
+# source://diff-lcs//lib/diff/lcs/block.rb#6
+class Diff::LCS::Block
+ # @return [Block] a new instance of Block
+ #
+ # source://diff-lcs//lib/diff/lcs/block.rb#9
+ def initialize(chunk); end
+
+ # Returns the value of attribute changes.
+ #
+ # source://diff-lcs//lib/diff/lcs/block.rb#7
+ def changes; end
+
+ # source://diff-lcs//lib/diff/lcs/block.rb#21
+ def diff_size; end
+
+ # Returns the value of attribute insert.
+ #
+ # source://diff-lcs//lib/diff/lcs/block.rb#7
+ def insert; end
+
+ # source://diff-lcs//lib/diff/lcs/block.rb#25
+ def op; end
+
+ # Returns the value of attribute remove.
+ #
+ # source://diff-lcs//lib/diff/lcs/block.rb#7
+ def remove; end
+end
+
+# Represents a simplistic (non-contextual) change. Represents the removal or
+# addition of an element from either the old or the new sequenced
+# enumerable.
+#
+# source://diff-lcs//lib/diff/lcs/change.rb#6
+class Diff::LCS::Change
+ include ::Comparable
+
+ # @return [Change] a new instance of Change
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#27
+ def initialize(*args); end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#65
+ def <=>(other); end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#58
+ def ==(other); end
+
+ # Returns the action this Change represents.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#20
+ def action; end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#72
+ def adding?; end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#84
+ def changed?; end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#76
+ def deleting?; end
+
+ # Returns the sequence element of the Change.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#25
+ def element; end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#88
+ def finished_a?; end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#92
+ def finished_b?; end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#34
+ def inspect(*_args); end
+
+ # Returns the position of the Change.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#23
+ def position; end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#38
+ def to_a; end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#38
+ def to_ary; end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#80
+ def unchanged?; end
+
+ class << self
+ # source://diff-lcs//lib/diff/lcs/change.rb#44
+ def from_a(arr); end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#15
+ def valid_action?(action); end
+ end
+end
+
+# source://diff-lcs//lib/diff/lcs/change.rb#7
+Diff::LCS::Change::IntClass = Integer
+
+# The only actions valid for changes are '+' (add), '-' (delete), '='
+# (no change), '!' (changed), '<' (tail changes from first sequence), or
+# '>' (tail changes from second sequence). The last two ('<>') are only
+# found with Diff::LCS::diff and Diff::LCS::sdiff.
+#
+# source://diff-lcs//lib/diff/lcs/change.rb#13
+Diff::LCS::Change::VALID_ACTIONS = T.let(T.unsafe(nil), Array)
+
+# Represents a contextual change. Contains the position and values of the
+# elements in the old and the new sequenced enumerables as well as the action
+# taken.
+#
+# source://diff-lcs//lib/diff/lcs/change.rb#100
+class Diff::LCS::ContextChange < ::Diff::LCS::Change
+ # @return [ContextChange] a new instance of ContextChange
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#114
+ def initialize(*args); end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#166
+ def <=>(other); end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#157
+ def ==(other); end
+
+ # Returns the new element being changed.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#112
+ def new_element; end
+
+ # Returns the new position being changed.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#108
+ def new_position; end
+
+ # Returns the old element being changed.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#110
+ def old_element; end
+
+ # Returns the old position being changed.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#106
+ def old_position; end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#122
+ def to_a; end
+
+ # source://diff-lcs//lib/diff/lcs/change.rb#122
+ def to_ary; end
+
+ class << self
+ # source://diff-lcs//lib/diff/lcs/change.rb#132
+ def from_a(arr); end
+
+ # Simplifies a context change for use in some diff callbacks. '<' actions
+ # are converted to '-' and '>' actions are converted to '+'.
+ #
+ # source://diff-lcs//lib/diff/lcs/change.rb#138
+ def simplify(event); end
+ end
+end
+
+# This will produce a compound array of contextual diff change objects. Each
+# element in the #diffs array is a "hunk" array, where each element in each
+# "hunk" array is a single change. Each change is a Diff::LCS::ContextChange
+# that contains both the old index and new index values for the change. The
+# "hunk" provides the full context for the changes. Both old and new objects
+# will be presented for changed objects. +nil+ will be substituted for a
+# discarded object.
+#
+# seq1 = %w(a b c e h j l m n p)
+# seq2 = %w(b c d e f j k l m r s t)
+#
+# diffs = Diff::LCS.diff(seq1, seq2, Diff::LCS::ContextDiffCallbacks)
+# # This example shows a simplified array format.
+# # [ [ [ '-', [ 0, 'a' ], [ 0, nil ] ] ], # 1
+# # [ [ '+', [ 3, nil ], [ 2, 'd' ] ] ], # 2
+# # [ [ '-', [ 4, 'h' ], [ 4, nil ] ], # 3
+# # [ '+', [ 5, nil ], [ 4, 'f' ] ] ],
+# # [ [ '+', [ 6, nil ], [ 6, 'k' ] ] ], # 4
+# # [ [ '-', [ 8, 'n' ], [ 9, nil ] ], # 5
+# # [ '+', [ 9, nil ], [ 9, 'r' ] ],
+# # [ '-', [ 9, 'p' ], [ 10, nil ] ],
+# # [ '+', [ 10, nil ], [ 10, 's' ] ],
+# # [ '+', [ 10, nil ], [ 11, 't' ] ] ] ]
+#
+# The five hunks shown are comprised of individual changes; if there is a
+# related set of changes, they are still shown individually.
+#
+# This callback can also be used with Diff::LCS#sdiff, which will produce
+# results like:
+#
+# diffs = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextCallbacks)
+# # This example shows a simplified array format.
+# # [ [ [ "-", [ 0, "a" ], [ 0, nil ] ] ], # 1
+# # [ [ "+", [ 3, nil ], [ 2, "d" ] ] ], # 2
+# # [ [ "!", [ 4, "h" ], [ 4, "f" ] ] ], # 3
+# # [ [ "+", [ 6, nil ], [ 6, "k" ] ] ], # 4
+# # [ [ "!", [ 8, "n" ], [ 9, "r" ] ], # 5
+# # [ "!", [ 9, "p" ], [ 10, "s" ] ],
+# # [ "+", [ 10, nil ], [ 11, "t" ] ] ] ]
+#
+# The five hunks are still present, but are significantly shorter in total
+# presentation, because changed items are shown as changes ("!") instead of
+# potentially "mismatched" pairs of additions and deletions.
+#
+# The result of this operation is similar to that of
+# Diff::LCS::SDiffCallbacks. They may be compared as:
+#
+# s = Diff::LCS.sdiff(seq1, seq2).reject { |e| e.action == "=" }
+# c = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks).flatten(1)
+#
+# s == c # -> true
+#
+# === Use
+#
+# This callback object must be initialised and can be used by the
+# Diff::LCS#diff or Diff::LCS#sdiff methods.
+#
+# cbo = Diff::LCS::ContextDiffCallbacks.new
+# Diff::LCS.LCS(seq1, seq2, cbo)
+# cbo.finish
+#
+# Note that the call to #finish is absolutely necessary, or the last set of
+# changes will not be visible. Alternatively, can be used as:
+#
+# cbo = Diff::LCS::ContextDiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) }
+#
+# The necessary #finish call will be made.
+#
+# === Simplified Array Format
+#
+# The simplified array format used in the example above can be obtained
+# with:
+#
+# require 'pp'
+# pp diffs.map { |e| e.map { |f| f.to_a } }
+#
+# source://diff-lcs//lib/diff/lcs/callbacks.rb#225
+class Diff::LCS::ContextDiffCallbacks < ::Diff::LCS::DiffCallbacks
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#234
+ def change(event); end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#226
+ def discard_a(event); end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#230
+ def discard_b(event); end
+end
+
+# This callback object implements the default set of callback events,
+# which only returns the event itself. Note that #finished_a and
+# #finished_b are not implemented -- I haven't yet figured out where they
+# would be useful.
+#
+# Note that this is intended to be called as is, e.g.,
+#
+# Diff::LCS.LCS(seq1, seq2, Diff::LCS::DefaultCallbacks)
+#
+# source://diff-lcs//lib/diff/lcs/callbacks.rb#14
+class Diff::LCS::DefaultCallbacks
+ class << self
+ # Called when both the old and new values have changed.
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#32
+ def change(event); end
+
+ # Called when the old value is discarded in favour of the new value.
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#22
+ def discard_a(event); end
+
+ # Called when the new value is discarded in favour of the old value.
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#27
+ def discard_b(event); end
+
+ # Called when two items match.
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#17
+ def match(event); end
+
+ private
+
+ def new(*_arg0); end
+ end
+end
+
+# This will produce a compound array of simple diff change objects. Each
+# element in the #diffs array is a +hunk+ or +hunk+ array, where each
+# element in each +hunk+ array is a single Change object representing the
+# addition or removal of a single element from one of the two tested
+# sequences. The +hunk+ provides the full context for the changes.
+#
+# diffs = Diff::LCS.diff(seq1, seq2)
+# # This example shows a simplified array format.
+# # [ [ [ '-', 0, 'a' ] ], # 1
+# # [ [ '+', 2, 'd' ] ], # 2
+# # [ [ '-', 4, 'h' ], # 3
+# # [ '+', 4, 'f' ] ],
+# # [ [ '+', 6, 'k' ] ], # 4
+# # [ [ '-', 8, 'n' ], # 5
+# # [ '-', 9, 'p' ],
+# # [ '+', 9, 'r' ],
+# # [ '+', 10, 's' ],
+# # [ '+', 11, 't' ] ] ]
+#
+# There are five hunks here. The first hunk says that the +a+ at position 0
+# of the first sequence should be deleted ('-' ). The second hunk
+# says that the +d+ at position 2 of the second sequence should be inserted
+# ('+' ). The third hunk says that the +h+ at position 4 of the
+# first sequence should be removed and replaced with the +f+ from position 4
+# of the second sequence. The other two hunks are described similarly.
+#
+# === Use
+#
+# This callback object must be initialised and is used by the Diff::LCS#diff
+# method.
+#
+# cbo = Diff::LCS::DiffCallbacks.new
+# Diff::LCS.LCS(seq1, seq2, cbo)
+# cbo.finish
+#
+# Note that the call to #finish is absolutely necessary, or the last set of
+# changes will not be visible. Alternatively, can be used as:
+#
+# cbo = Diff::LCS::DiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) }
+#
+# The necessary #finish call will be made.
+#
+# === Simplified Array Format
+#
+# The simplified array format used in the example above can be obtained
+# with:
+#
+# require 'pp'
+# pp diffs.map { |e| e.map { |f| f.to_a } }
+#
+# source://diff-lcs//lib/diff/lcs/callbacks.rb#108
+class Diff::LCS::DiffCallbacks
+ # :yields: self
+ #
+ # @return [DiffCallbacks] a new instance of DiffCallbacks
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#112
+ def initialize; end
+
+ # Returns the difference set collected during the diff process.
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#110
+ def diffs; end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#135
+ def discard_a(event); end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#139
+ def discard_b(event); end
+
+ # Finalizes the diff process. If an unprocessed hunk still exists, then it
+ # is appended to the diff list.
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#127
+ def finish; end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#131
+ def match(_event); end
+
+ private
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#143
+ def finish_hunk; end
+end
+
+# A Hunk is a group of Blocks which overlap because of the context surrounding
+# each block. (So if we're not using context, every hunk will contain one
+# block.) Used in the diff program (bin/ldiff).
+#
+# source://diff-lcs//lib/diff/lcs/hunk.rb#8
+class Diff::LCS::Hunk
+ # Create a hunk using references to both the old and new data, as well as the
+ # piece of data.
+ #
+ # @return [Hunk] a new instance of Hunk
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#16
+ def initialize(data_old, data_new, piece, flag_context, file_length_difference); end
+
+ # Returns the value of attribute blocks.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#62
+ def blocks; end
+
+ # Returns a diff string based on a format.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#115
+ def diff(format, last = T.unsafe(nil)); end
+
+ # Returns the value of attribute end_new.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#64
+ def end_new; end
+
+ # Returns the value of attribute end_old.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#64
+ def end_old; end
+
+ # Returns the value of attribute file_length_difference.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#65
+ def file_length_difference; end
+
+ # Change the "start" and "end" fields to note that context should be added
+ # to this hunk.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#69
+ def flag_context; end
+
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#71
+ def flag_context=(context); end
+
+ # Merges this hunk and the provided hunk together if they overlap. Returns
+ # a truthy value so that if there is no overlap, you can know the merge
+ # was skipped.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#97
+ def merge(hunk); end
+
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#331
+ def missing_last_newline?(data); end
+
+ # Determines whether there is an overlap between this hunk and the
+ # provided hunk. This will be true if the difference between the two hunks
+ # start or end positions is within one position of each other.
+ #
+ # @return [Boolean]
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#109
+ def overlaps?(hunk); end
+
+ # Returns the value of attribute start_new.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#63
+ def start_new; end
+
+ # Returns the value of attribute start_old.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#63
+ def start_old; end
+
+ # Merges this hunk and the provided hunk together if they overlap. Returns
+ # a truthy value so that if there is no overlap, you can know the merge
+ # was skipped.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#97
+ def unshift(hunk); end
+
+ private
+
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#214
+ def context_diff(last = T.unsafe(nil)); end
+
+ # Generate a range of item numbers to print. Only print 1 number if the
+ # range has only one item in it. Otherwise, it's 'start,end'
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#298
+ def context_range(mode, op, last = T.unsafe(nil)); end
+
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#276
+ def ed_diff(format, _last = T.unsafe(nil)); end
+
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#344
+ def encode(literal, target_encoding = T.unsafe(nil)); end
+
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#348
+ def encode_as(string, *args); end
+
+ # Note that an old diff can't have any context. Therefore, we know that
+ # there's only one block in the hunk.
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#134
+ def old_diff(_last = T.unsafe(nil)); end
+
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#159
+ def unified_diff(last = T.unsafe(nil)); end
+
+ # Generate a range of item numbers to print for unified diff. Print number
+ # where block starts, followed by number of lines in the block
+ # (don't print number of lines if it's 1)
+ #
+ # source://diff-lcs//lib/diff/lcs/hunk.rb#316
+ def unified_range(mode, last); end
+end
+
+# source://diff-lcs//lib/diff/lcs/hunk.rb#10
+Diff::LCS::Hunk::ED_DIFF_OP_ACTION = T.let(T.unsafe(nil), Hash)
+
+# source://diff-lcs//lib/diff/lcs/hunk.rb#9
+Diff::LCS::Hunk::OLD_DIFF_OP_ACTION = T.let(T.unsafe(nil), Hash)
+
+# source://diff-lcs//lib/diff/lcs/internals.rb#29
+module Diff::LCS::Internals
+ class << self
+ # This method will analyze the provided patchset to provide a single-pass
+ # normalization (conversion of the array form of Diff::LCS::Change objects to
+ # the object form of same) and detection of whether the patchset represents
+ # changes to be made.
+ #
+ # source://diff-lcs//lib/diff/lcs/internals.rb#102
+ def analyze_patchset(patchset, depth = T.unsafe(nil)); end
+
+ # Examine the patchset and the source to see in which direction the
+ # patch should be applied.
+ #
+ # WARNING: By default, this examines the whole patch, so this could take
+ # some time. This also works better with Diff::LCS::ContextChange or
+ # Diff::LCS::Change as its source, as an array will cause the creation
+ # of one of the above.
+ #
+ # source://diff-lcs//lib/diff/lcs/internals.rb#147
+ def intuit_diff_direction(src, patchset, limit = T.unsafe(nil)); end
+
+ # Compute the longest common subsequence between the sequenced
+ # Enumerables +a+ and +b+. The result is an array whose contents is such
+ # that
+ #
+ # result = Diff::LCS::Internals.lcs(a, b)
+ # result.each_with_index do |e, i|
+ # assert_equal(a[i], b[e]) unless e.nil?
+ # end
+ #
+ # source://diff-lcs//lib/diff/lcs/internals.rb#41
+ def lcs(a, b); end
+
+ private
+
+ # If +vector+ maps the matching elements of another collection onto this
+ # Enumerable, compute the inverse of +vector+ that maps this Enumerable
+ # onto the collection. (Currently unused.)
+ #
+ # source://diff-lcs//lib/diff/lcs/internals.rb#286
+ def inverse_vector(a, vector); end
+
+ # Returns a hash mapping each element of an Enumerable to the set of
+ # positions it occupies in the Enumerable, optionally restricted to the
+ # elements specified in the range of indexes specified by +interval+.
+ #
+ # source://diff-lcs//lib/diff/lcs/internals.rb#298
+ def position_hash(enum, interval); end
+
+ # Find the place at which +value+ would normally be inserted into the
+ # Enumerable. If that place is already occupied by +value+, do nothing
+ # and return +nil+. If the place does not exist (i.e., it is off the end
+ # of the Enumerable), add it to the end. Otherwise, replace the element
+ # at that point with +value+. It is assumed that the Enumerable's values
+ # are numeric.
+ #
+ # This operation preserves the sort order.
+ #
+ # source://diff-lcs//lib/diff/lcs/internals.rb#252
+ def replace_next_larger(enum, value, last_index = T.unsafe(nil)); end
+ end
+end
+
+# This will produce a simple array of diff change objects. Each element in
+# the #diffs array is a single ContextChange. In the set of #diffs provided
+# by SDiffCallbacks, both old and new objects will be presented for both
+# changed and unchanged objects. +nil+ will be substituted
+# for a discarded object.
+#
+# The diffset produced by this callback, when provided to Diff::LCS#sdiff,
+# will compute and display the necessary components to show two sequences
+# and their minimized differences side by side, just like the Unix utility
+# +sdiff+.
+#
+# same same
+# before | after
+# old < -
+# - > new
+#
+# seq1 = %w(a b c e h j l m n p)
+# seq2 = %w(b c d e f j k l m r s t)
+#
+# diffs = Diff::LCS.sdiff(seq1, seq2)
+# # This example shows a simplified array format.
+# # [ [ "-", [ 0, "a"], [ 0, nil ] ],
+# # [ "=", [ 1, "b"], [ 0, "b" ] ],
+# # [ "=", [ 2, "c"], [ 1, "c" ] ],
+# # [ "+", [ 3, nil], [ 2, "d" ] ],
+# # [ "=", [ 3, "e"], [ 3, "e" ] ],
+# # [ "!", [ 4, "h"], [ 4, "f" ] ],
+# # [ "=", [ 5, "j"], [ 5, "j" ] ],
+# # [ "+", [ 6, nil], [ 6, "k" ] ],
+# # [ "=", [ 6, "l"], [ 7, "l" ] ],
+# # [ "=", [ 7, "m"], [ 8, "m" ] ],
+# # [ "!", [ 8, "n"], [ 9, "r" ] ],
+# # [ "!", [ 9, "p"], [ 10, "s" ] ],
+# # [ "+", [ 10, nil], [ 11, "t" ] ] ]
+#
+# The result of this operation is similar to that of
+# Diff::LCS::ContextDiffCallbacks. They may be compared as:
+#
+# s = Diff::LCS.sdiff(seq1, seq2).reject { |e| e.action == "=" }
+# c = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks).flatten(1)
+#
+# s == c # -> true
+#
+# === Use
+#
+# This callback object must be initialised and is used by the Diff::LCS#sdiff
+# method.
+#
+# cbo = Diff::LCS::SDiffCallbacks.new
+# Diff::LCS.LCS(seq1, seq2, cbo)
+#
+# As with the other initialisable callback objects,
+# Diff::LCS::SDiffCallbacks can be initialised with a block. As there is no
+# "fininishing" to be done, this has no effect on the state of the object.
+#
+# cbo = Diff::LCS::SDiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) }
+#
+# === Simplified Array Format
+#
+# The simplified array format used in the example above can be obtained
+# with:
+#
+# require 'pp'
+# pp diffs.map { |e| e.to_a }
+#
+# source://diff-lcs//lib/diff/lcs/callbacks.rb#303
+class Diff::LCS::SDiffCallbacks
+ # :yields: self
+ #
+ # @return [SDiffCallbacks] a new instance of SDiffCallbacks
+ # @yield [_self]
+ # @yieldparam _self [Diff::LCS::SDiffCallbacks] the object that the method was called on
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#307
+ def initialize; end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#324
+ def change(event); end
+
+ # Returns the difference set collected during the diff process.
+ #
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#305
+ def diffs; end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#316
+ def discard_a(event); end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#320
+ def discard_b(event); end
+
+ # source://diff-lcs//lib/diff/lcs/callbacks.rb#312
+ def match(event); end
+end
+
+# An alias for DefaultCallbacks that is used in
+# Diff::LCS#traverse_sequences.
+#
+# Diff::LCS.LCS(seq1, seq2, Diff::LCS::SequenceCallbacks)
+#
+# source://diff-lcs//lib/diff/lcs/callbacks.rb#44
+Diff::LCS::SequenceCallbacks = Diff::LCS::DefaultCallbacks
+
+# source://diff-lcs//lib/diff/lcs.rb#52
+Diff::LCS::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/dotenv@3.0.2.rbi b/sorbet/rbi/gems/dotenv@3.0.2.rbi
new file mode 100644
index 00000000..114f1d30
--- /dev/null
+++ b/sorbet/rbi/gems/dotenv@3.0.2.rbi
@@ -0,0 +1,300 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `dotenv` gem.
+# Please instead update this file by running `bin/tapioca gem dotenv`.
+
+# Shim to load environment variables from `.env files into `ENV`.
+#
+# source://dotenv//lib/dotenv/substitutions/variable.rb#3
+module Dotenv
+ extend ::Dotenv
+
+ # Returns the value of attribute instrumenter.
+ #
+ # source://dotenv//lib/dotenv.rb#14
+ def instrumenter; end
+
+ # Sets the attribute instrumenter
+ #
+ # @param value the value to set the attribute instrumenter to.
+ #
+ # source://dotenv//lib/dotenv.rb#14
+ def instrumenter=(_arg0); end
+
+ # Loads environment variables from one or more `.env` files. See `#parse` for more details.
+ #
+ # source://dotenv//lib/dotenv.rb#17
+ def load(*filenames, overwrite: T.unsafe(nil), ignore: T.unsafe(nil)); end
+
+ # Same as `#load`, but raises Errno::ENOENT if any files don't exist
+ #
+ # source://dotenv//lib/dotenv.rb#26
+ def load!(*filenames); end
+
+ # Modify `ENV` for the block and restore it to its previous state afterwards.
+ #
+ # Note that the block is synchronized to prevent concurrent modifications to `ENV`,
+ # so multiple threads will be executed serially.
+ #
+ # @param env [Hash] Hash of keys and values to set in `ENV`
+ #
+ # source://dotenv//lib/dotenv.rb#112
+ def modify(env = T.unsafe(nil), &block); end
+
+ # same as `#load`, but will overwrite existing values in `ENV`
+ #
+ # source://dotenv//lib/dotenv.rb#31
+ def overload(*filenames); end
+
+ # same as `#overwrite`, but raises Errno::ENOENT if any files don't exist
+ #
+ # source://dotenv//lib/dotenv.rb#37
+ def overload!(*filenames); end
+
+ # same as `#load`, but will overwrite existing values in `ENV`
+ #
+ # source://dotenv//lib/dotenv.rb#31
+ def overwrite(*filenames); end
+
+ # same as `#overwrite`, but raises Errno::ENOENT if any files don't exist
+ #
+ # source://dotenv//lib/dotenv.rb#37
+ def overwrite!(*filenames); end
+
+ # Parses the given files, yielding for each file if a block is given.
+ #
+ # @param filenames [String, Array] Files to parse
+ # @param overwrite [Boolean] Overwrite existing `ENV` values
+ # @param ignore [Boolean] Ignore non-existent files
+ # @param block [Proc] Block to yield for each parsed `Dotenv::Environment`
+ # @return [Hash] parsed key/value pairs
+ #
+ # source://dotenv//lib/dotenv.rb#49
+ def parse(*filenames, overwrite: T.unsafe(nil), ignore: T.unsafe(nil), &block); end
+
+ # @raise [MissingKeys]
+ #
+ # source://dotenv//lib/dotenv.rb#122
+ def require_keys(*keys); end
+
+ # Restore `ENV` to a given state
+ #
+ # @param env [Hash] Hash of keys and values to restore, defaults to the last saved state
+ # @param safe [Boolean] Is it safe to modify `ENV`? Defaults to `true` in the main thread, otherwise raises an error.
+ #
+ # source://dotenv//lib/dotenv.rb#76
+ def restore(env = T.unsafe(nil), safe: T.unsafe(nil)); end
+
+ # Save the current `ENV` to be restored later
+ #
+ # source://dotenv//lib/dotenv.rb#66
+ def save; end
+
+ # Update `ENV` with the given hash of keys and values
+ #
+ # @param env [Hash] Hash of keys and values to set in `ENV`
+ # @param overwrite [Boolean] Overwrite existing `ENV` values
+ #
+ # source://dotenv//lib/dotenv.rb#94
+ def update(env = T.unsafe(nil), overwrite: T.unsafe(nil)); end
+
+ private
+
+ # source://dotenv//lib/dotenv.rb#130
+ def instrument(name, payload = T.unsafe(nil), &block); end
+end
+
+# A diff between multiple states of ENV.
+#
+# source://dotenv//lib/dotenv/diff.rb#3
+class Dotenv::Diff
+ # Create a new diff. If given a block, the state of ENV after the block will be preserved as
+ # the final state for comparison. Otherwise, the current ENV will be the final state.
+ #
+ # @param a [Hash] the initial state, defaults to a snapshot of current ENV
+ # @param b [Hash] the final state, defaults to the current ENV
+ # @return [Diff] a new instance of Diff
+ # @yield [diff] a block to execute before recording the final state
+ #
+ # source://dotenv//lib/dotenv/diff.rb#16
+ def initialize(a: T.unsafe(nil), b: T.unsafe(nil), &block); end
+
+ # The initial state
+ #
+ # source://dotenv//lib/dotenv/diff.rb#5
+ def a; end
+
+ # Return a Hash of keys added with their new values
+ #
+ # source://dotenv//lib/dotenv/diff.rb#24
+ def added; end
+
+ # Returns true if any keys were added, removed, or changed
+ #
+ # @return [Boolean]
+ #
+ # source://dotenv//lib/dotenv/diff.rb#46
+ def any?; end
+
+ # The final or current state
+ #
+ # source://dotenv//lib/dotenv/diff.rb#8
+ def b; end
+
+ # Returns of Hash of keys changed with an array of their previous and new values
+ #
+ # source://dotenv//lib/dotenv/diff.rb#34
+ def changed; end
+
+ # Returns a Hash of all added, changed, and removed keys and their new values
+ #
+ # source://dotenv//lib/dotenv/diff.rb#41
+ def env; end
+
+ # Returns a Hash of keys removed with their previous values
+ #
+ # source://dotenv//lib/dotenv/diff.rb#29
+ def removed; end
+
+ private
+
+ # source://dotenv//lib/dotenv/diff.rb#52
+ def snapshot; end
+end
+
+# A `.env` file that will be read and parsed into a Hash
+#
+# source://dotenv//lib/dotenv/environment.rb#3
+class Dotenv::Environment < ::Hash
+ # Create a new Environment
+ #
+ # @param filename [String] the path to the file to read
+ # @param overwrite [Boolean] whether the parser should assume existing values will be overwritten
+ # @return [Environment] a new instance of Environment
+ #
+ # source://dotenv//lib/dotenv/environment.rb#10
+ def initialize(filename, overwrite: T.unsafe(nil)); end
+
+ # Returns the value of attribute filename.
+ #
+ # source://dotenv//lib/dotenv/environment.rb#4
+ def filename; end
+
+ # source://dotenv//lib/dotenv/environment.rb#17
+ def load; end
+
+ # Returns the value of attribute overwrite.
+ #
+ # source://dotenv//lib/dotenv/environment.rb#4
+ def overwrite; end
+
+ # source://dotenv//lib/dotenv/environment.rb#21
+ def read; end
+end
+
+# source://dotenv//lib/dotenv/missing_keys.rb#2
+class Dotenv::Error < ::StandardError; end
+
+# Error raised when encountering a syntax error while parsing a .env file.
+#
+# source://dotenv//lib/dotenv/parser.rb#6
+class Dotenv::FormatError < ::SyntaxError; end
+
+# source://dotenv//lib/dotenv/missing_keys.rb#4
+class Dotenv::MissingKeys < ::Dotenv::Error
+ # @return [MissingKeys] a new instance of MissingKeys
+ #
+ # source://dotenv//lib/dotenv/missing_keys.rb#5
+ def initialize(keys); end
+end
+
+# Parses the `.env` file format into key/value pairs.
+# It allows for variable substitutions, command substitutions, and exporting of variables.
+#
+# source://dotenv//lib/dotenv/parser.rb#10
+class Dotenv::Parser
+ # @return [Parser] a new instance of Parser
+ #
+ # source://dotenv//lib/dotenv/parser.rb#40
+ def initialize(string, overwrite: T.unsafe(nil)); end
+
+ # source://dotenv//lib/dotenv/parser.rb#46
+ def call; end
+
+ private
+
+ # source://dotenv//lib/dotenv/parser.rb#82
+ def expand_newlines(value); end
+
+ # source://dotenv//lib/dotenv/parser.rb#62
+ def parse_line(line); end
+
+ # source://dotenv//lib/dotenv/parser.rb#70
+ def parse_value(value); end
+
+ # source://dotenv//lib/dotenv/parser.rb#104
+ def perform_substitutions(value, maybe_quote); end
+
+ # source://dotenv//lib/dotenv/parser.rb#78
+ def unescape_characters(value); end
+
+ # source://dotenv//lib/dotenv/parser.rb#94
+ def unescape_value(value, maybe_quote); end
+
+ # @return [Boolean]
+ #
+ # source://dotenv//lib/dotenv/parser.rb#90
+ def variable_not_set?(line); end
+
+ class << self
+ # source://dotenv//lib/dotenv/parser.rb#35
+ def call(*_arg0, **_arg1, &_arg2); end
+
+ # Returns the value of attribute substitutions.
+ #
+ # source://dotenv//lib/dotenv/parser.rb#33
+ def substitutions; end
+ end
+end
+
+# source://dotenv//lib/dotenv/parser.rb#14
+Dotenv::Parser::LINE = T.let(T.unsafe(nil), Regexp)
+
+# An internal monitor to synchronize access to ENV in multi-threaded environments.
+#
+# source://dotenv//lib/dotenv.rb#11
+Dotenv::SEMAPHORE = T.let(T.unsafe(nil), Monitor)
+
+# source://dotenv//lib/dotenv/substitutions/variable.rb#4
+module Dotenv::Substitutions; end
+
+# Substitute shell commands in a value.
+#
+# SHA=$(git rev-parse HEAD)
+#
+# source://dotenv//lib/dotenv/substitutions/command.rb#9
+module Dotenv::Substitutions::Command
+ class << self
+ # source://dotenv//lib/dotenv/substitutions/command.rb#23
+ def call(value, _env, overwrite: T.unsafe(nil)); end
+ end
+end
+
+# Substitute variables in a value.
+#
+# HOST=example.com
+# URL="https://$HOST"
+#
+# source://dotenv//lib/dotenv/substitutions/variable.rb#10
+module Dotenv::Substitutions::Variable
+ class << self
+ # source://dotenv//lib/dotenv/substitutions/variable.rb#21
+ def call(value, env, overwrite: T.unsafe(nil)); end
+
+ private
+
+ # source://dotenv//lib/dotenv/substitutions/variable.rb#31
+ def substitute(match, variable, env); end
+ end
+end
diff --git a/sorbet/rbi/gems/drb@2.2.0.rbi b/sorbet/rbi/gems/drb@2.2.0.rbi
new file mode 100644
index 00000000..66093ac1
--- /dev/null
+++ b/sorbet/rbi/gems/drb@2.2.0.rbi
@@ -0,0 +1,1300 @@
+# typed: false
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `drb` gem.
+# Please instead update this file by running `bin/tapioca gem drb`.
+
+# for ruby-1.8.0
+#
+# source://drb//lib/drb/eq.rb#2
+module DRb
+ private
+
+ # Get the configuration of the current server.
+ #
+ # If there is no current server, this returns the default configuration.
+ # See #current_server and DRbServer::make_config.
+ #
+ # source://drb//lib/drb/drb.rb#1832
+ def config; end
+
+ # Get the 'current' server.
+ #
+ # In the context of execution taking place within the main
+ # thread of a dRuby server (typically, as a result of a remote
+ # call on the server or one of its objects), the current
+ # server is that server. Otherwise, the current server is
+ # the primary server.
+ #
+ # If the above rule fails to find a server, a DRbServerNotFound
+ # error is raised.
+ #
+ # @raise [DRbServerNotFound]
+ #
+ # source://drb//lib/drb/drb.rb#1789
+ def current_server; end
+
+ # Retrieves the server with the given +uri+.
+ #
+ # See also regist_server and remove_server.
+ #
+ # source://drb//lib/drb/drb.rb#1934
+ def fetch_server(uri); end
+
+ # Get the front object of the current server.
+ #
+ # This raises a DRbServerNotFound error if there is no current server.
+ # See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1843
+ def front; end
+
+ # Is +uri+ the URI for the current local server?
+ #
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1822
+ def here?(uri); end
+
+ # Set the default ACL to +acl+.
+ #
+ # See DRb::DRbServer.default_acl.
+ #
+ # source://drb//lib/drb/drb.rb#1888
+ def install_acl(acl); end
+
+ # Set the default id conversion object.
+ #
+ # This is expected to be an instance such as DRb::DRbIdConv that responds to
+ # #to_id and #to_obj that can convert objects to and from DRb references.
+ #
+ # See DRbServer#default_id_conv.
+ #
+ # source://drb//lib/drb/drb.rb#1880
+ def install_id_conv(idconv); end
+
+ # source://drb//lib/drb/drb.rb#1894
+ def mutex; end
+
+ # The primary local dRuby server.
+ #
+ # This is the server created by the #start_service call.
+ #
+ # source://drb//lib/drb/drb.rb#1776
+ def primary_server; end
+
+ # The primary local dRuby server.
+ #
+ # This is the server created by the #start_service call.
+ #
+ # source://drb//lib/drb/drb.rb#1776
+ def primary_server=(_arg0); end
+
+ # Registers +server+ with DRb.
+ #
+ # This is called when a new DRb::DRbServer is created.
+ #
+ # If there is no primary server then +server+ becomes the primary server.
+ #
+ # Example:
+ #
+ # require 'drb'
+ #
+ # s = DRb::DRbServer.new # automatically calls regist_server
+ # DRb.fetch_server s.uri #=> #
+ #
+ # source://drb//lib/drb/drb.rb#1912
+ def regist_server(server); end
+
+ # Removes +server+ from the list of registered servers.
+ #
+ # source://drb//lib/drb/drb.rb#1921
+ def remove_server(server); end
+
+ # Start a dRuby server locally.
+ #
+ # The new dRuby server will become the primary server, even
+ # if another server is currently the primary server.
+ #
+ # +uri+ is the URI for the server to bind to. If nil,
+ # the server will bind to random port on the default local host
+ # name and use the default dRuby protocol.
+ #
+ # +front+ is the server's front object. This may be nil.
+ #
+ # +config+ is the configuration for the new server. This may
+ # be nil.
+ #
+ # See DRbServer::new.
+ #
+ # source://drb//lib/drb/drb.rb#1768
+ def start_service(uri = T.unsafe(nil), front = T.unsafe(nil), config = T.unsafe(nil)); end
+
+ # Stop the local dRuby server.
+ #
+ # This operates on the primary server. If there is no primary
+ # server currently running, it is a noop.
+ #
+ # source://drb//lib/drb/drb.rb#1801
+ def stop_service; end
+
+ # Get the thread of the primary server.
+ #
+ # This returns nil if there is no primary server. See #primary_server.
+ #
+ # source://drb//lib/drb/drb.rb#1869
+ def thread; end
+
+ # Get a reference id for an object using the current server.
+ #
+ # This raises a DRbServerNotFound error if there is no current server.
+ # See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1860
+ def to_id(obj); end
+
+ # Convert a reference into an object using the current server.
+ #
+ # This raises a DRbServerNotFound error if there is no current server.
+ # See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1852
+ def to_obj(ref); end
+
+ # Get the URI defining the local dRuby space.
+ #
+ # This is the URI of the current server. See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1810
+ def uri; end
+
+ class << self
+ # Get the configuration of the current server.
+ #
+ # If there is no current server, this returns the default configuration.
+ # See #current_server and DRbServer::make_config.
+ #
+ # source://drb//lib/drb/drb.rb#1832
+ def config; end
+
+ # Get the 'current' server.
+ #
+ # In the context of execution taking place within the main
+ # thread of a dRuby server (typically, as a result of a remote
+ # call on the server or one of its objects), the current
+ # server is that server. Otherwise, the current server is
+ # the primary server.
+ #
+ # If the above rule fails to find a server, a DRbServerNotFound
+ # error is raised.
+ #
+ # @raise [DRbServerNotFound]
+ #
+ # source://drb//lib/drb/drb.rb#1789
+ def current_server; end
+
+ # Retrieves the server with the given +uri+.
+ #
+ # See also regist_server and remove_server.
+ #
+ # source://drb//lib/drb/drb.rb#1934
+ def fetch_server(uri); end
+
+ # Get the front object of the current server.
+ #
+ # This raises a DRbServerNotFound error if there is no current server.
+ # See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1843
+ def front; end
+
+ # Is +uri+ the URI for the current local server?
+ #
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1822
+ def here?(uri); end
+
+ # Set the default ACL to +acl+.
+ #
+ # See DRb::DRbServer.default_acl.
+ #
+ # source://drb//lib/drb/drb.rb#1888
+ def install_acl(acl); end
+
+ # Set the default id conversion object.
+ #
+ # This is expected to be an instance such as DRb::DRbIdConv that responds to
+ # #to_id and #to_obj that can convert objects to and from DRb references.
+ #
+ # See DRbServer#default_id_conv.
+ #
+ # source://drb//lib/drb/drb.rb#1880
+ def install_id_conv(idconv); end
+
+ # source://drb//lib/drb/drb.rb#1894
+ def mutex; end
+
+ # The primary local dRuby server.
+ #
+ # This is the server created by the #start_service call.
+ #
+ # source://drb//lib/drb/drb.rb#1776
+ def primary_server; end
+
+ # The primary local dRuby server.
+ #
+ # This is the server created by the #start_service call.
+ #
+ # source://drb//lib/drb/drb.rb#1776
+ def primary_server=(_arg0); end
+
+ # Registers +server+ with DRb.
+ #
+ # This is called when a new DRb::DRbServer is created.
+ #
+ # If there is no primary server then +server+ becomes the primary server.
+ #
+ # Example:
+ #
+ # require 'drb'
+ #
+ # s = DRb::DRbServer.new # automatically calls regist_server
+ # DRb.fetch_server s.uri #=> #
+ #
+ # source://drb//lib/drb/drb.rb#1912
+ def regist_server(server); end
+
+ # Removes +server+ from the list of registered servers.
+ #
+ # source://drb//lib/drb/drb.rb#1921
+ def remove_server(server); end
+
+ # Start a dRuby server locally.
+ #
+ # The new dRuby server will become the primary server, even
+ # if another server is currently the primary server.
+ #
+ # +uri+ is the URI for the server to bind to. If nil,
+ # the server will bind to random port on the default local host
+ # name and use the default dRuby protocol.
+ #
+ # +front+ is the server's front object. This may be nil.
+ #
+ # +config+ is the configuration for the new server. This may
+ # be nil.
+ #
+ # See DRbServer::new.
+ #
+ # source://drb//lib/drb/drb.rb#1768
+ def start_service(uri = T.unsafe(nil), front = T.unsafe(nil), config = T.unsafe(nil)); end
+
+ # Stop the local dRuby server.
+ #
+ # This operates on the primary server. If there is no primary
+ # server currently running, it is a noop.
+ #
+ # source://drb//lib/drb/drb.rb#1801
+ def stop_service; end
+
+ # Get the thread of the primary server.
+ #
+ # This returns nil if there is no primary server. See #primary_server.
+ #
+ # source://drb//lib/drb/drb.rb#1869
+ def thread; end
+
+ # Get a reference id for an object using the current server.
+ #
+ # This raises a DRbServerNotFound error if there is no current server.
+ # See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1860
+ def to_id(obj); end
+
+ # Convert a reference into an object using the current server.
+ #
+ # This raises a DRbServerNotFound error if there is no current server.
+ # See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1852
+ def to_obj(ref); end
+
+ # Get the URI defining the local dRuby space.
+ #
+ # This is the URI of the current server. See #current_server.
+ #
+ # source://drb//lib/drb/drb.rb#1810
+ def uri; end
+ end
+end
+
+# An Array wrapper that can be sent to another server via DRb.
+#
+# All entries in the array will be dumped or be references that point to
+# the local server.
+#
+# source://drb//lib/drb/drb.rb#518
+class DRb::DRbArray
+ # Creates a new DRbArray that either dumps or wraps all the items in the
+ # Array +ary+ so they can be loaded by a remote DRb server.
+ #
+ # @return [DRbArray] a new instance of DRbArray
+ #
+ # source://drb//lib/drb/drb.rb#523
+ def initialize(ary); end
+
+ # source://drb//lib/drb/drb.rb#542
+ def _dump(lv); end
+
+ class << self
+ # source://drb//lib/drb/drb.rb#538
+ def _load(s); end
+ end
+end
+
+# Class handling the connection between a DRbObject and the
+# server the real object lives on.
+#
+# This class maintains a pool of connections, to reduce the
+# overhead of starting and closing down connections for each
+# method call.
+#
+# This class is used internally by DRbObject. The user does
+# not normally need to deal with it directly.
+#
+# source://drb//lib/drb/drb.rb#1256
+class DRb::DRbConn
+ # @return [DRbConn] a new instance of DRbConn
+ #
+ # source://drb//lib/drb/drb.rb#1317
+ def initialize(remote_uri); end
+
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1333
+ def alive?; end
+
+ # source://drb//lib/drb/drb.rb#1328
+ def close; end
+
+ # source://drb//lib/drb/drb.rb#1323
+ def send_message(ref, msg_id, arg, block); end
+
+ # source://drb//lib/drb/drb.rb#1321
+ def uri; end
+
+ class << self
+ # source://drb//lib/drb/drb.rb#1259
+ def make_pool; end
+
+ # source://drb//lib/drb/drb.rb#1297
+ def open(remote_uri); end
+
+ # source://drb//lib/drb/drb.rb#1292
+ def stop_pool; end
+ end
+end
+
+# Class responsible for converting between an object and its id.
+#
+# This, the default implementation, uses an object's local ObjectSpace
+# __id__ as its id. This means that an object's identification over
+# drb remains valid only while that object instance remains alive
+# within the server runtime.
+#
+# For alternative mechanisms, see DRb::TimerIdConv in drb/timeridconv.rb
+# and DRbNameIdConv in sample/name.rb in the full drb distribution.
+#
+# source://drb//lib/drb/drb.rb#360
+class DRb::DRbIdConv
+ # Convert an object into a reference id.
+ #
+ # This implementation returns the object's __id__ in the local
+ # object space.
+ #
+ # source://drb//lib/drb/drb.rb#374
+ def to_id(obj); end
+
+ # Convert an object reference id to an object.
+ #
+ # This implementation looks up the reference id in the local object
+ # space and returns the object it refers to.
+ #
+ # source://drb//lib/drb/drb.rb#366
+ def to_obj(ref); end
+end
+
+# Handler for sending and receiving drb messages.
+#
+# This takes care of the low-level marshalling and unmarshalling
+# of drb requests and responses sent over the wire between server
+# and client. This relieves the implementor of a new drb
+# protocol layer with having to deal with these details.
+#
+# The user does not have to directly deal with this object in
+# normal use.
+#
+# source://drb//lib/drb/drb.rb#556
+class DRb::DRbMessage
+ # @return [DRbMessage] a new instance of DRbMessage
+ #
+ # source://drb//lib/drb/drb.rb#557
+ def initialize(config); end
+
+ # source://drb//lib/drb/drb.rb#562
+ def dump(obj, error = T.unsafe(nil)); end
+
+ # @raise [DRbConnError]
+ #
+ # source://drb//lib/drb/drb.rb#579
+ def load(soc); end
+
+ # source://drb//lib/drb/drb.rb#639
+ def recv_reply(stream); end
+
+ # @raise [DRbConnError]
+ #
+ # source://drb//lib/drb/drb.rb#619
+ def recv_request(stream); end
+
+ # source://drb//lib/drb/drb.rb#633
+ def send_reply(stream, succ, result); end
+
+ # source://drb//lib/drb/drb.rb#605
+ def send_request(stream, ref, msg_id, arg, b); end
+
+ private
+
+ # source://drb//lib/drb/drb.rb#646
+ def make_proxy(obj, error = T.unsafe(nil)); end
+end
+
+# source://drb//lib/drb/eq.rb#3
+class DRb::DRbObject
+ # Create a new remote object stub.
+ #
+ # +obj+ is the (local) object we want to create a stub for. Normally
+ # this is +nil+. +uri+ is the URI of the remote object that this
+ # will be a stub for.
+ #
+ # @return [DRbObject] a new instance of DRbObject
+ #
+ # source://drb//lib/drb/drb.rb#1089
+ def initialize(obj, uri = T.unsafe(nil)); end
+
+ # source://drb//lib/drb/eq.rb#4
+ def ==(other); end
+
+ # Get the reference of the object, if local.
+ #
+ # source://drb//lib/drb/drb.rb#1115
+ def __drbref; end
+
+ # Get the URI of the remote object.
+ #
+ # source://drb//lib/drb/drb.rb#1110
+ def __drburi; end
+
+ # Marshall this object.
+ #
+ # The URI and ref of the object are marshalled.
+ #
+ # source://drb//lib/drb/drb.rb#1080
+ def _dump(lv); end
+
+ # source://drb//lib/drb/eq.rb#4
+ def eql?(other); end
+
+ # source://drb//lib/drb/eq.rb#9
+ def hash; end
+
+ # source://drb//lib/drb/drb.rb#1135
+ def method_missing(msg_id, *a, **_arg2, &b); end
+
+ # source://drb//lib/drb/drb.rb#1187
+ def pretty_print(q); end
+
+ # source://drb//lib/drb/drb.rb#1191
+ def pretty_print_cycle(q); end
+
+ # Routes respond_to? to the referenced remote object.
+ #
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1123
+ def respond_to?(msg_id, priv = T.unsafe(nil)); end
+
+ class << self
+ # Unmarshall a marshalled DRbObject.
+ #
+ # If the referenced object is located within the local server, then
+ # the object itself is returned. Otherwise, a new DRbObject is
+ # created to act as a stub for the remote referenced object.
+ #
+ # source://drb//lib/drb/drb.rb#1051
+ def _load(s); end
+
+ # Creates a DRb::DRbObject given the reference information to the remote
+ # host +uri+ and object +ref+.
+ #
+ # source://drb//lib/drb/drb.rb#1065
+ def new_with(uri, ref); end
+
+ # Create a new DRbObject from a URI alone.
+ #
+ # source://drb//lib/drb/drb.rb#1073
+ def new_with_uri(uri); end
+
+ # Returns a modified backtrace from +result+ with the +uri+ where each call
+ # in the backtrace came from.
+ #
+ # source://drb//lib/drb/drb.rb#1173
+ def prepare_backtrace(uri, result); end
+
+ # Given the +uri+ of another host executes the block provided.
+ #
+ # source://drb//lib/drb/drb.rb#1160
+ def with_friend(uri); end
+ end
+end
+
+# Module managing the underlying network protocol(s) used by drb.
+#
+# By default, drb uses the DRbTCPSocket protocol. Other protocols
+# can be defined. A protocol must define the following class methods:
+#
+# [open(uri, config)] Open a client connection to the server at +uri+,
+# using configuration +config+. Return a protocol
+# instance for this connection.
+# [open_server(uri, config)] Open a server listening at +uri+,
+# using configuration +config+. Return a
+# protocol instance for this listener.
+# [uri_option(uri, config)] Take a URI, possibly containing an option
+# component (e.g. a trailing '?param=val'),
+# and return a [uri, option] tuple.
+#
+# All of these methods should raise a DRbBadScheme error if the URI
+# does not identify the protocol they support (e.g. "druby:" for
+# the standard Ruby protocol). This is how the DRbProtocol module,
+# given a URI, determines which protocol implementation serves that
+# protocol.
+#
+# The protocol instance returned by #open_server must have the
+# following methods:
+#
+# [accept] Accept a new connection to the server. Returns a protocol
+# instance capable of communicating with the client.
+# [close] Close the server connection.
+# [uri] Get the URI for this server.
+#
+# The protocol instance returned by #open must have the following methods:
+#
+# [send_request (ref, msg_id, arg, b)]
+# Send a request to +ref+ with the given message id and arguments.
+# This is most easily implemented by calling DRbMessage.send_request,
+# providing a stream that sits on top of the current protocol.
+# [recv_reply]
+# Receive a reply from the server and return it as a [success-boolean,
+# reply-value] pair. This is most easily implemented by calling
+# DRb.recv_reply, providing a stream that sits on top of the
+# current protocol.
+# [alive?]
+# Is this connection still alive?
+# [close]
+# Close this connection.
+#
+# The protocol instance returned by #open_server().accept() must have
+# the following methods:
+#
+# [recv_request]
+# Receive a request from the client and return a [object, message,
+# args, block] tuple. This is most easily implemented by calling
+# DRbMessage.recv_request, providing a stream that sits on top of
+# the current protocol.
+# [send_reply(succ, result)]
+# Send a reply to the client. This is most easily implemented
+# by calling DRbMessage.send_reply, providing a stream that sits
+# on top of the current protocol.
+# [close]
+# Close this connection.
+#
+# A new protocol is registered with the DRbProtocol module using
+# the add_protocol method.
+#
+# For examples of other protocols, see DRbUNIXSocket in drb/unix.rb,
+# and HTTP0 in sample/http0.rb and sample/http0serv.rb in the full
+# drb distribution.
+#
+# source://drb//lib/drb/drb.rb#721
+module DRb::DRbProtocol
+ private
+
+ # Add a new protocol to the DRbProtocol module.
+ #
+ # source://drb//lib/drb/drb.rb#724
+ def add_protocol(prot); end
+
+ # source://drb//lib/drb/drb.rb#802
+ def auto_load(uri); end
+
+ # Open a client connection to +uri+ with the configuration +config+.
+ #
+ # The DRbProtocol module asks each registered protocol in turn to
+ # try to open the URI. Each protocol signals that it does not handle that
+ # URI by raising a DRbBadScheme error. If no protocol recognises the
+ # URI, then a DRbBadURI error is raised. If a protocol accepts the
+ # URI, but an error occurs in opening it, a DRbConnError is raised.
+ #
+ # @raise [DRbBadURI]
+ #
+ # source://drb//lib/drb/drb.rb#736
+ def open(uri, config, first = T.unsafe(nil)); end
+
+ # Open a server listening for connections at +uri+ with
+ # configuration +config+.
+ #
+ # The DRbProtocol module asks each registered protocol in turn to
+ # try to open a server at the URI. Each protocol signals that it does
+ # not handle that URI by raising a DRbBadScheme error. If no protocol
+ # recognises the URI, then a DRbBadURI error is raised. If a protocol
+ # accepts the URI, but an error occurs in opening it, the underlying
+ # error is passed on to the caller.
+ #
+ # @raise [DRbBadURI]
+ #
+ # source://drb//lib/drb/drb.rb#764
+ def open_server(uri, config, first = T.unsafe(nil)); end
+
+ # Parse +uri+ into a [uri, option] pair.
+ #
+ # The DRbProtocol module asks each registered protocol in turn to
+ # try to parse the URI. Each protocol signals that it does not handle that
+ # URI by raising a DRbBadScheme error. If no protocol recognises the
+ # URI, then a DRbBadURI error is raised.
+ #
+ # @raise [DRbBadURI]
+ #
+ # source://drb//lib/drb/drb.rb#785
+ def uri_option(uri, config, first = T.unsafe(nil)); end
+
+ class << self
+ # Add a new protocol to the DRbProtocol module.
+ #
+ # source://drb//lib/drb/drb.rb#724
+ def add_protocol(prot); end
+
+ # source://drb//lib/drb/drb.rb#802
+ def auto_load(uri); end
+
+ # Open a client connection to +uri+ with the configuration +config+.
+ #
+ # The DRbProtocol module asks each registered protocol in turn to
+ # try to open the URI. Each protocol signals that it does not handle that
+ # URI by raising a DRbBadScheme error. If no protocol recognises the
+ # URI, then a DRbBadURI error is raised. If a protocol accepts the
+ # URI, but an error occurs in opening it, a DRbConnError is raised.
+ #
+ # @raise [DRbBadURI]
+ #
+ # source://drb//lib/drb/drb.rb#736
+ def open(uri, config, first = T.unsafe(nil)); end
+
+ # Open a server listening for connections at +uri+ with
+ # configuration +config+.
+ #
+ # The DRbProtocol module asks each registered protocol in turn to
+ # try to open a server at the URI. Each protocol signals that it does
+ # not handle that URI by raising a DRbBadScheme error. If no protocol
+ # recognises the URI, then a DRbBadURI error is raised. If a protocol
+ # accepts the URI, but an error occurs in opening it, the underlying
+ # error is passed on to the caller.
+ #
+ # @raise [DRbBadURI]
+ #
+ # source://drb//lib/drb/drb.rb#764
+ def open_server(uri, config, first = T.unsafe(nil)); end
+
+ # Parse +uri+ into a [uri, option] pair.
+ #
+ # The DRbProtocol module asks each registered protocol in turn to
+ # try to parse the URI. Each protocol signals that it does not handle that
+ # URI by raising a DRbBadScheme error. If no protocol recognises the
+ # URI, then a DRbBadURI error is raised.
+ #
+ # @raise [DRbBadURI]
+ #
+ # source://drb//lib/drb/drb.rb#785
+ def uri_option(uri, config, first = T.unsafe(nil)); end
+ end
+end
+
+# An exception wrapping an error object
+#
+# source://drb//lib/drb/drb.rb#431
+class DRb::DRbRemoteError < ::DRb::DRbError
+ # Creates a new remote error that wraps the Exception +error+
+ #
+ # @return [DRbRemoteError] a new instance of DRbRemoteError
+ #
+ # source://drb//lib/drb/drb.rb#434
+ def initialize(error); end
+
+ # the class of the error, as a string.
+ #
+ # source://drb//lib/drb/drb.rb#441
+ def reason; end
+end
+
+# source://drb//lib/drb/drb.rb#1350
+class DRb::DRbServer
+ # Create a new DRbServer instance.
+ #
+ # +uri+ is the URI to bind to. This is normally of the form
+ # 'druby://:' where is a hostname of
+ # the local machine. If nil, then the system's default hostname
+ # will be bound to, on a port selected by the system; these value
+ # can be retrieved from the +uri+ attribute. 'druby:' specifies
+ # the default dRuby transport protocol: another protocol, such
+ # as 'drbunix:', can be specified instead.
+ #
+ # +front+ is the front object for the server, that is, the object
+ # to which remote method calls on the server will be passed. If
+ # nil, then the server will not accept remote method calls.
+ #
+ # If +config_or_acl+ is a hash, it is the configuration to
+ # use for this server. The following options are recognised:
+ #
+ # :idconv :: an id-to-object conversion object. This defaults
+ # to an instance of the class DRb::DRbIdConv.
+ # :verbose :: if true, all unsuccessful remote calls on objects
+ # in the server will be logged to $stdout. false
+ # by default.
+ # :tcp_acl :: the access control list for this server. See
+ # the ACL class from the main dRuby distribution.
+ # :load_limit :: the maximum message size in bytes accepted by
+ # the server. Defaults to 25 MB (26214400).
+ # :argc_limit :: the maximum number of arguments to a remote
+ # method accepted by the server. Defaults to
+ # 256.
+ # The default values of these options can be modified on
+ # a class-wide basis by the class methods #default_argc_limit,
+ # #default_load_limit, #default_acl, #default_id_conv,
+ # and #verbose=
+ #
+ # If +config_or_acl+ is not a hash, but is not nil, it is
+ # assumed to be the access control list for this server.
+ # See the :tcp_acl option for more details.
+ #
+ # If no other server is currently set as the primary server,
+ # this will become the primary server.
+ #
+ # The server will immediately start running in its own thread.
+ #
+ # @return [DRbServer] a new instance of DRbServer
+ #
+ # source://drb//lib/drb/drb.rb#1451
+ def initialize(uri = T.unsafe(nil), front = T.unsafe(nil), config_or_acl = T.unsafe(nil)); end
+
+ # Is this server alive?
+ #
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1506
+ def alive?; end
+
+ # Check that a method is callable via dRuby.
+ #
+ # +obj+ is the object we want to invoke the method on. +msg_id+ is the
+ # method name, as a Symbol.
+ #
+ # If the method is an insecure method (see #insecure_method?) a
+ # SecurityError is thrown. If the method is private or undefined,
+ # a NameError is thrown.
+ #
+ # @raise [ArgumentError]
+ #
+ # source://drb//lib/drb/drb.rb#1594
+ def check_insecure_method(obj, msg_id); end
+
+ # The configuration of this DRbServer
+ #
+ # source://drb//lib/drb/drb.rb#1493
+ def config; end
+
+ # The front object of the DRbServer.
+ #
+ # This object receives remote method calls made on the server's
+ # URI alone, with an object id.
+ #
+ # source://drb//lib/drb/drb.rb#1490
+ def front; end
+
+ # Is +uri+ the URI for this server?
+ #
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1511
+ def here?(uri); end
+
+ # Stop this server.
+ #
+ # source://drb//lib/drb/drb.rb#1516
+ def stop_service; end
+
+ # The main thread of this DRbServer.
+ #
+ # This is the thread that listens for and accepts connections
+ # from clients, not that handles each client's request-response
+ # session.
+ #
+ # source://drb//lib/drb/drb.rb#1484
+ def thread; end
+
+ # Convert a local object to a dRuby reference.
+ #
+ # source://drb//lib/drb/drb.rb#1533
+ def to_id(obj); end
+
+ # Convert a dRuby reference to the local object it refers to.
+ #
+ # source://drb//lib/drb/drb.rb#1526
+ def to_obj(ref); end
+
+ # The URI of this DRbServer.
+ #
+ # source://drb//lib/drb/drb.rb#1477
+ def uri; end
+
+ # Get whether the server is in verbose mode.
+ #
+ # In verbose mode, failed calls are logged to stdout.
+ #
+ # source://drb//lib/drb/drb.rb#1503
+ def verbose; end
+
+ # Set whether to operate in verbose mode.
+ #
+ # In verbose mode, failed calls are logged to stdout.
+ #
+ # source://drb//lib/drb/drb.rb#1498
+ def verbose=(v); end
+
+ private
+
+ # Coerce an object to a string, providing our own representation if
+ # to_s is not defined for the object.
+ #
+ # source://drb//lib/drb/drb.rb#1580
+ def any_to_s(obj); end
+
+ # source://drb//lib/drb/drb.rb#1696
+ def error_print(exception); end
+
+ # Has a method been included in the list of insecure methods?
+ #
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1574
+ def insecure_method?(msg_id); end
+
+ # The main loop performed by a DRbServer's internal thread.
+ #
+ # Accepts a connection from a client, and starts up its own
+ # thread to handle it. This thread loops, receiving requests
+ # from the client, invoking them on a local object, and
+ # returning responses, until the client closes the connection
+ # or a local method call fails.
+ #
+ # source://drb//lib/drb/drb.rb#1714
+ def main_loop; end
+
+ # Starts the DRb main loop in a new thread.
+ #
+ # source://drb//lib/drb/drb.rb#1555
+ def run; end
+
+ # source://drb//lib/drb/drb.rb#1540
+ def shutdown; end
+
+ class << self
+ # Set the default access control list to +acl+. The default ACL is +nil+.
+ #
+ # See also DRb::ACL and #new()
+ #
+ # source://drb//lib/drb/drb.rb#1375
+ def default_acl(acl); end
+
+ # Set the default value for the :argc_limit option.
+ #
+ # See #new(). The initial default value is 256.
+ #
+ # source://drb//lib/drb/drb.rb#1361
+ def default_argc_limit(argc); end
+
+ # Set the default value for the :id_conv option.
+ #
+ # See #new(). The initial default value is a DRbIdConv instance.
+ #
+ # source://drb//lib/drb/drb.rb#1382
+ def default_id_conv(idconv); end
+
+ # Set the default value for the :load_limit option.
+ #
+ # See #new(). The initial default value is 25 MB.
+ #
+ # source://drb//lib/drb/drb.rb#1368
+ def default_load_limit(sz); end
+
+ # source://drb//lib/drb/drb.rb#1398
+ def make_config(hash = T.unsafe(nil)); end
+
+ # Get the default value of the :verbose option.
+ #
+ # source://drb//lib/drb/drb.rb#1394
+ def verbose; end
+
+ # Set the default value of the :verbose option.
+ #
+ # See #new(). The initial default value is false.
+ #
+ # source://drb//lib/drb/drb.rb#1389
+ def verbose=(on); end
+ end
+end
+
+# source://drb//lib/drb/drb.rb#1624
+class DRb::DRbServer::InvokeMethod
+ include ::DRb::DRbServer::InvokeMethod18Mixin
+
+ # @return [InvokeMethod] a new instance of InvokeMethod
+ #
+ # source://drb//lib/drb/drb.rb#1625
+ def initialize(drb_server, client); end
+
+ # source://drb//lib/drb/drb.rb#1630
+ def perform; end
+
+ private
+
+ # source://drb//lib/drb/drb.rb#1667
+ def check_insecure_method; end
+
+ # source://drb//lib/drb/drb.rb#1659
+ def init_with_client; end
+
+ # source://drb//lib/drb/drb.rb#1676
+ def perform_without_block; end
+
+ # source://drb//lib/drb/drb.rb#1671
+ def setup_message; end
+end
+
+# source://drb//lib/drb/invokemethod.rb#6
+module DRb::DRbServer::InvokeMethod18Mixin
+ # source://drb//lib/drb/invokemethod.rb#7
+ def block_yield(x); end
+
+ # source://drb//lib/drb/invokemethod.rb#14
+ def perform_with_block; end
+end
+
+# The default drb protocol which communicates over a TCP socket.
+#
+# The DRb TCP protocol URI looks like:
+# druby://:?
. The option is optional.
+#
+# source://drb//lib/drb/drb.rb#815
+class DRb::DRbTCPSocket
+ # Create a new DRbTCPSocket instance.
+ #
+ # +uri+ is the URI we are connected to.
+ # +soc+ is the tcp socket we are bound to. +config+ is our
+ # configuration.
+ #
+ # @return [DRbTCPSocket] a new instance of DRbTCPSocket
+ #
+ # source://drb//lib/drb/drb.rb#903
+ def initialize(uri, soc, config = T.unsafe(nil)); end
+
+ # On the server side, for an instance returned by #open_server,
+ # accept a client connection and return a new instance to handle
+ # the server's side of this client-server session.
+ #
+ # source://drb//lib/drb/drb.rb#971
+ def accept; end
+
+ # Check to see if this connection is alive.
+ #
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1001
+ def alive?; end
+
+ # Close the connection.
+ #
+ # If this is an instance returned by #open_server, then this stops
+ # listening for new connections altogether. If this is an instance
+ # returned by #open or by #accept, then it closes this particular
+ # client-server session.
+ #
+ # source://drb//lib/drb/drb.rb#953
+ def close; end
+
+ # Get the address of our TCP peer (the other end of the socket
+ # we are bound to.
+ #
+ # source://drb//lib/drb/drb.rb#918
+ def peeraddr; end
+
+ # On the client side, receive a reply from the server.
+ #
+ # source://drb//lib/drb/drb.rb#941
+ def recv_reply; end
+
+ # On the server side, receive a request from the client.
+ #
+ # source://drb//lib/drb/drb.rb#931
+ def recv_request; end
+
+ # On the server side, send a reply to the client.
+ #
+ # source://drb//lib/drb/drb.rb#936
+ def send_reply(succ, result); end
+
+ # On the client side, send a request to the server.
+ #
+ # source://drb//lib/drb/drb.rb#926
+ def send_request(ref, msg_id, arg, b); end
+
+ # source://drb//lib/drb/drb.rb#1010
+ def set_sockopt(soc); end
+
+ # Graceful shutdown
+ #
+ # source://drb//lib/drb/drb.rb#996
+ def shutdown; end
+
+ # Get the socket.
+ #
+ # source://drb//lib/drb/drb.rb#923
+ def stream; end
+
+ # Get the URI that we are connected to.
+ #
+ # source://drb//lib/drb/drb.rb#914
+ def uri; end
+
+ private
+
+ # source://drb//lib/drb/drb.rb#986
+ def accept_or_shutdown; end
+
+ # source://drb//lib/drb/drb.rb#962
+ def close_shutdown_pipe; end
+
+ class << self
+ # Returns the hostname of this server
+ #
+ # source://drb//lib/drb/drb.rb#845
+ def getservername; end
+
+ # Open a client connection to +uri+ (DRb URI string) using configuration
+ # +config+.
+ #
+ # This can raise DRb::DRbBadScheme or DRb::DRbBadURI if +uri+ is not for a
+ # recognized protocol. See DRb::DRbServer.new for information on built-in
+ # URI protocols.
+ #
+ # source://drb//lib/drb/drb.rb#838
+ def open(uri, config); end
+
+ # Open a server listening for connections at +uri+ using
+ # configuration +config+.
+ #
+ # source://drb//lib/drb/drb.rb#876
+ def open_server(uri, config); end
+
+ # For the families available for +host+, returns a TCPServer on +port+.
+ # If +port+ is 0 the first available port is used. IPv4 servers are
+ # preferred over IPv6 servers.
+ #
+ # source://drb//lib/drb/drb.rb#861
+ def open_server_inaddr_any(host, port); end
+
+ # source://drb//lib/drb/drb.rb#818
+ def parse_uri(uri); end
+
+ # Parse +uri+ into a [uri, option] pair.
+ #
+ # source://drb//lib/drb/drb.rb#893
+ def uri_option(uri, config); end
+ end
+end
+
+# source://drb//lib/drb/drb.rb#1021
+class DRb::DRbURIOption
+ # @return [DRbURIOption] a new instance of DRbURIOption
+ #
+ # source://drb//lib/drb/drb.rb#1022
+ def initialize(option); end
+
+ # source://drb//lib/drb/drb.rb#1028
+ def ==(other); end
+
+ # source://drb//lib/drb/drb.rb#1028
+ def eql?(other); end
+
+ # source://drb//lib/drb/drb.rb#1033
+ def hash; end
+
+ # Returns the value of attribute option.
+ #
+ # source://drb//lib/drb/drb.rb#1025
+ def option; end
+
+ # source://drb//lib/drb/drb.rb#1026
+ def to_s; end
+end
+
+# Mixin module making an object undumpable or unmarshallable.
+#
+# If an object which includes this module is returned by method
+# called over drb, then the object remains in the server space
+# and a reference to the object is returned, rather than the
+# object being marshalled and moved into the client space.
+#
+# source://drb//lib/drb/drb.rb#390
+module DRb::DRbUndumped
+ # @raise [TypeError]
+ #
+ # source://drb//lib/drb/drb.rb#391
+ def _dump(dummy); end
+end
+
+# Class wrapping a marshalled object whose type is unknown locally.
+#
+# If an object is returned by a method invoked over drb, but the
+# class of the object is unknown in the client namespace, or
+# the object is a constant unknown in the client namespace, then
+# the still-marshalled object is returned wrapped in a DRbUnknown instance.
+#
+# If this object is passed as an argument to a method invoked over
+# drb, then the wrapped object is passed instead.
+#
+# The class or constant name of the object can be read from the
+# +name+ attribute. The marshalled object is held in the +buf+
+# attribute.
+#
+# source://drb//lib/drb/drb.rb#457
+class DRb::DRbUnknown
+ # Create a new DRbUnknown object.
+ #
+ # +buf+ is a string containing a marshalled object that could not
+ # be unmarshalled. +err+ is the error message that was raised
+ # when the unmarshalling failed. It is used to determine the
+ # name of the unmarshalled object.
+ #
+ # @return [DRbUnknown] a new instance of DRbUnknown
+ #
+ # source://drb//lib/drb/drb.rb#465
+ def initialize(err, buf); end
+
+ # source://drb//lib/drb/drb.rb#494
+ def _dump(lv); end
+
+ # Buffer contained the marshalled, unknown object.
+ #
+ # source://drb//lib/drb/drb.rb#484
+ def buf; end
+
+ # Create a DRbUnknownError exception containing this object.
+ #
+ # source://drb//lib/drb/drb.rb#508
+ def exception; end
+
+ # The name of the unknown thing.
+ #
+ # Class name for unknown objects; variable name for unknown
+ # constants.
+ #
+ # source://drb//lib/drb/drb.rb#481
+ def name; end
+
+ # Attempt to load the wrapped marshalled object again.
+ #
+ # If the class of the object is now known locally, the object
+ # will be unmarshalled and returned. Otherwise, a new
+ # but identical DRbUnknown object will be returned.
+ #
+ # source://drb//lib/drb/drb.rb#503
+ def reload; end
+
+ class << self
+ # source://drb//lib/drb/drb.rb#486
+ def _load(s); end
+ end
+end
+
+# An exception wrapping a DRb::DRbUnknown object
+#
+# source://drb//lib/drb/drb.rb#410
+class DRb::DRbUnknownError < ::DRb::DRbError
+ # Create a new DRbUnknownError for the DRb::DRbUnknown object +unknown+
+ #
+ # @return [DRbUnknownError] a new instance of DRbUnknownError
+ #
+ # source://drb//lib/drb/drb.rb#413
+ def initialize(unknown); end
+
+ # source://drb//lib/drb/drb.rb#425
+ def _dump(lv); end
+
+ # Get the wrapped DRb::DRbUnknown object.
+ #
+ # source://drb//lib/drb/drb.rb#419
+ def unknown; end
+
+ class << self
+ # source://drb//lib/drb/drb.rb#421
+ def _load(s); end
+ end
+end
+
+# source://drb//lib/drb/drb.rb#1199
+class DRb::ThreadObject
+ include ::MonitorMixin
+
+ # @return [ThreadObject] a new instance of ThreadObject
+ #
+ # source://drb//lib/drb/drb.rb#1202
+ def initialize(&blk); end
+
+ # source://drb//lib/drb/drb.rb#1237
+ def _execute; end
+
+ # @return [Boolean]
+ #
+ # source://drb//lib/drb/drb.rb#1213
+ def alive?; end
+
+ # source://drb//lib/drb/drb.rb#1217
+ def kill; end
+
+ # source://drb//lib/drb/drb.rb#1222
+ def method_missing(msg, *arg, &blk); end
+end
+
+# source://drb//lib/drb/version.rb#2
+DRb::VERSION = T.let(T.unsafe(nil), String)
+
+# source://drb//lib/drb/drb.rb#1943
+DRbIdConv = DRb::DRbIdConv
+
+# :stopdoc:
+#
+# source://drb//lib/drb/drb.rb#1941
+DRbObject = DRb::DRbObject
+
+# source://drb//lib/drb/drb.rb#1942
+DRbUndumped = DRb::DRbUndumped
diff --git a/sorbet/rbi/gems/dropbox_api@0.1.21.rbi b/sorbet/rbi/gems/dropbox_api@0.1.21.rbi
new file mode 100644
index 00000000..3d9c274b
--- /dev/null
+++ b/sorbet/rbi/gems/dropbox_api@0.1.21.rbi
@@ -0,0 +1,3871 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `dropbox_api` gem.
+# Please instead update this file by running `bin/tapioca gem dropbox_api`.
+
+# source://dropbox_api//lib/dropbox_api/version.rb#2
+module DropboxApi; end
+
+# source://dropbox_api//lib/dropbox_api/authenticator.rb#5
+class DropboxApi::Authenticator < ::OAuth2::Client
+ # @return [Authenticator] a new instance of Authenticator
+ #
+ # source://dropbox_api//lib/dropbox_api/authenticator.rb#6
+ def initialize(client_id, client_secret); end
+end
+
+# source://dropbox_api//lib/dropbox_api/chunked_uploader.rb#3
+class DropboxApi::ChunkedUploader
+ include ::DropboxApi::OptionsValidator
+
+ # @return [ChunkedUploader] a new instance of ChunkedUploader
+ #
+ # source://dropbox_api//lib/dropbox_api/chunked_uploader.rb#6
+ def initialize(client, path, i_stream, options = T.unsafe(nil)); end
+
+ # source://dropbox_api//lib/dropbox_api/chunked_uploader.rb#32
+ def finish; end
+
+ # source://dropbox_api//lib/dropbox_api/chunked_uploader.rb#15
+ def start; end
+
+ # source://dropbox_api//lib/dropbox_api/chunked_uploader.rb#22
+ def upload; end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/chunked_uploader.rb#38
+ def init_commit_info(path, options); end
+end
+
+# source://dropbox_api//lib/dropbox_api/client.rb#3
+class DropboxApi::Client
+ # @return [Client] a new instance of Client
+ #
+ # source://dropbox_api//lib/dropbox_api/client.rb#4
+ def initialize(oauth_bearer = T.unsafe(nil), access_token: T.unsafe(nil), on_token_refreshed: T.unsafe(nil)); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def add_file_member(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def add_folder_member(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def copy(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def copy_batch(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def copy_batch_check(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def copy_reference_get(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def copy_reference_save(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def create_file_request(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def create_folder(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def create_folder_batch(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def create_folder_batch_check(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def create_shared_link_with_settings(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def delete(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def delete_batch(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def delete_batch_check(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def download(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_account(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_account_batch(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_current_account(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_metadata(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_preview(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_shared_link_metadata(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_space_usage(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_temporary_link(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_thumbnail(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def get_thumbnail_batch(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_file_members(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_folder(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_folder_continue(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_folder_get_latest_cursor(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_folder_longpoll(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_folder_members(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_revisions(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def list_shared_links(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#21
+ def middleware; end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def move(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#29
+ def namespace_id; end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#25
+ def namespace_id=(value); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def permanently_delete(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def restore(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def revoke_shared_link(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def save_url(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def save_url_check_job_status(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def search(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def search_continue(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def share_folder(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def token_revoke(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def unshare_file(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def upload(*args, &block); end
+
+ # Creates a new file using the *upload session* endpoints. You can use
+ # this method to upload files larger than 150 MB.
+ #
+ # @example
+ # client = DropboxApi::Client.new
+ # File.open "large file.avi" do |file|
+ # client.upload "/large file.avi", file
+ # #=> #
+ # end
+ # @example
+ # client = DropboxApi::Client.new
+ # client.upload "/file.txt", "File contents...", :mode => :add
+ # #=> #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param path [String] Path in the user's Dropbox to save the file.
+ # @param content The contents of the file that will be uploaded. This
+ # could be the result of the `IO::read` method.
+ # @param options [Hash] a customizable set of options
+ # @see DropboxApi::Metadata::WriteMode
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/virtual/upload_by_chunks.rb#41
+ def upload_by_chunks(path, content, options = T.unsafe(nil)); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def upload_session_append_v2(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def upload_session_finish(*args, &block); end
+
+ # source://dropbox_api//lib/dropbox_api/client.rb#35
+ def upload_session_start(*args, &block); end
+
+ class << self
+ # source://dropbox_api//lib/dropbox_api/client.rb#34
+ def add_endpoint(name, endpoint); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/connection_builder.rb#3
+class DropboxApi::ConnectionBuilder
+ # @return [ConnectionBuilder] a new instance of ConnectionBuilder
+ #
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#6
+ def initialize(oauth_bearer = T.unsafe(nil), access_token: T.unsafe(nil), on_token_refreshed: T.unsafe(nil)); end
+
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#44
+ def build(url); end
+
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#25
+ def can_refresh_access_token?; end
+
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#21
+ def middleware; end
+
+ # Returns the value of attribute namespace_id.
+ #
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#4
+ def namespace_id; end
+
+ # Sets the attribute namespace_id
+ #
+ # @param value the value to set the attribute namespace_id to.
+ #
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#4
+ def namespace_id=(_arg0); end
+
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#29
+ def refresh_access_token; end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#34
+ def bearer; end
+
+ # source://dropbox_api//lib/dropbox_api/connection_builder.rb#38
+ def oauth_bearer_from_access_token; end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/base.rb#2
+module DropboxApi::Endpoints; end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/auth/token_revoke.rb#2
+module DropboxApi::Endpoints::Auth; end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/auth/token_revoke.rb#3
+class DropboxApi::Endpoints::Auth::TokenRevoke < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/auth/token_revoke.rb#11
+ def token_revoke; end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/auth/token_revoke.rb#7
+DropboxApi::Endpoints::Auth::TokenRevoke::ErrorType = T.let(T.unsafe(nil), T.untyped)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/auth/token_revoke.rb#4
+DropboxApi::Endpoints::Auth::TokenRevoke::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/auth/token_revoke.rb#5
+DropboxApi::Endpoints::Auth::TokenRevoke::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/auth/token_revoke.rb#6
+DropboxApi::Endpoints::Auth::TokenRevoke::ResultType = DropboxApi::Results::VoidResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/base.rb#3
+class DropboxApi::Endpoints::Base
+ # @return [Base] a new instance of Base
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/base.rb#4
+ def initialize(builder); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/base.rb#62
+ def build_result(api_result); end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/base.rb#28
+ def get_response(*args); end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/base.rb#16
+ def perform_request(params); end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/base.rb#32
+ def process_response(raw_response); end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/base.rb#72
+ def run_request(body, headers); end
+
+ class << self
+ # source://dropbox_api//lib/dropbox_api/endpoints/base.rb#9
+ def add_endpoint(name, &block); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/content_download.rb#3
+class DropboxApi::Endpoints::ContentDownload < ::DropboxApi::Endpoints::Base
+ # source://dropbox_api//lib/dropbox_api/endpoints/content_download.rb#4
+ def build_connection; end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/content_download.rb#10
+ def build_request(params); end
+
+ # @yield [response.body]
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/content_download.rb#20
+ def perform_request(params); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/content_upload.rb#3
+class DropboxApi::Endpoints::ContentUpload < ::DropboxApi::Endpoints::Base
+ # source://dropbox_api//lib/dropbox_api/endpoints/content_upload.rb#4
+ def build_connection; end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/content_upload.rb#10
+ def build_request(params, body); end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/content_upload.rb#22
+ def perform_request(params, content); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/content_upload.rb#28
+ def get_content_length(content); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy.rb#2
+module DropboxApi::Endpoints::Files; end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy.rb#3
+class DropboxApi::Endpoints::Files::Copy < ::DropboxApi::Endpoints::Rpc
+ # Copy a file or folder to a different location in the user's Dropbox.
+ # If the source path is a folder all its contents will be copied.
+ #
+ # @param from [String] Path in the user's Dropbox to be copied or moved.
+ # @param to [String] Path in the user's Dropbox that is the destination.
+ # @return The moved file.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/copy.rb#15
+ def copy(from, to); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy.rb#7
+DropboxApi::Endpoints::Files::Copy::ErrorType = DropboxApi::Errors::RelocationError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy.rb#4
+DropboxApi::Endpoints::Files::Copy::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy.rb#5
+DropboxApi::Endpoints::Files::Copy::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy.rb#6
+DropboxApi::Endpoints::Files::Copy::ResultType = DropboxApi::Metadata::Resource
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch.rb#3
+class DropboxApi::Endpoints::Files::CopyBatch < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # Copy multiple files or folders to different locations at once in the
+ # user's Dropbox.
+ #
+ # This will either finish synchronously, or return a job ID and do
+ # the async copy job in background. Please use {Client#copy_batch_check}
+ # to check the job status.
+ #
+ # Note: No errors are returned by this endpoint.
+ #
+ # @option options
+ # @param entries [Array] List of entries to be moved or copied.
+ # Each entry must be a hash with two keys: `:from_path` & `:to_path`.
+ # @return [String, Array] Either the job id or the list of job statuses.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch.rb#25
+ def copy_batch(entries, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch.rb#4
+DropboxApi::Endpoints::Files::CopyBatch::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch.rb#5
+DropboxApi::Endpoints::Files::CopyBatch::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch.rb#6
+DropboxApi::Endpoints::Files::CopyBatch::ResultType = DropboxApi::Results::CopyBatchResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch_check.rb#3
+class DropboxApi::Endpoints::Files::CopyBatchCheck < ::DropboxApi::Endpoints::Rpc
+ # Returns the status of an asynchronous job for {Client#copy_batch}. It
+ # returns a list of results for each entry.
+ #
+ # @param async_job_id [String] Id of the asynchronous job.
+ # This is the value of a response returned from the method that
+ # launched the job.
+ # @return [:in_progress, Array] This could be either the `:in_progress`
+ # flag or a list of job statuses.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch_check.rb#17
+ def copy_batch_check(async_job_id); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch_check.rb#7
+DropboxApi::Endpoints::Files::CopyBatchCheck::ErrorType = DropboxApi::Errors::PollError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch_check.rb#4
+DropboxApi::Endpoints::Files::CopyBatchCheck::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch_check.rb#5
+DropboxApi::Endpoints::Files::CopyBatchCheck::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_batch_check.rb#6
+DropboxApi::Endpoints::Files::CopyBatchCheck::ResultType = DropboxApi::Results::RelocationBatchResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_get.rb#3
+class DropboxApi::Endpoints::Files::CopyReferenceGet < ::DropboxApi::Endpoints::Rpc
+ # Get a copy reference to a file or folder.
+ # This reference string can be used to save that file or folder
+ # to another user's Dropbox by passing it to {Client#copy_reference_save}.
+ #
+ # @param path [String] The path to the file or folder you want to get a
+ # copy reference to.
+ # @return [DropboxApi::Results::GetCopyReferenceResult]
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_get.rb#16
+ def copy_reference_get(path); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_get.rb#7
+DropboxApi::Endpoints::Files::CopyReferenceGet::ErrorType = DropboxApi::Errors::GetCopyReferenceError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_get.rb#4
+DropboxApi::Endpoints::Files::CopyReferenceGet::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_get.rb#5
+DropboxApi::Endpoints::Files::CopyReferenceGet::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_get.rb#6
+DropboxApi::Endpoints::Files::CopyReferenceGet::ResultType = DropboxApi::Results::GetCopyReferenceResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_save.rb#3
+class DropboxApi::Endpoints::Files::CopyReferenceSave < ::DropboxApi::Endpoints::Rpc
+ # Save a copy reference returned by {Client#copy_reference_get} to the
+ # user's Dropbox.
+ #
+ # @param copy_reference [String] A copy reference returned by
+ # {Client#copy_reference_get}.
+ # @param path [String] Path in the user's Dropbox that is the destination.
+ # @return [DropboxApi::Results::SaveCopyReferenceResult]
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_save.rb#16
+ def copy_reference_save(copy_reference, path); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_save.rb#7
+DropboxApi::Endpoints::Files::CopyReferenceSave::ErrorType = DropboxApi::Errors::SaveCopyReferenceError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_save.rb#4
+DropboxApi::Endpoints::Files::CopyReferenceSave::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_save.rb#5
+DropboxApi::Endpoints::Files::CopyReferenceSave::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/copy_reference_save.rb#6
+DropboxApi::Endpoints::Files::CopyReferenceSave::ResultType = DropboxApi::Results::SaveCopyReferenceResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/file_requests/create_file_request.rb#3
+class DropboxApi::Endpoints::Files::CreateFileRequest < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/file_requests/create_file_request.rb#15
+ def create_file_request(title, destination); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/file_requests/create_file_request.rb#7
+DropboxApi::Endpoints::Files::CreateFileRequest::ErrorType = DropboxApi::Errors::CreateFileRequestError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/file_requests/create_file_request.rb#4
+DropboxApi::Endpoints::Files::CreateFileRequest::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/file_requests/create_file_request.rb#5
+DropboxApi::Endpoints::Files::CreateFileRequest::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/file_requests/create_file_request.rb#6
+DropboxApi::Endpoints::Files::CreateFileRequest::ResultType = DropboxApi::Metadata::FileRequest
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder.rb#3
+class DropboxApi::Endpoints::Files::CreateFolder < ::DropboxApi::Endpoints::Rpc
+ # Create a folder at a given path.
+ #
+ # @param path [String] Path in the user's Dropbox to create.
+ # @return [DropboxApi::Metadata::Folder] The new folder.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder.rb#13
+ def create_folder(path); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder.rb#7
+DropboxApi::Endpoints::Files::CreateFolder::ErrorType = DropboxApi::Errors::CreateFolderError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder.rb#4
+DropboxApi::Endpoints::Files::CreateFolder::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder.rb#5
+DropboxApi::Endpoints::Files::CreateFolder::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder.rb#6
+DropboxApi::Endpoints::Files::CreateFolder::ResultType = DropboxApi::Metadata::Folder
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch.rb#3
+class DropboxApi::Endpoints::Files::CreateFolderBatch < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # Create multiple folders at once.
+ #
+ # This route is asynchronous for large batches, which returns a job ID
+ # immediately and runs the create folder batch asynchronously. Otherwise,
+ # creates the folders and returns the result synchronously for smaller
+ # inputs. You can force asynchronous behaviour by using the `:force_async`
+ # flag. Use {Client#create_folder_batch_check} to check the job status.
+ #
+ # Note: No errors are returned by this endpoint.
+ #
+ # @option options
+ # @option options
+ # @param paths [Array] List of paths to be created in the user's Dropbox.
+ # Duplicate path arguments in the batch are considered only once.
+ # @return [String, Array] Either the job id or the list of job statuses.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch.rb#28
+ def create_folder_batch(paths, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch.rb#4
+DropboxApi::Endpoints::Files::CreateFolderBatch::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch.rb#5
+DropboxApi::Endpoints::Files::CreateFolderBatch::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch.rb#6
+DropboxApi::Endpoints::Files::CreateFolderBatch::ResultType = DropboxApi::Results::CreateFolderBatchResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch_check.rb#3
+class DropboxApi::Endpoints::Files::CreateFolderBatchCheck < ::DropboxApi::Endpoints::Rpc
+ # Returns the status of an asynchronous job for create_folder_batch.
+ # If success, it returns list of result for each entry.
+ #
+ # @param async_job_id [String] Id of the asynchronous job.
+ # This is the value of a response returned from the method that launched
+ # the job.
+ # @return [Array] A list of one result for each entry.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch_check.rb#16
+ def create_folder_batch_check(async_job_id); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch_check.rb#7
+DropboxApi::Endpoints::Files::CreateFolderBatchCheck::ErrorType = DropboxApi::Errors::PollError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch_check.rb#4
+DropboxApi::Endpoints::Files::CreateFolderBatchCheck::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch_check.rb#5
+DropboxApi::Endpoints::Files::CreateFolderBatchCheck::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/create_folder_batch_check.rb#6
+DropboxApi::Endpoints::Files::CreateFolderBatchCheck::ResultType = DropboxApi::Results::CreateFolderBatchResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete.rb#3
+class DropboxApi::Endpoints::Files::Delete < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/delete.rb#25
+ def delete(path, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete.rb#7
+DropboxApi::Endpoints::Files::Delete::ErrorType = DropboxApi::Errors::DeleteError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete.rb#4
+DropboxApi::Endpoints::Files::Delete::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete.rb#5
+DropboxApi::Endpoints::Files::Delete::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete.rb#6
+DropboxApi::Endpoints::Files::Delete::ResultType = DropboxApi::Metadata::Resource
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch.rb#3
+class DropboxApi::Endpoints::Files::DeleteBatch < ::DropboxApi::Endpoints::Rpc
+ # Delete multiple files/folders at once.
+ #
+ # This route is asynchronous, which returns a job ID immediately and runs
+ # the delete batch asynchronously. Use {Client#delete_batch_check} to check
+ # the job status.
+ #
+ # @param entries [Array] List of entries, each entry is a Hash with these
+ # fields: `path` (mandatory) & parent_rev (optional).
+ # @return [String, Array] Either the job id or the list of job statuses.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch.rb#17
+ def delete_batch(entries); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch.rb#4
+DropboxApi::Endpoints::Files::DeleteBatch::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch.rb#5
+DropboxApi::Endpoints::Files::DeleteBatch::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch.rb#6
+DropboxApi::Endpoints::Files::DeleteBatch::ResultType = DropboxApi::Results::DeleteBatchResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch_check.rb#3
+class DropboxApi::Endpoints::Files::DeleteBatchCheck < ::DropboxApi::Endpoints::Rpc
+ # Returns the status of an asynchronous job for delete_batch. If success,
+ # it returns list of result for each entry.
+ #
+ # @param async_job_id [String] Id of the asynchronous job.
+ # @return [:in_progress, Array] This could be either the `:in_progress`
+ # flag or a list of job statuses.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch_check.rb#15
+ def delete_batch_check(async_job_id); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch_check.rb#7
+DropboxApi::Endpoints::Files::DeleteBatchCheck::ErrorType = DropboxApi::Errors::PollError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch_check.rb#4
+DropboxApi::Endpoints::Files::DeleteBatchCheck::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch_check.rb#5
+DropboxApi::Endpoints::Files::DeleteBatchCheck::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/delete_batch_check.rb#6
+DropboxApi::Endpoints::Files::DeleteBatchCheck::ResultType = DropboxApi::Results::DeleteBatchResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/download.rb#3
+class DropboxApi::Endpoints::Files::Download < ::DropboxApi::Endpoints::ContentDownload
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/download.rb#12
+ def download(path, &block); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/download.rb#7
+DropboxApi::Endpoints::Files::Download::ErrorType = DropboxApi::Errors::DownloadError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/download.rb#4
+DropboxApi::Endpoints::Files::Download::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/download.rb#5
+DropboxApi::Endpoints::Files::Download::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/download.rb#6
+DropboxApi::Endpoints::Files::Download::ResultType = DropboxApi::Metadata::File
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_metadata.rb#3
+class DropboxApi::Endpoints::Files::GetMetadata < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/get_metadata.rb#30
+ def get_metadata(path, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_metadata.rb#7
+DropboxApi::Endpoints::Files::GetMetadata::ErrorType = DropboxApi::Errors::GetMetadataError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_metadata.rb#4
+DropboxApi::Endpoints::Files::GetMetadata::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_metadata.rb#5
+DropboxApi::Endpoints::Files::GetMetadata::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_metadata.rb#6
+DropboxApi::Endpoints::Files::GetMetadata::ResultType = DropboxApi::Metadata::Resource
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_preview.rb#3
+class DropboxApi::Endpoints::Files::GetPreview < ::DropboxApi::Endpoints::ContentDownload
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/get_preview.rb#14
+ def get_preview(path, &block); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_preview.rb#7
+DropboxApi::Endpoints::Files::GetPreview::ErrorType = DropboxApi::Errors::PreviewError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_preview.rb#4
+DropboxApi::Endpoints::Files::GetPreview::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_preview.rb#5
+DropboxApi::Endpoints::Files::GetPreview::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_preview.rb#6
+DropboxApi::Endpoints::Files::GetPreview::ResultType = DropboxApi::Metadata::File
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_temporary_link.rb#3
+class DropboxApi::Endpoints::Files::GetTemporaryLink < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/get_temporary_link.rb#14
+ def get_temporary_link(path); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_temporary_link.rb#7
+DropboxApi::Endpoints::Files::GetTemporaryLink::ErrorType = DropboxApi::Errors::GetMetadataError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_temporary_link.rb#4
+DropboxApi::Endpoints::Files::GetTemporaryLink::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_temporary_link.rb#5
+DropboxApi::Endpoints::Files::GetTemporaryLink::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_temporary_link.rb#6
+DropboxApi::Endpoints::Files::GetTemporaryLink::ResultType = DropboxApi::Results::GetTemporaryLinkResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail.rb#3
+class DropboxApi::Endpoints::Files::GetThumbnail < ::DropboxApi::Endpoints::ContentDownload
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail.rb#48
+ def get_thumbnail(path, options = T.unsafe(nil), &block); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail.rb#7
+DropboxApi::Endpoints::Files::GetThumbnail::ErrorType = DropboxApi::Errors::PreviewError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail.rb#4
+DropboxApi::Endpoints::Files::GetThumbnail::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail.rb#5
+DropboxApi::Endpoints::Files::GetThumbnail::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail.rb#6
+DropboxApi::Endpoints::Files::GetThumbnail::ResultType = DropboxApi::Metadata::File
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb#3
+class DropboxApi::Endpoints::Files::GetThumbnailBatch < ::DropboxApi::Endpoints::RpcContent
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb#32
+ def build_entries_params(paths, options); end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb#23
+ def get_thumbnail_batch(paths, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb#7
+DropboxApi::Endpoints::Files::GetThumbnailBatch::ErrorType = DropboxApi::Errors::ThumbnailBatchError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb#4
+DropboxApi::Endpoints::Files::GetThumbnailBatch::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb#5
+DropboxApi::Endpoints::Files::GetThumbnailBatch::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb#6
+DropboxApi::Endpoints::Files::GetThumbnailBatch::ResultType = DropboxApi::Results::GetThumbnailBatchResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder.rb#3
+class DropboxApi::Endpoints::Files::ListFolder < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder.rb#29
+ def list_folder(path, options = T.unsafe(nil)); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder.rb#51
+ def build_shared_link_param(shared_link_param); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder.rb#7
+DropboxApi::Endpoints::Files::ListFolder::ErrorType = DropboxApi::Errors::ListFolderError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder.rb#4
+DropboxApi::Endpoints::Files::ListFolder::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder.rb#5
+DropboxApi::Endpoints::Files::ListFolder::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder.rb#6
+DropboxApi::Endpoints::Files::ListFolder::ResultType = DropboxApi::Results::ListFolderResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_continue.rb#3
+class DropboxApi::Endpoints::Files::ListFolderContinue < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_continue.rb#17
+ def list_folder_continue(cursor); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_continue.rb#10
+DropboxApi::Endpoints::Files::ListFolderContinue::ErrorType = DropboxApi::Errors::ListFolderContinueError
+
+# NOTE: This hasn't been tested with real data, I couldn't make a query
+# long enough to enable the `has_more` attribute in the
+# `ListFolderResult`.
+#
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_continue.rb#7
+DropboxApi::Endpoints::Files::ListFolderContinue::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_continue.rb#8
+DropboxApi::Endpoints::Files::ListFolderContinue::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_continue.rb#9
+DropboxApi::Endpoints::Files::ListFolderContinue::ResultType = DropboxApi::Results::ListFolderResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb#3
+class DropboxApi::Endpoints::Files::ListFolderGetLatestCursor < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb#28
+ def list_folder_get_latest_cursor(options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb#7
+DropboxApi::Endpoints::Files::ListFolderGetLatestCursor::ErrorType = DropboxApi::Errors::ListFolderError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb#4
+DropboxApi::Endpoints::Files::ListFolderGetLatestCursor::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb#5
+DropboxApi::Endpoints::Files::ListFolderGetLatestCursor::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb#6
+DropboxApi::Endpoints::Files::ListFolderGetLatestCursor::ResultType = DropboxApi::Results::ListFolderGetLatestCursorResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_longpoll.rb#3
+class DropboxApi::Endpoints::Files::ListFolderLongpoll < ::DropboxApi::Endpoints::RpcNotify
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_longpoll.rb#25
+ def list_folder_longpoll(cursor, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_longpoll.rb#7
+DropboxApi::Endpoints::Files::ListFolderLongpoll::ErrorType = DropboxApi::Errors::ListFolderLongpollError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_longpoll.rb#4
+DropboxApi::Endpoints::Files::ListFolderLongpoll::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_longpoll.rb#5
+DropboxApi::Endpoints::Files::ListFolderLongpoll::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_folder_longpoll.rb#6
+DropboxApi::Endpoints::Files::ListFolderLongpoll::ResultType = DropboxApi::Results::ListFolderLongpollResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_revisions.rb#3
+class DropboxApi::Endpoints::Files::ListRevisions < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/list_revisions.rb#16
+ def list_revisions(path, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_revisions.rb#7
+DropboxApi::Endpoints::Files::ListRevisions::ErrorType = DropboxApi::Errors::ListRevisionsError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_revisions.rb#4
+DropboxApi::Endpoints::Files::ListRevisions::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_revisions.rb#5
+DropboxApi::Endpoints::Files::ListRevisions::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/list_revisions.rb#6
+DropboxApi::Endpoints::Files::ListRevisions::ResultType = DropboxApi::Results::ListRevisionsResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/move.rb#3
+class DropboxApi::Endpoints::Files::Move < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/move.rb#20
+ def move(from, to, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/move.rb#7
+DropboxApi::Endpoints::Files::Move::ErrorType = DropboxApi::Errors::RelocationError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/move.rb#4
+DropboxApi::Endpoints::Files::Move::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/move.rb#5
+DropboxApi::Endpoints::Files::Move::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/move.rb#6
+DropboxApi::Endpoints::Files::Move::ResultType = DropboxApi::Metadata::Resource
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/permanently_delete.rb#3
+class DropboxApi::Endpoints::Files::PermanentlyDelete < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/permanently_delete.rb#21
+ def permanently_delete(path, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/permanently_delete.rb#7
+DropboxApi::Endpoints::Files::PermanentlyDelete::ErrorType = DropboxApi::Errors::DeleteError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/permanently_delete.rb#4
+DropboxApi::Endpoints::Files::PermanentlyDelete::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/permanently_delete.rb#5
+DropboxApi::Endpoints::Files::PermanentlyDelete::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/permanently_delete.rb#6
+DropboxApi::Endpoints::Files::PermanentlyDelete::ResultType = DropboxApi::Results::VoidResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/restore.rb#3
+class DropboxApi::Endpoints::Files::Restore < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/restore.rb#13
+ def restore(path, rev); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/restore.rb#7
+DropboxApi::Endpoints::Files::Restore::ErrorType = DropboxApi::Errors::RestoreError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/restore.rb#4
+DropboxApi::Endpoints::Files::Restore::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/restore.rb#5
+DropboxApi::Endpoints::Files::Restore::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/restore.rb#6
+DropboxApi::Endpoints::Files::Restore::ResultType = DropboxApi::Metadata::File
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url.rb#3
+class DropboxApi::Endpoints::Files::SaveUrl < ::DropboxApi::Endpoints::Rpc
+ # Save a specified URL into a file in user's Dropbox. If the given path
+ # already exists, the file will be renamed to avoid the conflict (e.g.
+ # myfile (1).txt).
+ #
+ # @param path [String] The path in Dropbox where the URL will be saved to.
+ # @param url [String] The URL to be saved.
+ # @return Either the saved file or a reference to the async job.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/save_url.rb#16
+ def save_url(path, url); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url.rb#7
+DropboxApi::Endpoints::Files::SaveUrl::ErrorType = DropboxApi::Errors::SaveUrlError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url.rb#4
+DropboxApi::Endpoints::Files::SaveUrl::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url.rb#5
+DropboxApi::Endpoints::Files::SaveUrl::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url.rb#6
+DropboxApi::Endpoints::Files::SaveUrl::ResultType = DropboxApi::Results::SaveUrlResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url_check_job_status.rb#3
+class DropboxApi::Endpoints::Files::SaveUrlCheckJobStatus < ::DropboxApi::Endpoints::Rpc
+ # Check the status of a `save_url` job.
+ #
+ # @param job_id [String] Id of the asynchronous job. This is the value of
+ # a response returned from the method that launched the job.
+ # @return The current status of the job.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/save_url_check_job_status.rb#14
+ def save_url_check_job_status(job_id); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url_check_job_status.rb#7
+DropboxApi::Endpoints::Files::SaveUrlCheckJobStatus::ErrorType = DropboxApi::Errors::PollError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url_check_job_status.rb#4
+DropboxApi::Endpoints::Files::SaveUrlCheckJobStatus::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url_check_job_status.rb#5
+DropboxApi::Endpoints::Files::SaveUrlCheckJobStatus::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/save_url_check_job_status.rb#6
+DropboxApi::Endpoints::Files::SaveUrlCheckJobStatus::ResultType = DropboxApi::Results::SaveUrlJobStatus
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search.rb#3
+class DropboxApi::Endpoints::Files::Search < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/search.rb#22
+ def search(query, options = T.unsafe(nil), match_field_options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search.rb#7
+DropboxApi::Endpoints::Files::Search::ErrorType = DropboxApi::Errors::SearchError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search.rb#4
+DropboxApi::Endpoints::Files::Search::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search.rb#5
+DropboxApi::Endpoints::Files::Search::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search.rb#6
+DropboxApi::Endpoints::Files::Search::ResultType = DropboxApi::Results::SearchV2Result
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search_continue.rb#3
+class DropboxApi::Endpoints::Files::SearchContinue < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/search_continue.rb#19
+ def search_continue(cursor); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search_continue.rb#7
+DropboxApi::Endpoints::Files::SearchContinue::ErrorType = DropboxApi::Errors::SearchError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search_continue.rb#4
+DropboxApi::Endpoints::Files::SearchContinue::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search_continue.rb#5
+DropboxApi::Endpoints::Files::SearchContinue::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/search_continue.rb#6
+DropboxApi::Endpoints::Files::SearchContinue::ResultType = DropboxApi::Results::SearchV2Result
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload.rb#3
+class DropboxApi::Endpoints::Files::Upload < ::DropboxApi::Endpoints::ContentUpload
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/upload.rb#50
+ def upload(path, content, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload.rb#7
+DropboxApi::Endpoints::Files::Upload::ErrorType = DropboxApi::Errors::UploadError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload.rb#4
+DropboxApi::Endpoints::Files::Upload::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload.rb#5
+DropboxApi::Endpoints::Files::Upload::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload.rb#6
+DropboxApi::Endpoints::Files::Upload::ResultType = DropboxApi::Metadata::File
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_append_v2.rb#3
+class DropboxApi::Endpoints::Files::UploadSessionAppendV2 < ::DropboxApi::Endpoints::ContentUpload
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_append_v2.rb#39
+ def upload_session_append_v2(cursor, content, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_append_v2.rb#7
+DropboxApi::Endpoints::Files::UploadSessionAppendV2::ErrorType = DropboxApi::Errors::UploadSessionLookupError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_append_v2.rb#4
+DropboxApi::Endpoints::Files::UploadSessionAppendV2::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_append_v2.rb#5
+DropboxApi::Endpoints::Files::UploadSessionAppendV2::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_append_v2.rb#6
+DropboxApi::Endpoints::Files::UploadSessionAppendV2::ResultType = DropboxApi::Results::VoidResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_finish.rb#3
+class DropboxApi::Endpoints::Files::UploadSessionFinish < ::DropboxApi::Endpoints::ContentUpload
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_finish.rb#22
+ def upload_session_finish(cursor, commit, content = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_finish.rb#7
+DropboxApi::Endpoints::Files::UploadSessionFinish::ErrorType = DropboxApi::Errors::UploadSessionFinishError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_finish.rb#4
+DropboxApi::Endpoints::Files::UploadSessionFinish::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_finish.rb#5
+DropboxApi::Endpoints::Files::UploadSessionFinish::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_finish.rb#6
+DropboxApi::Endpoints::Files::UploadSessionFinish::ResultType = DropboxApi::Metadata::File
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_start.rb#3
+class DropboxApi::Endpoints::Files::UploadSessionStart < ::DropboxApi::Endpoints::ContentUpload
+ include ::DropboxApi::OptionsValidator
+
+ # Upload sessions allow you to upload a single file in one or more
+ # requests, for example where the size of the file is greater than 150 MB.
+ #
+ # This call starts a new upload session with the given data. You can then
+ # use {Client#upload_session_append_v2} to add more data and
+ # {Client#upload_session_finish} to save all the data to a file in Dropbox.
+ #
+ # A single request should not upload more than 150 MB of file contents.
+ #
+ # @option options
+ # @return [DropboxApi::Metadata::UploadSessionCursor] The session cursor
+ # that you can use to continue the upload afterwards.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_start.rb#26
+ def upload_session_start(content, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_start.rb#7
+DropboxApi::Endpoints::Files::UploadSessionStart::ErrorType = T.let(T.unsafe(nil), T.untyped)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_start.rb#4
+DropboxApi::Endpoints::Files::UploadSessionStart::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_start.rb#5
+DropboxApi::Endpoints::Files::UploadSessionStart::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/files/upload_session_start.rb#6
+DropboxApi::Endpoints::Files::UploadSessionStart::ResultType = DropboxApi::Results::UploadSessionStart
+
+# source://dropbox_api//lib/dropbox_api/endpoints/rpc.rb#3
+class DropboxApi::Endpoints::Rpc < ::DropboxApi::Endpoints::Base
+ # source://dropbox_api//lib/dropbox_api/endpoints/rpc.rb#4
+ def build_connection; end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/rpc.rb#10
+ def build_request(params); end
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/rpc.rb#18
+ def request_body(params); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/rpc_content.rb#3
+class DropboxApi::Endpoints::RpcContent < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/rpc_content.rb#4
+ def build_connection; end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/rpc_notify.rb#3
+class DropboxApi::Endpoints::RpcNotify < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/rpc_notify.rb#4
+ def build_connection; end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#2
+module DropboxApi::Endpoints::Sharing; end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#3
+class DropboxApi::Endpoints::Sharing::AddFileMember < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#34
+ def add_file_member(file, members, options = T.unsafe(nil)); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#49
+ def build_members_param(members); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#7
+DropboxApi::Endpoints::Sharing::AddFileMember::ErrorType = DropboxApi::Errors::AddFileMemberError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#4
+DropboxApi::Endpoints::Sharing::AddFileMember::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#5
+DropboxApi::Endpoints::Sharing::AddFileMember::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_file_member.rb#6
+DropboxApi::Endpoints::Sharing::AddFileMember::ResultType = DropboxApi::Results::AddFileMemberResultList
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_folder_member.rb#3
+class DropboxApi::Endpoints::Sharing::AddFolderMember < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_folder_member.rb#39
+ def add_folder_member(folder_id, members, options = T.unsafe(nil)); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_folder_member.rb#52
+ def build_members_param(members); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_folder_member.rb#7
+DropboxApi::Endpoints::Sharing::AddFolderMember::ErrorType = DropboxApi::Errors::AddFolderMemberError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_folder_member.rb#4
+DropboxApi::Endpoints::Sharing::AddFolderMember::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_folder_member.rb#5
+DropboxApi::Endpoints::Sharing::AddFolderMember::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/add_folder_member.rb#6
+DropboxApi::Endpoints::Sharing::AddFolderMember::ResultType = DropboxApi::Results::VoidResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb#3
+class DropboxApi::Endpoints::Sharing::CreateSharedLinkWithSettings < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # Create a shared link with custom settings. If no settings are given then
+ # the default visibility is :public. (The resolved
+ # visibility, though, may depend on other aspects such as team and shared
+ # folder settings).
+ #
+ # NOTE: The `settings` parameter will only work for pro, business or
+ # enterprise accounts. It will return no permission error otherwise.
+ #
+ # @option settings
+ # @option settings
+ # @option settings
+ # @param path [String] The path to be shared by the shared link.
+ # @param settings [SharedLinkSettings] The requested settings for the newly
+ # created shared link This field is optional.
+ # @return [DropboxApi::Metadata::SharedLinkMetadata]
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb#32
+ def create_shared_link_with_settings(path, settings = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb#7
+DropboxApi::Endpoints::Sharing::CreateSharedLinkWithSettings::ErrorType = DropboxApi::Errors::CreateSharedLinkWithSettingsError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb#4
+DropboxApi::Endpoints::Sharing::CreateSharedLinkWithSettings::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb#5
+DropboxApi::Endpoints::Sharing::CreateSharedLinkWithSettings::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb#6
+DropboxApi::Endpoints::Sharing::CreateSharedLinkWithSettings::ResultType = DropboxApi::Metadata::SharedLinkMetadata
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb#3
+class DropboxApi::Endpoints::Sharing::GetSharedLinkMetadata < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # Get the Metadata for a shared link
+ #
+ # If a preview url is given, returns the shared file or folder
+ # that is represent by that link.
+ #
+ # @option options
+ # @option options
+ # @return [SharedFileMembers]
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb#23
+ def get_shared_link_metadata(preview_link, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb#7
+DropboxApi::Endpoints::Sharing::GetSharedLinkMetadata::ErrorType = DropboxApi::Errors::SharedLinkError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb#4
+DropboxApi::Endpoints::Sharing::GetSharedLinkMetadata::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb#5
+DropboxApi::Endpoints::Sharing::GetSharedLinkMetadata::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb#6
+DropboxApi::Endpoints::Sharing::GetSharedLinkMetadata::ResultType = DropboxApi::Metadata::SharedLinkMetadata
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_file_members.rb#3
+class DropboxApi::Endpoints::Sharing::ListFileMembers < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # Use to obtain the members who have been invited to a file, both
+ # inherited and uninherited members.
+ #
+ # Apps must have full Dropbox access to use this endpoint.
+ #
+ # @example List file members.
+ # client.list_file_members "1231273663"
+ # @example List file members, with detail of permission to make owner.
+ # client.list_file_members "1231273663", [:make_owner]
+ # @example List file members, using the path instead of file ID.
+ # client.list_file_members "/my/file.pdf"
+ # @option options
+ # @option options
+ # @param file_id [String] The ID for the shared file.
+ # @param actions [Array] This is an optional list of actions. The permissions for the actions
+ # requested will be included in the result.
+ # @return [SharedFileMembers] Shared file user and group membership.
+ # @see Metadata::MemberActionList
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_file_members.rb#37
+ def list_file_members(file_id, actions = T.unsafe(nil), options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_file_members.rb#7
+DropboxApi::Endpoints::Sharing::ListFileMembers::ErrorType = DropboxApi::Errors::SharingFileAccessError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_file_members.rb#4
+DropboxApi::Endpoints::Sharing::ListFileMembers::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_file_members.rb#5
+DropboxApi::Endpoints::Sharing::ListFileMembers::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_file_members.rb#6
+DropboxApi::Endpoints::Sharing::ListFileMembers::ResultType = DropboxApi::Results::SharedFileMembers
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_folder_members.rb#3
+class DropboxApi::Endpoints::Sharing::ListFolderMembers < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # Returns shared folder membership by its folder ID.
+ #
+ # Apps must have full Dropbox access to use this endpoint.
+ #
+ # @example List folder members.
+ # client.list_folder_members "1231273663"
+ # @example List folder members, with detail of permission to make owner.
+ # client.list_folder_members "1231273663", [:make_owner]
+ # @option options
+ # @param folder_id [String] The ID for the shared folder.
+ # @param actions [Array] This is an optional list of actions. The permissions for the actions
+ # requested will be included in the result.
+ # @return [SharedFolderMembers] Shared folder user and group membership.
+ # @see Metadata::MemberActionList
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_folder_members.rb#30
+ def list_folder_members(folder_id, actions = T.unsafe(nil), options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_folder_members.rb#7
+DropboxApi::Endpoints::Sharing::ListFolderMembers::ErrorType = DropboxApi::Errors::SharedFolderAccessError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_folder_members.rb#4
+DropboxApi::Endpoints::Sharing::ListFolderMembers::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_folder_members.rb#5
+DropboxApi::Endpoints::Sharing::ListFolderMembers::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_folder_members.rb#6
+DropboxApi::Endpoints::Sharing::ListFolderMembers::ResultType = DropboxApi::Results::SharedFolderMembers
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_shared_links.rb#3
+class DropboxApi::Endpoints::Sharing::ListSharedLinks < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # List shared links of this user.
+ #
+ # If no path is given or the path is empty, returns a list of all shared
+ # links for the current user.
+ #
+ # If a non-empty path is given, returns a list of all shared links that
+ # allow access to the given path - direct links to the given path and
+ # links to parent folders of the given path. Links to parent folders can
+ # be suppressed by setting direct_only to true.
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @return [ListSharedLinksResult]
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_shared_links.rb#25
+ def list_shared_links(options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_shared_links.rb#7
+DropboxApi::Endpoints::Sharing::ListSharedLinks::ErrorType = DropboxApi::Errors::ListSharedLinksError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_shared_links.rb#4
+DropboxApi::Endpoints::Sharing::ListSharedLinks::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_shared_links.rb#5
+DropboxApi::Endpoints::Sharing::ListSharedLinks::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/list_shared_links.rb#6
+DropboxApi::Endpoints::Sharing::ListSharedLinks::ResultType = DropboxApi::Results::ListSharedLinksResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb#3
+class DropboxApi::Endpoints::Sharing::RevokeSharedLink < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb#18
+ def revoke_shared_link(url); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb#7
+DropboxApi::Endpoints::Sharing::RevokeSharedLink::ErrorType = DropboxApi::Errors::RevokeSharedLinkError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb#4
+DropboxApi::Endpoints::Sharing::RevokeSharedLink::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb#5
+DropboxApi::Endpoints::Sharing::RevokeSharedLink::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb#6
+DropboxApi::Endpoints::Sharing::RevokeSharedLink::ResultType = DropboxApi::Results::VoidResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/share_folder.rb#3
+class DropboxApi::Endpoints::Sharing::ShareFolder < ::DropboxApi::Endpoints::Rpc
+ include ::DropboxApi::OptionsValidator
+
+ # Share a folder with collaborators.
+ #
+ # Most sharing will be completed synchronously. Large folders will be
+ # completed asynchronously. To make testing the async case repeatable, set
+ # `force_async`.
+ #
+ # If a ShareFolderLaunch.async_job_id is returned, you'll need to call
+ # check_share_job_status until the action completes to get the metadata
+ # for the folder.
+ #
+ # Apps must have full Dropbox access to use this endpoint.
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param path [String] The path to the folder to share. If it does not
+ # exist, then a new one is created.
+ # @return [DropboxApi::Results::ShareFolderLaunch] Shared folder metadata.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/share_folder.rb#37
+ def share_folder(path, options = T.unsafe(nil)); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/share_folder.rb#7
+DropboxApi::Endpoints::Sharing::ShareFolder::ErrorType = DropboxApi::Errors::ShareFolderError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/share_folder.rb#4
+DropboxApi::Endpoints::Sharing::ShareFolder::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/share_folder.rb#5
+DropboxApi::Endpoints::Sharing::ShareFolder::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/share_folder.rb#6
+DropboxApi::Endpoints::Sharing::ShareFolder::ResultType = DropboxApi::Results::ShareFolderLaunch
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/unshare_file.rb#3
+class DropboxApi::Endpoints::Sharing::UnshareFile < ::DropboxApi::Endpoints::Rpc
+ # source://dropbox_api//lib/dropbox_api/endpoints/sharing/unshare_file.rb#14
+ def unshare_file(file); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/unshare_file.rb#7
+DropboxApi::Endpoints::Sharing::UnshareFile::ErrorType = DropboxApi::Errors::UnshareFileError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/unshare_file.rb#4
+DropboxApi::Endpoints::Sharing::UnshareFile::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/unshare_file.rb#5
+DropboxApi::Endpoints::Sharing::UnshareFile::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/sharing/unshare_file.rb#6
+DropboxApi::Endpoints::Sharing::UnshareFile::ResultType = DropboxApi::Results::VoidResult
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account.rb#2
+module DropboxApi::Endpoints::Users; end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account.rb#3
+class DropboxApi::Endpoints::Users::GetAccount < ::DropboxApi::Endpoints::Rpc
+ # Get information about a user's account.
+ #
+ # @param account_id [String] A user's account identifier.
+ # @return [BasicAccount] Basic information about any account.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/users/get_account.rb#13
+ def get_account(account_id); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account.rb#7
+DropboxApi::Endpoints::Users::GetAccount::ErrorType = DropboxApi::Errors::GetAccountError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account.rb#4
+DropboxApi::Endpoints::Users::GetAccount::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account.rb#5
+DropboxApi::Endpoints::Users::GetAccount::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account.rb#6
+DropboxApi::Endpoints::Users::GetAccount::ResultType = DropboxApi::Metadata::BasicAccount
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account_batch.rb#3
+class DropboxApi::Endpoints::Users::GetAccountBatch < ::DropboxApi::Endpoints::Rpc
+ # Get information about multiple user accounts. At most 300 accounts may
+ # be queried per request.
+ #
+ # @param account_ids [Array] List of user account identifiers. Should not
+ # contain any duplicate account IDs.
+ # @return [Array] Basic information about any account.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/users/get_account_batch.rb#15
+ def get_account_batch(account_ids); end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account_batch.rb#7
+DropboxApi::Endpoints::Users::GetAccountBatch::ErrorType = DropboxApi::Errors::GetAccountError
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account_batch.rb#4
+DropboxApi::Endpoints::Users::GetAccountBatch::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account_batch.rb#5
+DropboxApi::Endpoints::Users::GetAccountBatch::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_account_batch.rb#6
+DropboxApi::Endpoints::Users::GetAccountBatch::ResultType = DropboxApi::Results::BasicAccountBatch
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_current_account.rb#3
+class DropboxApi::Endpoints::Users::GetCurrentAccount < ::DropboxApi::Endpoints::Rpc
+ # Get information about the current user's account.
+ #
+ # @return [BasicAccount] Detailed information about the current user's account.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/users/get_current_account.rb#12
+ def get_current_account; end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_current_account.rb#7
+DropboxApi::Endpoints::Users::GetCurrentAccount::ErrorType = T.let(T.unsafe(nil), T.untyped)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_current_account.rb#4
+DropboxApi::Endpoints::Users::GetCurrentAccount::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_current_account.rb#5
+DropboxApi::Endpoints::Users::GetCurrentAccount::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_current_account.rb#6
+DropboxApi::Endpoints::Users::GetCurrentAccount::ResultType = DropboxApi::Metadata::BasicAccount
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_space_usage.rb#3
+class DropboxApi::Endpoints::Users::GetSpaceUsage < ::DropboxApi::Endpoints::Rpc
+ # Get the space usage information for the current user's account.
+ #
+ # @return [SpaceUsage] Information about a user's space usage and quota.
+ #
+ # source://dropbox_api//lib/dropbox_api/endpoints/users/get_space_usage.rb#12
+ def get_space_usage; end
+end
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_space_usage.rb#7
+DropboxApi::Endpoints::Users::GetSpaceUsage::ErrorType = T.let(T.unsafe(nil), T.untyped)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_space_usage.rb#4
+DropboxApi::Endpoints::Users::GetSpaceUsage::Method = T.let(T.unsafe(nil), Symbol)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_space_usage.rb#5
+DropboxApi::Endpoints::Users::GetSpaceUsage::Path = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/endpoints/users/get_space_usage.rb#6
+DropboxApi::Endpoints::Users::GetSpaceUsage::ResultType = DropboxApi::Metadata::SpaceUsage
+
+# source://dropbox_api//lib/dropbox_api/errors/http_error.rb#3
+module DropboxApi::Errors; end
+
+# source://dropbox_api//lib/dropbox_api/errors/add_file_member_error.rb#3
+class DropboxApi::Errors::AddFileMemberError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/add_file_member_error.rb#4
+DropboxApi::Errors::AddFileMemberError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/add_folder_member_error.rb#3
+class DropboxApi::Errors::AddFolderMemberError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/add_folder_member_error.rb#4
+DropboxApi::Errors::AddFolderMemberError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/add_member_selector_error.rb#3
+class DropboxApi::Errors::AddMemberSelectorError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/add_member_selector_error.rb#4
+DropboxApi::Errors::AddMemberSelectorError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/already_shared_error.rb#3
+class DropboxApi::Errors::AlreadySharedError < ::DropboxApi::Errors::BasicError
+ # source://dropbox_api//lib/dropbox_api/errors/already_shared_error.rb#4
+ def shared_folder; end
+end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#32
+class DropboxApi::Errors::BadPathError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#3
+class DropboxApi::Errors::BasicError < ::StandardError
+ # @return [BasicError] a new instance of BasicError
+ #
+ # source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#4
+ def initialize(message, metadata); end
+
+ class << self
+ # source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#10
+ def build(message, metadata); end
+
+ # source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#20
+ def find_subtype(metadata); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#33
+class DropboxApi::Errors::CantCopySharedFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#34
+class DropboxApi::Errors::CantMoveFolderIntoItselfError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#35
+class DropboxApi::Errors::CantNestSharedFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#36
+class DropboxApi::Errors::CantShareOutsideTeamError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#37
+class DropboxApi::Errors::ContainsSharedFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#38
+class DropboxApi::Errors::ConversionError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/create_file_request_error.rb#3
+class DropboxApi::Errors::CreateFileRequestError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/create_file_request_error.rb#4
+DropboxApi::Errors::CreateFileRequestError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/create_folder_batch_error.rb#3
+class DropboxApi::Errors::CreateFolderBatchError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/create_folder_batch_error.rb#4
+DropboxApi::Errors::CreateFolderBatchError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/create_folder_error.rb#3
+class DropboxApi::Errors::CreateFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/create_folder_error.rb#4
+DropboxApi::Errors::CreateFolderError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/create_shared_link_with_settings_error.rb#3
+class DropboxApi::Errors::CreateSharedLinkWithSettingsError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/create_shared_link_with_settings_error.rb#4
+DropboxApi::Errors::CreateSharedLinkWithSettingsError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#39
+class DropboxApi::Errors::CursorClosedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#40
+class DropboxApi::Errors::CursorNotClosedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/delete_error.rb#3
+class DropboxApi::Errors::DeleteError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/delete_error.rb#4
+DropboxApi::Errors::DeleteError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#41
+class DropboxApi::Errors::DisallowedNameError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#42
+class DropboxApi::Errors::DisallowedSharedLinkPolicyError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/download_error.rb#3
+class DropboxApi::Errors::DownloadError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/download_error.rb#4
+DropboxApi::Errors::DownloadError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#43
+class DropboxApi::Errors::DownloadFailedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#44
+class DropboxApi::Errors::EmailUnverifiedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/expired_access_token_error.rb#3
+class DropboxApi::Errors::ExpiredAccessTokenError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#45
+class DropboxApi::Errors::FileAncestorConflictError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#46
+class DropboxApi::Errors::FileConflictError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/file_member_action_error.rb#3
+class DropboxApi::Errors::FileMemberActionError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/file_member_action_error.rb#4
+DropboxApi::Errors::FileMemberActionError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#47
+class DropboxApi::Errors::FolderConflictError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/get_account_error.rb#3
+class DropboxApi::Errors::GetAccountError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/get_account_error.rb#4
+DropboxApi::Errors::GetAccountError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/get_copy_reference_error.rb#3
+class DropboxApi::Errors::GetCopyReferenceError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/get_copy_reference_error.rb#4
+DropboxApi::Errors::GetCopyReferenceError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/get_metadata_error.rb#3
+class DropboxApi::Errors::GetMetadataError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/get_metadata_error.rb#4
+DropboxApi::Errors::GetMetadataError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#48
+class DropboxApi::Errors::GroupDeletedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#49
+class DropboxApi::Errors::GroupNotOnTeamError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/http_error.rb#4
+class DropboxApi::Errors::HttpError < ::StandardError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#50
+class DropboxApi::Errors::InProgressError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#51
+class DropboxApi::Errors::InsideAppFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#52
+class DropboxApi::Errors::InsideOsxPackageError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#53
+class DropboxApi::Errors::InsidePublicFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#54
+class DropboxApi::Errors::InsideSharedFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#55
+class DropboxApi::Errors::InsufficientPlanError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#56
+class DropboxApi::Errors::InsufficientSpaceError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#57
+class DropboxApi::Errors::InternalError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#58
+class DropboxApi::Errors::InvalidCommentError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#59
+class DropboxApi::Errors::InvalidCopyReferenceError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#60
+class DropboxApi::Errors::InvalidCursorError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#61
+class DropboxApi::Errors::InvalidDropboxIdError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#62
+class DropboxApi::Errors::InvalidEmailError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#63
+class DropboxApi::Errors::InvalidFileError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#64
+class DropboxApi::Errors::InvalidIdError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#65
+class DropboxApi::Errors::InvalidMemberError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#66
+class DropboxApi::Errors::InvalidPathError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#67
+class DropboxApi::Errors::InvalidRevisionError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#68
+class DropboxApi::Errors::InvalidSettingsError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#69
+class DropboxApi::Errors::InvalidUrlError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#70
+class DropboxApi::Errors::IsAppFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#71
+class DropboxApi::Errors::IsFileError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#72
+class DropboxApi::Errors::IsFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#73
+class DropboxApi::Errors::IsOsxPackageError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#74
+class DropboxApi::Errors::IsPublicFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/list_folder_continue_error.rb#3
+class DropboxApi::Errors::ListFolderContinueError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/list_folder_continue_error.rb#4
+DropboxApi::Errors::ListFolderContinueError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/list_folder_error.rb#3
+class DropboxApi::Errors::ListFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/list_folder_error.rb#4
+DropboxApi::Errors::ListFolderError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/list_folder_longpoll_error.rb#3
+class DropboxApi::Errors::ListFolderLongpollError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/list_folder_longpoll_error.rb#4
+DropboxApi::Errors::ListFolderLongpollError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/list_revisions_error.rb#3
+class DropboxApi::Errors::ListRevisionsError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/list_revisions_error.rb#4
+DropboxApi::Errors::ListRevisionsError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/list_shared_links_error.rb#3
+class DropboxApi::Errors::ListSharedLinksError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/list_shared_links_error.rb#4
+DropboxApi::Errors::ListSharedLinksError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/lookup_error.rb#3
+class DropboxApi::Errors::LookupError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/lookup_error.rb#4
+DropboxApi::Errors::LookupError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#75
+class DropboxApi::Errors::MalformedPathError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#76
+class DropboxApi::Errors::NoAccountError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#77
+class DropboxApi::Errors::NoPermissionError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#78
+class DropboxApi::Errors::NoWritePermissionError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#79
+class DropboxApi::Errors::NotAMemberError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#80
+class DropboxApi::Errors::NotFileError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#81
+class DropboxApi::Errors::NotFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#82
+class DropboxApi::Errors::NotFoundError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/poll_error.rb#3
+class DropboxApi::Errors::PollError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/poll_error.rb#4
+DropboxApi::Errors::PollError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/preview_error.rb#3
+class DropboxApi::Errors::PreviewError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/preview_error.rb#4
+DropboxApi::Errors::PreviewError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#83
+class DropboxApi::Errors::RateLimitError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/relocation_batch_entry_error.rb#3
+class DropboxApi::Errors::RelocationBatchEntryError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/relocation_batch_entry_error.rb#4
+DropboxApi::Errors::RelocationBatchEntryError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/relocation_error.rb#3
+class DropboxApi::Errors::RelocationError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/relocation_error.rb#4
+DropboxApi::Errors::RelocationError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/restore_error.rb#3
+class DropboxApi::Errors::RestoreError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/restore_error.rb#4
+DropboxApi::Errors::RestoreError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#84
+class DropboxApi::Errors::RestrictedContentError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/revoke_shared_link_error.rb#3
+class DropboxApi::Errors::RevokeSharedLinkError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/revoke_shared_link_error.rb#4
+DropboxApi::Errors::RevokeSharedLinkError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/save_copy_reference_error.rb#3
+class DropboxApi::Errors::SaveCopyReferenceError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/save_copy_reference_error.rb#4
+DropboxApi::Errors::SaveCopyReferenceError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/save_url_error.rb#3
+class DropboxApi::Errors::SaveUrlError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/save_url_error.rb#4
+DropboxApi::Errors::SaveUrlError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/search_error.rb#3
+class DropboxApi::Errors::SearchError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/search_error.rb#4
+DropboxApi::Errors::SearchError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/settings_error.rb#3
+class DropboxApi::Errors::SettingsError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/settings_error.rb#4
+DropboxApi::Errors::SettingsError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/share_folder_error.rb#3
+class DropboxApi::Errors::ShareFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/share_folder_error.rb#4
+DropboxApi::Errors::ShareFolderError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/share_path_error.rb#3
+class DropboxApi::Errors::SharePathError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/share_path_error.rb#4
+DropboxApi::Errors::SharePathError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/shared_folder_access_error.rb#3
+class DropboxApi::Errors::SharedFolderAccessError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/shared_folder_access_error.rb#4
+DropboxApi::Errors::SharedFolderAccessError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#85
+class DropboxApi::Errors::SharedLinkAccessDeniedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#86
+class DropboxApi::Errors::SharedLinkAlreadyExistsError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/shared_link_error.rb#3
+class DropboxApi::Errors::SharedLinkError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/shared_link_error.rb#4
+DropboxApi::Errors::SharedLinkError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#88
+class DropboxApi::Errors::SharedLinkMalformedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#87
+class DropboxApi::Errors::SharedLinkNotFoundError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/sharing_file_access_error.rb#3
+class DropboxApi::Errors::SharingFileAccessError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/sharing_file_access_error.rb#4
+DropboxApi::Errors::SharingFileAccessError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/sharing_user_error.rb#3
+class DropboxApi::Errors::SharingUserError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/sharing_user_error.rb#4
+DropboxApi::Errors::SharingUserError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#89
+class DropboxApi::Errors::TeamFolderError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#90
+class DropboxApi::Errors::TeamPolicyDisallowsMemberPolicyError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/thumbnail_batch_error.rb#3
+class DropboxApi::Errors::ThumbnailBatchError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/thumbnail_batch_error.rb#4
+DropboxApi::Errors::ThumbnailBatchError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/thumbnail_error.rb#3
+class DropboxApi::Errors::ThumbnailError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/thumbnail_error.rb#4
+DropboxApi::Errors::ThumbnailError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#91
+class DropboxApi::Errors::TooManyFilesError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#92
+class DropboxApi::Errors::TooManyMembersError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#93
+class DropboxApi::Errors::TooManyPendingInvitesError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/too_many_requests_error.rb#3
+class DropboxApi::Errors::TooManyRequestsError < ::DropboxApi::Errors::BasicError
+ # Returns the value of attribute retry_after.
+ #
+ # source://dropbox_api//lib/dropbox_api/errors/too_many_requests_error.rb#7
+ def retry_after; end
+
+ # Sets the attribute retry_after
+ #
+ # @param value the value to set the attribute retry_after to.
+ #
+ # source://dropbox_api//lib/dropbox_api/errors/too_many_requests_error.rb#7
+ def retry_after=(_arg0); end
+
+ class << self
+ # source://dropbox_api//lib/dropbox_api/errors/too_many_requests_error.rb#9
+ def build(message, metadata); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/errors/too_many_requests_error.rb#15
+DropboxApi::Errors::TooManyRequestsError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#94
+class DropboxApi::Errors::TooManySharedFolderTargetsError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/too_many_requests_error.rb#4
+class DropboxApi::Errors::TooManyWriteOperationsError < ::DropboxApi::Errors::TooManyRequestsError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#95
+class DropboxApi::Errors::UnmountedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/unshare_file_error.rb#3
+class DropboxApi::Errors::UnshareFileError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/unshare_file_error.rb#4
+DropboxApi::Errors::UnshareFileError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#96
+class DropboxApi::Errors::UnsupportedContentError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#97
+class DropboxApi::Errors::UnsupportedExtensionError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#98
+class DropboxApi::Errors::UnsupportedImageError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#99
+class DropboxApi::Errors::UnsupportedLinkTypeError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/basic_error.rb#100
+class DropboxApi::Errors::UnverifiedDropboxId < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_error.rb#3
+class DropboxApi::Errors::UploadError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_error.rb#4
+DropboxApi::Errors::UploadError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_session_finish_error.rb#3
+class DropboxApi::Errors::UploadSessionFinishError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_session_finish_error.rb#4
+DropboxApi::Errors::UploadSessionFinishError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_session_lookup_error.rb#3
+class DropboxApi::Errors::UploadSessionLookupError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_session_lookup_error.rb#4
+DropboxApi::Errors::UploadSessionLookupError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_session_offset_error.rb#3
+class DropboxApi::Errors::UploadSessionOffsetError < ::DropboxApi::Errors::BasicError
+ # @return [UploadSessionOffsetError] a new instance of UploadSessionOffsetError
+ #
+ # source://dropbox_api//lib/dropbox_api/errors/upload_session_offset_error.rb#4
+ def initialize(message, metadata); end
+end
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_write_failed_error.rb#3
+class DropboxApi::Errors::UploadWriteFailedError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/upload_write_failed_error.rb#4
+DropboxApi::Errors::UploadWriteFailedError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/write_conflict_error.rb#3
+class DropboxApi::Errors::WriteConflictError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/write_conflict_error.rb#4
+DropboxApi::Errors::WriteConflictError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/errors/write_error.rb#3
+class DropboxApi::Errors::WriteError < ::DropboxApi::Errors::BasicError; end
+
+# source://dropbox_api//lib/dropbox_api/errors/write_error.rb#4
+DropboxApi::Errors::WriteError::ErrorSubtypes = T.let(T.unsafe(nil), Hash)
+
+# source://dropbox_api//lib/dropbox_api/metadata/base.rb#2
+module DropboxApi::Metadata; end
+
+# Example of a serialized {AccessLevel} object:
+#
+# ```json
+# {
+# ".tag": "viewer"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/access_level.rb#10
+class DropboxApi::Metadata::AccessLevel < ::DropboxApi::Metadata::Tag
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/access_level.rb#18
+ def valid_values; end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/access_level.rb#11
+DropboxApi::Metadata::AccessLevel::VALID_ACCESS_LEVELS = T.let(T.unsafe(nil), Array)
+
+# Example of a {AddFileMemberResult}:
+#
+# ```json
+# {
+# "member":{
+# ".tag": "email",
+# "email": "somebody@test.com"
+# },
+# "result": {
+# ".tag": "success",
+# "success": {
+# ".tag": "viewer"
+# }
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/add_file_member_result.rb#19
+class DropboxApi::Metadata::AddFileMemberResult < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def member; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def result; end
+end
+
+# Examples of serialized {AddMember} objects:
+#
+# ```json
+# {
+# "member": {
+# ".tag": "email",
+# "email": "justin@example.com"
+# },
+# "access_level": {
+# ".tag": "editor"
+# }
+# },
+# {
+# "member": {
+# ".tag": "dropbox_id",
+# "dropbox_id": "dbid:AAEufNrMPSPe0dMQijRP0N_aZtBJRm26W4Q"
+# },
+# "access_level": {
+# ".tag": "viewer"
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/add_member.rb#25
+class DropboxApi::Metadata::AddMember < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def access_level; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def member; end
+
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/add_member.rb#27
+ def build_from_string(member, access_level = T.unsafe(nil)); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/base.rb#3
+class DropboxApi::Metadata::Base
+ # Takes in a hash containing all the attributes required to initialize the
+ # object.
+ #
+ # Each hash entry should have a key which identifies a field and its value,
+ # so a valid call would be something like this:
+ #
+ # DropboxApi::Metadata::File.new({
+ # "name" => "a.jpg",
+ # "path_lower" => "/a.jpg",
+ # "path_display" => "/a.jpg",
+ # "id" => "id:evvfE6q6cK0AAAAAAAAB2w",
+ # "client_modified" => "2016-10-19T17:17:34Z",
+ # "server_modified" => "2016-10-19T17:17:34Z",
+ # "rev" => "28924061bdd",
+ # "size" => 396317
+ # })
+ #
+ # @param metadata [Hash]
+ # @raise [ArgumentError] If a required attribute is missing.
+ # @return [Base] a new instance of Base
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#34
+ def initialize(metadata); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#46
+ def serialized_field(field_name); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#40
+ def to_hash; end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#60
+ def []=(name, value); end
+
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#7
+ def field(name, type, *options); end
+
+ # Returns the value of attribute fields.
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#5
+ def fields; end
+ end
+end
+
+# Example of a serialized {BasicAccount} object:
+#
+# ```json
+# {
+# "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc",
+# "name": {
+# "given_name": "Franz",
+# "surname": "Ferdinand",
+# "familiar_name": "Franz",
+# "display_name": "Franz Ferdinand (Personal)"
+# },
+# "email": "franz@dropbox.com",
+# "email_verified": true,
+# "disabled": false,
+# "is_teammate": true,
+# "profile_photo_url": "https://dl-web.dropbox.com/account_photo/get/dbid%3AAAH4f99T0taONIb-OurWxbNQ6ywGRopQngc?vers=1453416696524&size=128x128",
+# "team_member_id": "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU",
+# "root_info": {
+# root_namespace_id: 7,
+# home_namespace_id: 1,
+# home_path: "/Franz Ferdinand"
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/basic_account.rb#27
+class DropboxApi::Metadata::BasicAccount < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def account_id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def disabled; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def email; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def email_verified; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def is_teammate; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def profile_photo_url; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def root_info; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def team_member_id; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/commit_info.rb#3
+class DropboxApi::Metadata::CommitInfo < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def autorename; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def client_modified; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def mode; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def mute; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path; end
+
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/commit_info.rb#11
+ def build_from_options(options); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/commit_info.rb#39
+ def build_client_modified(client_modified); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/commit_info.rb#28
+ def build_write_mode(write_mode); end
+ end
+end
+
+# Example of a serialized {Deleted} object:
+#
+# ```json
+# {
+# ".tag": "deleted",
+# "name": "file.txt",
+# "path_lower": "/file.txt",
+# "path_display": "/file.txt"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/deleted.rb#13
+class DropboxApi::Metadata::Deleted < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_display; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_lower; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/dimensions.rb#3
+class DropboxApi::Metadata::Dimensions < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def height; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def width; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/field.rb#3
+class DropboxApi::Metadata::Field
+ # @return [Field] a new instance of Field
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/field.rb#4
+ def initialize(type, options = T.unsafe(nil)); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/field.rb#9
+ def cast(object); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/field.rb#18
+ def force_cast(object); end
+end
+
+# Example of a serialized {File} object:
+#
+# ```json
+# {
+# ".tag": "file",
+# "name": "Prime_Numbers.txt",
+# "path_lower": "/homework/math/prime_numbers.txt",
+# "path_display": "/Homework/math/Prime_Numbers.txt",
+# "id": "id:a4ayc_80_OEAAAAAAAAAXw",
+# "client_modified": "2015-05-12T15:50:38Z",
+# "server_modified": "2015-05-12T15:50:38Z",
+# "rev": "a1c10ce0dd78",
+# "size": 7212,
+# "sharing_info": {
+# "read_only": true,
+# "parent_shared_folder_id": "84528192421",
+# "modified_by": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc"
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/file.rb#23
+class DropboxApi::Metadata::File < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def client_modified; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def content_hash; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def has_explicit_shared_members; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def media_info; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_display; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_lower; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def rev; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def server_modified; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def size; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/file.rb#36
+ def to_hash; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/file_categories_list.rb#4
+class DropboxApi::Metadata::FileCategoriesList < ::Array
+ # @return [FileCategoriesList] a new instance of FileCategoriesList
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/file_categories_list.rb#5
+ def initialize(list); end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/file_category.rb#4
+class DropboxApi::Metadata::FileCategory < ::DropboxApi::Metadata::Tag
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/file_category.rb#18
+ def valid_values; end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/file_category.rb#5
+DropboxApi::Metadata::FileCategory::VALID_VALUES = T.let(T.unsafe(nil), Array)
+
+# source://dropbox_api//lib/dropbox_api/metadata/file_extensions_list.rb#4
+class DropboxApi::Metadata::FileExtensionsList < ::Array
+ # @return [FileExtensionsList] a new instance of FileExtensionsList
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/file_extensions_list.rb#5
+ def initialize(data); end
+end
+
+# Example of a serialized {FileLinkMetadata} object:
+#
+# ```json
+# {
+# ".tag": "file",
+# "url": "https://www.dropbox.com/s/2sn712vy1ovegw8/Prime_Numbers.txt?dl=0",
+# "name": "Prime_Numbers.txt",
+# "link_permissions": {
+# "can_revoke": false,
+# "resolved_visibility": {
+# ".tag": "public"
+# },
+# "revoke_failure_reason": {
+# ".tag": "owner_only"
+# }
+# },
+# "client_modified": "2015-05-12T15:50:38Z",
+# "server_modified": "2015-05-12T15:50:38Z",
+# "rev": "a1c10ce0dd78",
+# "size": 7212,
+# "id": "id:a4ayc_80_OEAAAAAAAAAXw",
+# "path_lower": "/homework/math/prime_numbers.txt",
+# "team_member_info": {
+# "team_info": {
+# "id": "dbtid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I",
+# "name": "Acme, Inc."
+# },
+# "display_name": "Roger Rabbit",
+# "member_id": "dbmid:abcd1234"
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/file_link_metadata.rb#35
+class DropboxApi::Metadata::FileLinkMetadata < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def client_modified; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def content_owner_team_info; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def expires; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def link_permissions; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_lower; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def rev; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def server_modified; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def size; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def team_member_info; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def url; end
+end
+
+# Example of a serialized FileMemberAction:
+#
+# ```json
+# {
+# ".tag": "success",
+# "success": {
+# ".tag": "viewer"
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/file_member_action.rb#13
+class DropboxApi::Metadata::FileMemberAction < ::DropboxApi::Metadata::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/file_member_action.rb#15
+ def new(data); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/file_member_action.rb#22
+ def class_for(tag); end
+ end
+end
+
+# Example of a serialized {FileRequest} object:
+#
+# ```json
+# {
+# "id": "oaCAVmEyrqYnkZX9955Y",
+# "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y",
+# "title": "Homework submission",
+# "created": "2015-10-05T17:00:00Z",
+# "is_open": true,
+# "file_count": 3,
+# "destination": "/File Requests/Homework",
+# "deadline": {
+# "deadline": "2020-10-12T17:00:00Z",
+# "allow_late_uploads": {
+# ".tag": "seven_days"
+# }
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/file_request.rb#22
+class DropboxApi::Metadata::FileRequest < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def created; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def destination; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def file_count; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def is_open; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def title; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def url; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/file_status.rb#4
+class DropboxApi::Metadata::FileStatus < ::DropboxApi::Metadata::Tag
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/file_status.rb#10
+ def valid_values; end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/file_status.rb#5
+DropboxApi::Metadata::FileStatus::VALID_VALUES = T.let(T.unsafe(nil), Array)
+
+# Example of a serialized {Folder} object:
+#
+# ```json
+# {
+# "name": "arizona_baby",
+# "path_lower": "/arizona_baby",
+# "path_display": "/arizona_baby",
+# "id": "id:7eWkV5hcfzAAAAAAAAAAAQ"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/folder.rb#13
+class DropboxApi::Metadata::Folder < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_display; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_lower; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def sharing_info; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/folder.rb#20
+ def to_hash; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/folder_link_metadata.rb#3
+class DropboxApi::Metadata::FolderLinkMetadata < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def content_owner_team_info; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def expires; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def link_permissions; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_lower; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def team_member_info; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def url; end
+end
+
+# Example of a serialized {FolderSharingInfo} object:
+#
+# ```json
+# {
+# "read_only": false,
+# "parent_shared_folder_id": "84528192421"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/folder_sharing_info.rb#11
+class DropboxApi::Metadata::FolderSharingInfo < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def parent_shared_folder_id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def read_only; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def shared_folder_id; end
+end
+
+# Example of a serialized {LinkPermissions} object:
+#
+# ```json
+# {
+# "can_revoke": false,
+# "resolved_visibility": {
+# ".tag": "public"
+# },
+# "revoke_failure_reason": {
+# ".tag": "owner_only"
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/link_permissions.rb#16
+class DropboxApi::Metadata::LinkPermissions < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def can_revoke; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def requested_visibility; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def resolved_visibility; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def revoke_failure_reason; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/location.rb#3
+class DropboxApi::Metadata::Location < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def latitude; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def longitude; end
+end
+
+# Example of a serialized {MediaInfo} object:
+#
+# ```json
+# {
+# ".tag": "metadata",
+# "metadata": {...}
+# }
+# ```
+#
+# or:
+#
+# ```json
+# {
+# ".tag": "pending"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/media_info.rb#19
+class DropboxApi::Metadata::MediaInfo < ::DropboxApi::Metadata::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/media_info.rb#21
+ def new(data); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/media_info.rb#33
+ def class_for(tag); end
+ end
+end
+
+# Example of a serialized {MediaInfo} object:
+#
+# ```json
+# {
+# ".tag": "video",
+# "dimensions": {
+# "height": 1500,
+# "width": 1500
+# },
+# "location": {
+# "latitude": 10.123456,
+# "longitude": 5.123456
+# }
+# "time_taken": "2016-09-04T17:00:27Z",
+# "duration": 6000
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/media_metadata.rb#20
+class DropboxApi::Metadata::MediaMetadata < ::DropboxApi::Metadata::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/media_metadata.rb#22
+ def new(data); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/media_metadata.rb#29
+ def class_for(tag); end
+ end
+end
+
+# Examples of serialized {AddMember} objects:
+#
+# ```json
+# [
+# {
+# ".tag": "email",
+# "email": "justin@example.com"
+# }, {
+# ".tag": "dropbox_id",
+# "dropbox_id": "dbid:AAEufNrMPSPe0dMQijRP0N_aZtBJRm26W4Q"
+# }
+# ]
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/member.rb#16
+class DropboxApi::Metadata::Member < ::DropboxApi::Metadata::Base
+ # @return [Member] a new instance of Member
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/member.rb#17
+ def initialize(member); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/member.rb#30
+ def to_hash; end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/member.rb#46
+ def hash_from_dropbox_id(dropbox_id); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/member.rb#53
+ def hash_from_email(email); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/member.rb#36
+ def hash_from_email_or_dropbox_id(email_or_id); end
+end
+
+# An action will be one of the following:
+#
+# - `:leave_a_copy`: Allow the member to keep a copy of the folder when
+# removing.
+# - `:make_editor`: Make the member an editor of the folder.
+# - `:make_owner`: Make the member an owner of the folder.
+# - `:make_viewer`: Make the member a viewer of the folder.
+# - `:make_viewer_no_comment`: Make the member a viewer of the folder without
+# commenting permissions.
+# - `:remove`: Remove the member from the folder.
+#
+# Example of a serialized {MemberAction} object:
+#
+# ```json
+# {
+# ".tag": "leave_a_copy"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/member_action.rb#21
+class DropboxApi::Metadata::MemberAction < ::DropboxApi::Metadata::Tag
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/member_action.rb#31
+ def valid_values; end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/member_action.rb#22
+DropboxApi::Metadata::MemberAction::VALID_MEMBER_ACTIONS = T.let(T.unsafe(nil), Array)
+
+# source://dropbox_api//lib/dropbox_api/metadata/member_action_list.rb#3
+class DropboxApi::Metadata::MemberActionList < ::Array
+ # Builds a list of actions for a shared folder.
+ #
+ # @example
+ # DropboxApi::Metadata::MemberActionList.new([:leave_a_copy, :make_editor])
+ # # => [:leave_a_copy, :make_editor]
+ # @return [MemberActionList] a new instance of MemberActionList
+ # @see Metadata::MemberAction
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/member_action_list.rb#10
+ def initialize(list); end
+end
+
+# This is an example of a serialized {MemberPermission}:
+#
+# ```json
+# {
+# "action": {
+# ".tag": "remove"
+# },
+# "allow": false,
+# "reason": {
+# ".tag": "target_is_self"
+# }
+# }
+# ```
+#
+# This is normally contained in a {MemberPermissionList} object.
+#
+# source://dropbox_api//lib/dropbox_api/metadata/member_permission.rb#18
+class DropboxApi::Metadata::MemberPermission < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def action; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def allow; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def reason; end
+end
+
+# This represents a collection of permissions on allowed on a
+# shared file or folder.
+#
+# This is an example of a serialized {MemberActionList}:
+# ```json
+# [{
+# "action": {
+# ".tag": "remove"
+# },
+# "allow": false,
+# "reason": {
+# ".tag": "target_is_self"
+# }
+# }, {
+# "action": {
+# ".tag": "make_owner"
+# },
+# "allow": false,
+# "reason": {
+# ".tag": "target_is_self"
+# }
+# }]
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/member_permission_list.rb#26
+class DropboxApi::Metadata::MemberPermissionList < ::Array
+ # @return [MemberPermissionList] a new instance of MemberPermissionList
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/member_permission_list.rb#27
+ def initialize(list); end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/metadata_v2.rb#4
+class DropboxApi::Metadata::MetadataV2 < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def metadata; end
+end
+
+# Example of a serialized {Name} object:
+#
+# ```json
+# {
+# "given_name": "Franz",
+# "surname": "Ferdinand",
+# "familiar_name": "Franz",
+# "display_name": "Franz Ferdinand (Personal)"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/name.rb#13
+class DropboxApi::Metadata::Name < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def display_name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def familiar_name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def given_name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def surname; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/namespace_id.rb#3
+class DropboxApi::Metadata::NamespaceId < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def namespace_id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/namespace_id.rb#6
+ def to_hash; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/parent_folder_access_info.rb#3
+class DropboxApi::Metadata::ParentFolderAccessInfo < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def folder_name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def permissions; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def shared_folder_id; end
+end
+
+# Example of a serialized {PhotoMetadata} object:
+#
+# ```json
+# {
+# ".tag": "photo",
+# "dimensions": {
+# "height": 1500,
+# "width": 1500
+# },
+# "location": {
+# "latitude": 10.123456,
+# "longitude": 5.123456
+# }
+# "time_taken": "2016-09-04T17:00:27Z"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/photo_metadata.rb#19
+class DropboxApi::Metadata::PhotoMetadata < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def dimensions; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def location; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def time_taken; end
+end
+
+# This class is used as an adapter so we can create an object of the pertinent
+# class when we need to infer the type from the data.
+#
+# For example, calling `Resource.new({".tag" => "file", :name => ...})` will
+# instantiate a `File` object.
+#
+# So this could initalize an object of either `File`, `Folder` or `Deleted`.
+#
+# source://dropbox_api//lib/dropbox_api/metadata/resource.rb#10
+class DropboxApi::Metadata::Resource
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/resource.rb#12
+ def new(data); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/resource.rb#18
+ def class_for(tag); end
+ end
+end
+
+# Example of a serialized {RootInfo} object:
+#
+# ```json
+# {
+# ".tag":"user",
+# "root_namespace_id":"42",
+# "home_namespace_id":"42"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/root_info.rb#12
+class DropboxApi::Metadata::RootInfo < ::DropboxApi::Metadata::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/root_info.rb#14
+ def new(data); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/root_info.rb#20
+ def class_for(tag); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/search_match_field_options.rb#4
+class DropboxApi::Metadata::SearchMatchFieldOptions < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def include_highlights; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/search_match_type_v2.rb#4
+class DropboxApi::Metadata::SearchMatchTypeV2 < ::DropboxApi::Metadata::Tag
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/search_match_type_v2.rb#12
+ def valid_values; end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/search_match_type_v2.rb#5
+DropboxApi::Metadata::SearchMatchTypeV2::VALID_VALUES = T.let(T.unsafe(nil), Array)
+
+# source://dropbox_api//lib/dropbox_api/metadata/search_match_v2.rb#4
+class DropboxApi::Metadata::SearchMatchV2 < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def match_type; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def metadata; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/search_match_v2.rb#11
+ def resource; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/search_options.rb#4
+class DropboxApi::Metadata::SearchOptions < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def file_categories; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def file_extensions; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def file_status; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def filename_only; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def max_results; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def order_by; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/search_order_by.rb#4
+class DropboxApi::Metadata::SearchOrderBy < ::DropboxApi::Metadata::Tag
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/search_order_by.rb#10
+ def valid_values; end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/search_order_by.rb#5
+DropboxApi::Metadata::SearchOrderBy::VALID_VALUES = T.let(T.unsafe(nil), Array)
+
+# Example of a serialized {SharedFolder} object:
+#
+# ```json
+# {
+# ".tag" => "complete",
+# "access_type" => {".tag"=>"owner"},
+# "is_team_folder" => false,
+# "policy" => {
+# "acl_update_policy" => { ".tag" => "owner" },
+# "shared_link_policy" => { ".tag" => "anyone" }
+# },
+# "path_lower" => "/folder_a",
+# "name" => "folder_a",
+# "shared_folder_id" => "1231266557",
+# "time_invited" => "2016-06-04T10:00:35Z"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/shared_folder.rb#20
+class DropboxApi::Metadata::SharedFolder < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def access_type; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def is_team_folder; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def path_lower; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def policy; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def shared_folder_id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def time_invited; end
+end
+
+# Example of a serialized {SharedFolderPolicy} object:
+#
+# ```json
+# {
+# "acl_update_policy" => { ".tag" => "owner" },
+# "shared_link_policy" => { ".tag" => "anyone" }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/shared_folder_policy.rb#11
+class DropboxApi::Metadata::SharedFolderPolicy < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def acl_update_policy; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def shared_link_policy; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/shared_link.rb#3
+class DropboxApi::Metadata::SharedLink < ::DropboxApi::Metadata::Base
+ # @return [SharedLink] a new instance of SharedLink
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/shared_link.rb#6
+ def initialize(param); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/shared_link.rb#18
+ def check_validity; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/shared_link.rb#30
+ def to_hash; end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/shared_link.rb#36
+ def valid_keys; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/shared_link.rb#4
+DropboxApi::Metadata::SharedLink::VALID_KEYS = T.let(T.unsafe(nil), Array)
+
+# This class is used as an adapter so we can create an object of the pertinent
+# class when we need to infer the type from the data.
+#
+# This same pattern is used in `DropboxApi::Metadata::Resource`
+#
+# source://dropbox_api//lib/dropbox_api/metadata/shared_link_metadata.rb#7
+class DropboxApi::Metadata::SharedLinkMetadata
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/shared_link_metadata.rb#9
+ def new(data); end
+
+ private
+
+ # source://dropbox_api//lib/dropbox_api/metadata/shared_link_metadata.rb#15
+ def class_for(tag); end
+ end
+end
+
+# Example of a serialized {SpaceAllocation} object:
+#
+# ```json
+# {
+# ".tag": "individual",
+# "allocated": 2147483648
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/space_allocation.rb#11
+class DropboxApi::Metadata::SpaceAllocation < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def allocated; end
+end
+
+# Example of a serialized {SpaceUsage} object:
+#
+# ```json
+# {
+# "used": 167685342,
+# "allocation": {
+# ".tag": "individual",
+# "allocated": 2147483648
+# }
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/space_usage.rb#14
+class DropboxApi::Metadata::SpaceUsage < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def allocation; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def used; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/tag.rb#3
+class DropboxApi::Metadata::Tag < ::DropboxApi::Metadata::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/tag.rb#4
+ def new(data); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/tag.rb#17
+ def validate(value); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/team.rb#3
+class DropboxApi::Metadata::Team < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def name; end
+end
+
+# Example of a serialized {TeamMemberInfo} object:
+#
+# ```json
+# {
+# "team_info": {
+# "id": "dbtid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I",
+# "name": "Acme, Inc."
+# },
+# "display_name": "Roger Rabbit",
+# "member_id": "dbmid:abcd1234"
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/team_member_info.rb#15
+class DropboxApi::Metadata::TeamMemberInfo < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def display_name; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def member_id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def team_info; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/team_root_info.rb#3
+class DropboxApi::Metadata::TeamRootInfo < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def home_namespace_id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def home_path; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def root_namespace_id; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/thumbnail_batch_result_data.rb#3
+class DropboxApi::Metadata::ThumbnailBatchResultData < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def metadata; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def thumbnail; end
+end
+
+# This class is used as an adapter so we can create an object of the pertinent
+# class when we need to infer the type from the data.
+#
+# This same pattern is used in `DropboxApi::Metadata::Resource`
+#
+# So this could initalize an object of either `ThumbnailBatchResultData`
+# or `ThumbnailError`.
+#
+# source://dropbox_api//lib/dropbox_api/metadata/thumbnail_batch_result_entry.rb#10
+class DropboxApi::Metadata::ThumbnailBatchResultEntry
+ class << self
+ # source://dropbox_api//lib/dropbox_api/metadata/thumbnail_batch_result_entry.rb#12
+ def new(data); end
+ end
+end
+
+# Example of a serialized {UploadSessionCursor} object:
+#
+# ```json
+# {
+# "session_id": "AAAAAAAABCJ61k9yZZtn8Q",
+# "offset":9
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/upload_session_cursor.rb#11
+class DropboxApi::Metadata::UploadSessionCursor < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def offset; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/upload_session_cursor.rb#15
+ def offset=(n); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def session_id; end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/user_root_info.rb#3
+class DropboxApi::Metadata::UserRootInfo < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def home_namespace_id; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def root_namespace_id; end
+end
+
+# Example of a serialized {MediaInfo} object:
+#
+# ```json
+# {
+# ".tag": "video",
+# "dimensions": {
+# "height": 1500,
+# "width": 1500
+# },
+# "location": {
+# "latitude": 10.123456,
+# "longitude": 5.123456
+# }
+# "time_taken": "2016-09-04T17:00:27Z",
+# "duration": 6000
+# }
+# ```
+#
+# source://dropbox_api//lib/dropbox_api/metadata/video_metadata.rb#20
+class DropboxApi::Metadata::VideoMetadata < ::DropboxApi::Metadata::Base
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def dimensions; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def duration; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def location; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/base.rb#11
+ def time_taken; end
+end
+
+# Your intent when writing a file to some path. This is used to determine
+# what constitutes a conflict and what the autorename strategy is.
+#
+# In some situations, the conflict behavior is identical:
+#
+# - If the target path doesn't contain anything, the file is always
+# written; no conflict.
+# - If the target path contains a folder, it's always a conflict.
+# - If the target path contains a file with identical contents, nothing
+# gets written; no conflict.
+#
+# The conflict checking differs in the case where there's a file at the
+# target path with contents different from the contents you're trying to
+# write. The value will be one of the following datatypes:
+#
+# - `:add`: Do not overwrite an existing file if there is a conflict. The
+# autorename strategy is to append a number to the file name. For example,
+# "document.txt" might become "document (2).txt".
+# - `:overwrite`: Always overwrite the existing file. The autorename strategy
+# is the same as it is for add.
+# - `:update`: Overwrite if the given "rev" matches the existing file's
+# "rev". The autorename strategy is to append the string "conflicted copy"
+# to the file name. For example, "document.txt" might become
+# "document (conflicted copy).txt" or
+# "document (Panda's conflicted copy).txt".
+#
+# source://dropbox_api//lib/dropbox_api/metadata/write_mode.rb#28
+class DropboxApi::Metadata::WriteMode < ::DropboxApi::Metadata::Base
+ # @example
+ # DropboxApi::Metadata::WriteMode.new :add
+ # @example
+ # DropboxApi::Metadata::WriteMode.new :overwrite
+ # @example
+ # DropboxApi::Metadata::WriteMode.new :update, "a1c10ce0dd78"
+ # @example
+ # DropboxApi::Metadata::WriteMode.new({
+ # ".tag"=>"update",
+ # "update"=>"a1c10ce0dd78"
+ # })
+ # @return [WriteMode] a new instance of WriteMode
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/write_mode.rb#46
+ def initialize(write_mode, options = T.unsafe(nil)); end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/write_mode.rb#61
+ def check_validity; end
+
+ # source://dropbox_api//lib/dropbox_api/metadata/write_mode.rb#71
+ def to_hash; end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/metadata/write_mode.rb#77
+ def valid_mode?(value); end
+end
+
+# source://dropbox_api//lib/dropbox_api/metadata/write_mode.rb#29
+DropboxApi::Metadata::WriteMode::VALID_WRITE_MODES = T.let(T.unsafe(nil), Array)
+
+# source://dropbox_api//lib/dropbox_api/middleware/decode_result.rb#2
+module DropboxApi::MiddleWare; end
+
+# source://dropbox_api//lib/dropbox_api/middleware/decode_result.rb#3
+class DropboxApi::MiddleWare::DecodeResult < ::Faraday::Middleware
+ # source://dropbox_api//lib/dropbox_api/middleware/decode_result.rb#4
+ def call(rq_env); end
+
+ # source://dropbox_api//lib/dropbox_api/middleware/decode_result.rb#14
+ def decode(json); end
+end
+
+# source://dropbox_api//lib/dropbox_api/middleware/path_root.rb#3
+class DropboxApi::MiddleWare::PathRoot < ::Faraday::Middleware
+ # @return [PathRoot] a new instance of PathRoot
+ #
+ # source://dropbox_api//lib/dropbox_api/middleware/path_root.rb#6
+ def initialize(app, options = T.unsafe(nil)); end
+
+ # source://dropbox_api//lib/dropbox_api/middleware/path_root.rb#27
+ def call(env); end
+
+ # source://dropbox_api//lib/dropbox_api/middleware/path_root.rb#11
+ def namespace_id; end
+
+ # source://dropbox_api//lib/dropbox_api/middleware/path_root.rb#19
+ def namespace_id_header_value; end
+end
+
+# source://dropbox_api//lib/dropbox_api/middleware/path_root.rb#4
+DropboxApi::MiddleWare::PathRoot::HEADER_NAME = T.let(T.unsafe(nil), String)
+
+# source://dropbox_api//lib/dropbox_api/middleware/stack.rb#3
+class DropboxApi::MiddleWare::Stack
+ # @return [Stack] a new instance of Stack
+ #
+ # source://dropbox_api//lib/dropbox_api/middleware/stack.rb#4
+ def initialize; end
+
+ # source://dropbox_api//lib/dropbox_api/middleware/stack.rb#16
+ def adapter=(value); end
+
+ # source://dropbox_api//lib/dropbox_api/middleware/stack.rb#12
+ def append(&block); end
+
+ # @yield [connection]
+ #
+ # source://dropbox_api//lib/dropbox_api/middleware/stack.rb#20
+ def apply(connection); end
+
+ # source://dropbox_api//lib/dropbox_api/middleware/stack.rb#8
+ def prepend(&block); end
+end
+
+# source://dropbox_api//lib/dropbox_api/options_validator.rb#3
+module DropboxApi::OptionsValidator
+ # Takes in a list of valid option keys and a hash of options. If one of the
+ # keys in the hash is invalid an ArgumentError will be raised.
+ #
+ # @param valid_option_keys List of valid keys for the options hash.
+ # @param options [Hash] Options hash.
+ #
+ # source://dropbox_api//lib/dropbox_api/options_validator.rb#9
+ def validate_options(valid_option_keys, options); end
+end
+
+# source://dropbox_api//lib/dropbox_api/result_builder.rb#3
+class DropboxApi::ResultBuilder
+ # @return [ResultBuilder] a new instance of ResultBuilder
+ #
+ # source://dropbox_api//lib/dropbox_api/result_builder.rb#4
+ def initialize(response_data); end
+
+ # source://dropbox_api//lib/dropbox_api/result_builder.rb#24
+ def build(result_class); end
+
+ # source://dropbox_api//lib/dropbox_api/result_builder.rb#28
+ def build_error(error_type); end
+
+ # source://dropbox_api//lib/dropbox_api/result_builder.rb#12
+ def error; end
+
+ # source://dropbox_api//lib/dropbox_api/result_builder.rb#8
+ def error_summary; end
+
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/result_builder.rb#16
+ def has_error?; end
+
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/result_builder.rb#20
+ def success?; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/base.rb#2
+module DropboxApi::Results; end
+
+# Example of a result of the `add_file_member` endpoint:
+# [{
+# "member":{
+# ".tag": "email",
+# "email": "somebody@test.com"
+# },
+# "result": {
+# ".tag": "success",
+# "success": {
+# ".tag": "viewer"
+# }
+# }
+# }]
+#
+# source://dropbox_api//lib/dropbox_api/results/add_file_member_result_list.rb#16
+class DropboxApi::Results::AddFileMemberResultList < ::Array
+ # @return [AddFileMemberResultList] a new instance of AddFileMemberResultList
+ #
+ # source://dropbox_api//lib/dropbox_api/results/add_file_member_result_list.rb#17
+ def initialize(members); end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/base.rb#3
+class DropboxApi::Results::Base
+ # @return [Base] a new instance of Base
+ #
+ # source://dropbox_api//lib/dropbox_api/results/base.rb#4
+ def initialize(result_data); end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/basic_account_batch.rb#3
+class DropboxApi::Results::BasicAccountBatch < ::Array
+ # @return [BasicAccountBatch] a new instance of BasicAccountBatch
+ #
+ # source://dropbox_api//lib/dropbox_api/results/basic_account_batch.rb#4
+ def initialize(accounts); end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/copy_batch_result.rb#3
+class DropboxApi::Results::CopyBatchResult < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/copy_batch_result.rb#4
+ def new(result_data); end
+ end
+end
+
+# Result returned by {Client#create_folder_batch} that may either launch an
+# asynchronous job or complete synchronously.
+#
+# The value will be either a job id or a list of job statuses.
+#
+# source://dropbox_api//lib/dropbox_api/results/create_folder_batch_result.rb#7
+class DropboxApi::Results::CreateFolderBatchResult < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/create_folder_batch_result.rb#8
+ def new(result_data); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/create_folder_batch_result_entry.rb#3
+class DropboxApi::Results::CreateFolderBatchResultEntry < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/create_folder_batch_result_entry.rb#4
+ def new(result_data); end
+ end
+end
+
+# Result returned by {Client#delete_batch} that may either launch an
+# asynchronous job or complete synchronously.
+#
+# The value will be either a job id or a list of job statuses.
+#
+# source://dropbox_api//lib/dropbox_api/results/delete_batch_result.rb#7
+class DropboxApi::Results::DeleteBatchResult < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/delete_batch_result.rb#8
+ def new(result_data); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/delete_batch_result_entry.rb#3
+class DropboxApi::Results::DeleteBatchResultEntry < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/delete_batch_result_entry.rb#4
+ def new(result_data); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/get_copy_reference_result.rb#3
+class DropboxApi::Results::GetCopyReferenceResult < ::DropboxApi::Results::Base
+ # A copy reference to the file or folder.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/get_copy_reference_result.rb#10
+ def copy_reference; end
+
+ # The expiration date of the copy reference.
+ # This value is currently set to be far enough in the future
+ # so that expiration is effectively not an issue.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/get_copy_reference_result.rb#17
+ def expires; end
+
+ # Metadata of the file or folder.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/get_copy_reference_result.rb#5
+ def resource; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/get_temporary_link_result.rb#3
+class DropboxApi::Results::GetTemporaryLinkResult < ::DropboxApi::Results::Base
+ # source://dropbox_api//lib/dropbox_api/results/get_temporary_link_result.rb#4
+ def file; end
+
+ # source://dropbox_api//lib/dropbox_api/results/get_temporary_link_result.rb#8
+ def link; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/get_thumbnail_batch_result.rb#3
+class DropboxApi::Results::GetThumbnailBatchResult < ::DropboxApi::Results::Base
+ # source://dropbox_api//lib/dropbox_api/results/get_thumbnail_batch_result.rb#4
+ def entries; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/list_folder_get_latest_cursor_result.rb#3
+class DropboxApi::Results::ListFolderGetLatestCursorResult < ::DropboxApi::Results::Base
+ # source://dropbox_api//lib/dropbox_api/results/list_folder_get_latest_cursor_result.rb#4
+ def cursor; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/list_folder_longpoll_result.rb#3
+class DropboxApi::Results::ListFolderLongpollResult < ::DropboxApi::Results::Base
+ # If present, backoff for at least this many seconds before calling
+ # `list_folder_longpoll` again. This field is optional.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_folder_longpoll_result.rb#12
+ def backoff; end
+
+ # Indicates whether new changes are available. If true, call
+ # `list_folder_continue` to retrieve the changes.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_folder_longpoll_result.rb#6
+ def changes; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/list_folder_result.rb#3
+class DropboxApi::Results::ListFolderResult < ::DropboxApi::Results::Base
+ # Pass the cursor into `list_folder_continue` to see what's changed in the
+ # folder since your previous query.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_folder_result.rb#13
+ def cursor; end
+
+ # A collection of files and directories.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_folder_result.rb#5
+ def entries; end
+
+ # If true, then there are more entries available. Pass the cursor to
+ # `list_folder_continue` to retrieve the rest.
+ #
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_folder_result.rb#19
+ def has_more?; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/list_revisions_result.rb#3
+class DropboxApi::Results::ListRevisionsResult < ::DropboxApi::Results::Base
+ # A collection of files and directories.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_revisions_result.rb#5
+ def entries; end
+
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_revisions_result.rb#11
+ def is_deleted?; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/list_shared_links_result.rb#3
+class DropboxApi::Results::ListSharedLinksResult < ::DropboxApi::Results::Base
+ # Pass the cursor into `list_folder_continue` to see what's changed in the
+ # folder since your previous query.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_shared_links_result.rb#13
+ def cursor; end
+
+ # If true, then there are more entries available. Pass the cursor to
+ # `list_folder_continue` to retrieve the rest.
+ #
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_shared_links_result.rb#19
+ def has_more?; end
+
+ # Shared links applicable to the path argument.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/list_shared_links_result.rb#5
+ def links; end
+end
+
+# Result returned by {Client#copy_batch} or {Client#move_batch} that may
+# either launch an asynchronous job or complete synchronously.
+#
+# The value will be either `:in_progress` or a list of job statuses.
+#
+# source://dropbox_api//lib/dropbox_api/results/relocation_batch_result.rb#7
+class DropboxApi::Results::RelocationBatchResult < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/relocation_batch_result.rb#8
+ def new(result_data); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/relocation_batch_result_entry.rb#3
+class DropboxApi::Results::RelocationBatchResultEntry < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/relocation_batch_result_entry.rb#4
+ def new(result_data); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/save_copy_reference_result.rb#3
+class DropboxApi::Results::SaveCopyReferenceResult < ::DropboxApi::Results::Base
+ # The saved file or folder in the user's Dropbox.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/save_copy_reference_result.rb#5
+ def resource; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/save_url_job_status.rb#3
+class DropboxApi::Results::SaveUrlJobStatus < ::DropboxApi::Results::Base
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/save_url_job_status.rb#4
+ def new(result_data); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/save_url_result.rb#3
+class DropboxApi::Results::SaveUrlResult < ::DropboxApi::Results::Base
+ # Example with an async job:
+ # {
+ # ".tag": "async_job_id",
+ # "async_job_id": "VofXAX8DO1sAAAAAAAAD_Q"
+ # }
+ #
+ # I couldn't manage to get anything other than an async job.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/save_url_result.rb#11
+ def async_job_id; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/search_v2_result.rb#3
+class DropboxApi::Results::SearchV2Result < ::DropboxApi::Results::Base
+ # Pass the cursor into #search_continue to fetch the next page of results.
+ # This field is optional.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/search_v2_result.rb#19
+ def cursor; end
+
+ # Used for paging. If true, indicates there is another page of results
+ # available that can be fetched by calling search again.
+ #
+ # @return [Boolean]
+ #
+ # source://dropbox_api//lib/dropbox_api/results/search_v2_result.rb#13
+ def has_more?; end
+
+ # A list (possibly empty) of matches for the query.
+ #
+ # source://dropbox_api//lib/dropbox_api/results/search_v2_result.rb#5
+ def matches; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/share_folder_launch.rb#3
+class DropboxApi::Results::ShareFolderLaunch
+ class << self
+ # source://dropbox_api//lib/dropbox_api/results/share_folder_launch.rb#4
+ def new(result_data); end
+ end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/shared_file_members.rb#3
+class DropboxApi::Results::SharedFileMembers < ::DropboxApi::Results::Base
+ # source://dropbox_api//lib/dropbox_api/results/shared_file_members.rb#16
+ def cursor; end
+
+ # source://dropbox_api//lib/dropbox_api/results/shared_file_members.rb#8
+ def groups; end
+
+ # source://dropbox_api//lib/dropbox_api/results/shared_file_members.rb#12
+ def invitees; end
+
+ # source://dropbox_api//lib/dropbox_api/results/shared_file_members.rb#4
+ def users; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/shared_folder_members.rb#3
+class DropboxApi::Results::SharedFolderMembers < ::DropboxApi::Results::Base
+ # source://dropbox_api//lib/dropbox_api/results/shared_folder_members.rb#16
+ def cursor; end
+
+ # source://dropbox_api//lib/dropbox_api/results/shared_folder_members.rb#8
+ def groups; end
+
+ # source://dropbox_api//lib/dropbox_api/results/shared_folder_members.rb#12
+ def invitees; end
+
+ # source://dropbox_api//lib/dropbox_api/results/shared_folder_members.rb#4
+ def users; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/upload_session_start.rb#3
+class DropboxApi::Results::UploadSessionStart < ::DropboxApi::Results::Base
+ # source://dropbox_api//lib/dropbox_api/results/upload_session_start.rb#4
+ def session_id; end
+end
+
+# source://dropbox_api//lib/dropbox_api/results/void_result.rb#3
+class DropboxApi::Results::VoidResult < ::DropboxApi::Results::Base; end
+
+# source://dropbox_api//lib/dropbox_api/version.rb#3
+DropboxApi::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/erubi@1.12.0.rbi b/sorbet/rbi/gems/erubi@1.12.0.rbi
new file mode 100644
index 00000000..c52738fa
--- /dev/null
+++ b/sorbet/rbi/gems/erubi@1.12.0.rbi
@@ -0,0 +1,145 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `erubi` gem.
+# Please instead update this file by running `bin/tapioca gem erubi`.
+
+# source://erubi//lib/erubi.rb#3
+module Erubi
+ class << self
+ def h(_arg0); end
+ end
+end
+
+# source://erubi//lib/erubi.rb#54
+class Erubi::Engine
+ # Initialize a new Erubi::Engine. Options:
+ # +:bufval+ :: The value to use for the buffer variable, as a string (default '::String.new' ).
+ # +:bufvar+ :: The variable name to use for the buffer variable, as a string.
+ # +:chain_appends+ :: Whether to chain << calls to the buffer variable. Offers better
+ # performance, but can cause issues when the buffer variable is reassigned during
+ # template rendering (default +false+).
+ # +:ensure+ :: Wrap the template in a begin/ensure block restoring the previous value of bufvar.
+ # +:escapefunc+ :: The function to use for escaping, as a string (default: '::Erubi.h' ).
+ # +:escape+ :: Whether to make <%= escape by default, and <%== not escape by default.
+ # +:escape_html+ :: Same as +:escape+, with lower priority.
+ # +:filename+ :: The filename for the template.
+ # the resulting source code. Note this may cause problems if you are wrapping the resulting
+ # source code in other code, because the magic comment only has an effect at the beginning of
+ # the file, and having the magic comment later in the file can trigger warnings.
+ # +:freeze_template_literals+ :: Whether to suffix all literal strings for template code with .freeze
+ # (default: +true+ on Ruby 2.1+, +false+ on Ruby 2.0 and older).
+ # Can be set to +false+ on Ruby 2.3+ when frozen string literals are enabled
+ # in order to improve performance.
+ # +:literal_prefix+ :: The prefix to output when using escaped tag delimiters (default '<%' ).
+ # +:literal_postfix+ :: The postfix to output when using escaped tag delimiters (default '%>' ).
+ # +:outvar+ :: Same as +:bufvar+, with lower priority.
+ # +:postamble+ :: The postamble for the template, by default returns the resulting source code.
+ # +:preamble+ :: The preamble for the template, by default initializes the buffer variable.
+ # +:regexp+ :: The regexp to use for scanning.
+ # +:src+ :: The initial value to use for the source code, an empty string by default.
+ # +:trim+ :: Whether to trim leading and trailing whitespace, true by default.
+ #
+ # @return [Engine] a new instance of Engine
+ #
+ # source://erubi//lib/erubi.rb#94
+ def initialize(input, properties = T.unsafe(nil)); end
+
+ # The variable name used for the buffer variable.
+ #
+ # source://erubi//lib/erubi.rb#65
+ def bufvar; end
+
+ # The filename of the template, if one was given.
+ #
+ # source://erubi//lib/erubi.rb#62
+ def filename; end
+
+ # The frozen ruby source code generated from the template, which can be evaled.
+ #
+ # source://erubi//lib/erubi.rb#59
+ def src; end
+
+ private
+
+ # Add ruby code to the template
+ #
+ # source://erubi//lib/erubi.rb#226
+ def add_code(code); end
+
+ # Add the given ruby expression result to the template,
+ # escaping it based on the indicator given and escape flag.
+ #
+ # source://erubi//lib/erubi.rb#235
+ def add_expression(indicator, code); end
+
+ # Add the result of Ruby expression to the template
+ #
+ # source://erubi//lib/erubi.rb#244
+ def add_expression_result(code); end
+
+ # Add the escaped result of Ruby expression to the template
+ #
+ # source://erubi//lib/erubi.rb#249
+ def add_expression_result_escaped(code); end
+
+ # Add the given postamble to the src. Can be overridden in subclasses
+ # to make additional changes to src that depend on the current state.
+ #
+ # source://erubi//lib/erubi.rb#255
+ def add_postamble(postamble); end
+
+ # Add raw text to the template. Modifies argument if argument is mutable as a memory optimization.
+ # Must be called with a string, cannot be called with nil (Rails's subclass depends on it).
+ #
+ # source://erubi//lib/erubi.rb#213
+ def add_text(text); end
+
+ # Raise an exception, as the base engine class does not support handling other indicators.
+ #
+ # @raise [ArgumentError]
+ #
+ # source://erubi//lib/erubi.rb#261
+ def handle(indicator, code, tailch, rspace, lspace); end
+
+ # Make sure that any current expression has been terminated.
+ # The default is to terminate all expressions, but when
+ # the chain_appends option is used, expressions may not be
+ # terminated.
+ #
+ # source://erubi//lib/erubi.rb#289
+ def terminate_expression; end
+
+ # Make sure the buffer variable is the target of the next append
+ # before yielding to the block. Mark that the buffer is the target
+ # of the next append after the block executes.
+ #
+ # This method should only be called if the block will result in
+ # code where << will append to the bufvar.
+ #
+ # source://erubi//lib/erubi.rb#271
+ def with_buffer; end
+end
+
+# The default regular expression used for scanning.
+#
+# source://erubi//lib/erubi.rb#56
+Erubi::Engine::DEFAULT_REGEXP = T.let(T.unsafe(nil), Regexp)
+
+# source://erubi//lib/erubi.rb#17
+Erubi::FREEZE_TEMPLATE_LITERALS = T.let(T.unsafe(nil), TrueClass)
+
+# source://erubi//lib/erubi.rb#15
+Erubi::MATCH_METHOD = T.let(T.unsafe(nil), Symbol)
+
+# source://erubi//lib/erubi.rb#8
+Erubi::RANGE_FIRST = T.let(T.unsafe(nil), Integer)
+
+# source://erubi//lib/erubi.rb#9
+Erubi::RANGE_LAST = T.let(T.unsafe(nil), Integer)
+
+# source://erubi//lib/erubi.rb#16
+Erubi::SKIP_DEFINED_FOR_INSTANCE_VARIABLE = T.let(T.unsafe(nil), TrueClass)
+
+# source://erubi//lib/erubi.rb#4
+Erubi::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi b/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi
new file mode 100644
index 00000000..57741c52
--- /dev/null
+++ b/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi
@@ -0,0 +1,146 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `faraday-net_http` gem.
+# Please instead update this file by running `bin/tapioca gem faraday-net_http`.
+
+# source://faraday-net_http//lib/faraday/adapter/net_http.rb#12
+module Faraday
+ class << self
+ # source://faraday/2.9.0/lib/faraday.rb#55
+ def default_adapter; end
+
+ # source://faraday/2.9.0/lib/faraday.rb#102
+ def default_adapter=(adapter); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#59
+ def default_adapter_options; end
+
+ # source://faraday/2.9.0/lib/faraday.rb#59
+ def default_adapter_options=(_arg0); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#120
+ def default_connection; end
+
+ # source://faraday/2.9.0/lib/faraday.rb#62
+ def default_connection=(_arg0); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#127
+ def default_connection_options; end
+
+ # source://faraday/2.9.0/lib/faraday.rb#134
+ def default_connection_options=(options); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#67
+ def ignore_env_proxy; end
+
+ # source://faraday/2.9.0/lib/faraday.rb#67
+ def ignore_env_proxy=(_arg0); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#46
+ def lib_path; end
+
+ # source://faraday/2.9.0/lib/faraday.rb#46
+ def lib_path=(_arg0); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#96
+ def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#107
+ def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
+
+ # source://faraday/2.9.0/lib/faraday.rb#42
+ def root_path; end
+
+ # source://faraday/2.9.0/lib/faraday.rb#42
+ def root_path=(_arg0); end
+
+ private
+
+ # source://faraday/2.9.0/lib/faraday.rb#143
+ def method_missing(name, *args, &block); end
+ end
+end
+
+# source://faraday-net_http//lib/faraday/adapter/net_http.rb#13
+class Faraday::Adapter
+ # source://faraday/2.9.0/lib/faraday/adapter.rb#28
+ def initialize(_app = T.unsafe(nil), opts = T.unsafe(nil), &block); end
+
+ # source://faraday/2.9.0/lib/faraday/adapter.rb#55
+ def call(env); end
+
+ # source://faraday/2.9.0/lib/faraday/adapter.rb#50
+ def close; end
+
+ # source://faraday/2.9.0/lib/faraday/adapter.rb#41
+ def connection(env); end
+
+ private
+
+ # source://faraday/2.9.0/lib/faraday/adapter.rb#85
+ def request_timeout(type, options); end
+
+ # source://faraday/2.9.0/lib/faraday/adapter.rb#62
+ def save_response(env, status, body, headers = T.unsafe(nil), reason_phrase = T.unsafe(nil), finished: T.unsafe(nil)); end
+end
+
+# source://faraday-net_http//lib/faraday/adapter/net_http.rb#14
+class Faraday::Adapter::NetHttp < ::Faraday::Adapter
+ # @return [NetHttp] a new instance of NetHttp
+ #
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#38
+ def initialize(app = T.unsafe(nil), opts = T.unsafe(nil), &block); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#43
+ def build_connection(env); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#63
+ def call(env); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#51
+ def net_http_connection(env); end
+
+ private
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#148
+ def configure_request(http, req); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#131
+ def configure_ssl(http, ssl); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#79
+ def create_request(env); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#185
+ def encoded_body(http_response); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#95
+ def perform_request(http, env); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#109
+ def request_with_wrapped_block(http, env, &block); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#121
+ def save_http_response(env, http_response); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#168
+ def ssl_cert_store(ssl); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#175
+ def ssl_verify_mode(ssl); end
+
+ # @return [Boolean]
+ #
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#197
+ def verify_hostname_enabled?(http, ssl); end
+end
+
+# source://faraday-net_http//lib/faraday/adapter/net_http.rb#36
+Faraday::Adapter::NetHttp::NET_HTTP_EXCEPTIONS = T.let(T.unsafe(nil), Array)
+
+# source://faraday-net_http//lib/faraday/net_http/version.rb#4
+module Faraday::NetHttp; end
+
+# source://faraday-net_http//lib/faraday/net_http/version.rb#5
+Faraday::NetHttp::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/faraday@2.9.0.rbi b/sorbet/rbi/gems/faraday@2.9.0.rbi
new file mode 100644
index 00000000..d38c01c8
--- /dev/null
+++ b/sorbet/rbi/gems/faraday@2.9.0.rbi
@@ -0,0 +1,2911 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `faraday` gem.
+# Please instead update this file by running `bin/tapioca gem faraday`.
+
+# conn.get '/'
+#
+# source://faraday//lib/faraday/version.rb#3
+module Faraday
+ class << self
+ # @overload default_adapter
+ # @overload default_adapter=
+ #
+ # source://faraday//lib/faraday.rb#55
+ def default_adapter; end
+
+ # Documented elsewhere, see default_adapter reader
+ #
+ # source://faraday//lib/faraday.rb#102
+ def default_adapter=(adapter); end
+
+ # Option for the default_adapter
+ # @return [Hash] default_adapter options
+ #
+ # source://faraday//lib/faraday.rb#59
+ def default_adapter_options; end
+
+ # Option for the default_adapter
+ # @return [Hash] default_adapter options
+ #
+ # source://faraday//lib/faraday.rb#59
+ def default_adapter_options=(_arg0); end
+
+ # @overload default_connection
+ # @overload default_connection=
+ #
+ # source://faraday//lib/faraday.rb#120
+ def default_connection; end
+
+ # Documented below, see default_connection
+ #
+ # source://faraday//lib/faraday.rb#62
+ def default_connection=(_arg0); end
+
+ # Gets the default connection options used when calling {Faraday#new}.
+ #
+ # @return [Faraday::ConnectionOptions]
+ #
+ # source://faraday//lib/faraday.rb#127
+ def default_connection_options; end
+
+ # Sets the default options used when calling {Faraday#new}.
+ #
+ # @param options [Hash, Faraday::ConnectionOptions]
+ #
+ # source://faraday//lib/faraday.rb#134
+ def default_connection_options=(options); end
+
+ # Tells Faraday to ignore the environment proxy (http_proxy).
+ # Defaults to `false`.
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday.rb#67
+ def ignore_env_proxy; end
+
+ # Tells Faraday to ignore the environment proxy (http_proxy).
+ # Defaults to `false`.
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday.rb#67
+ def ignore_env_proxy=(_arg0); end
+
+ # Gets or sets the path that the Faraday libs are loaded from.
+ #
+ # @return [String]
+ #
+ # source://faraday//lib/faraday.rb#46
+ def lib_path; end
+
+ # Gets or sets the path that the Faraday libs are loaded from.
+ #
+ # @return [String]
+ #
+ # source://faraday//lib/faraday.rb#46
+ def lib_path=(_arg0); end
+
+ # Initializes a new {Connection}.
+ #
+ # @example With an URL argument
+ # Faraday.new 'http://faraday.com'
+ # # => Faraday::Connection to http://faraday.com
+ # @example With an URL argument and an options hash
+ # Faraday.new 'http://faraday.com', params: { page: 1 }
+ # # => Faraday::Connection to http://faraday.com?page=1
+ # @example With everything in an options hash
+ # Faraday.new url: 'http://faraday.com',
+ # params: { page: 1 }
+ # # => Faraday::Connection to http://faraday.com?page=1
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param url [String, Hash] The optional String base URL to use as a prefix
+ # for all requests. Can also be the options Hash. Any of these
+ # values will be set on every request made, unless overridden
+ # for a specific request.
+ # @param options [Hash]
+ # @return [Faraday::Connection]
+ #
+ # source://faraday//lib/faraday.rb#96
+ def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday.rb#107
+ def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
+
+ # The root path that Faraday is being loaded from.
+ #
+ # This is the root from where the libraries are auto-loaded.
+ #
+ # @return [String]
+ #
+ # source://faraday//lib/faraday.rb#42
+ def root_path; end
+
+ # The root path that Faraday is being loaded from.
+ #
+ # This is the root from where the libraries are auto-loaded.
+ #
+ # @return [String]
+ #
+ # source://faraday//lib/faraday.rb#42
+ def root_path=(_arg0); end
+
+ private
+
+ # Internal: Proxies method calls on the Faraday constant to
+ # .default_connection.
+ #
+ # source://faraday//lib/faraday.rb#143
+ def method_missing(name, *args, &block); end
+ end
+end
+
+# Base class for all Faraday adapters. Adapters are
+# responsible for fulfilling a Faraday request.
+#
+# source://faraday//lib/faraday/adapter.rb#6
+class Faraday::Adapter
+ extend ::Faraday::MiddlewareRegistry
+ extend ::Faraday::Adapter::Parallelism
+
+ # @return [Adapter] a new instance of Adapter
+ #
+ # source://faraday//lib/faraday/adapter.rb#28
+ def initialize(_app = T.unsafe(nil), opts = T.unsafe(nil), &block); end
+
+ # source://faraday//lib/faraday/adapter.rb#55
+ def call(env); end
+
+ # Close any persistent connections. The adapter should still be usable
+ # after calling close.
+ #
+ # source://faraday//lib/faraday/adapter.rb#50
+ def close; end
+
+ # Yields or returns an adapter's configured connection. Depends on
+ # #build_connection being defined on this adapter.
+ #
+ # @param env [Faraday::Env, Hash] The env object for a faraday request.
+ # @return The return value of the given block, or the HTTP connection object
+ # if no block is given.
+ # @yield [conn]
+ #
+ # source://faraday//lib/faraday/adapter.rb#41
+ def connection(env); end
+
+ private
+
+ # Fetches either a read, write, or open timeout setting. Defaults to the
+ # :timeout value if a more specific one is not given.
+ #
+ # @param type [Symbol] Describes which timeout setting to get: :read,
+ # :write, or :open.
+ # @param options [Hash] Hash containing Symbol keys like :timeout,
+ # :read_timeout, :write_timeout, or :open_timeout
+ # @return [Integer, nil] Timeout duration in seconds, or nil if no timeout
+ # has been set.
+ #
+ # source://faraday//lib/faraday/adapter.rb#85
+ def request_timeout(type, options); end
+
+ # source://faraday//lib/faraday/adapter.rb#62
+ def save_response(env, status, body, headers = T.unsafe(nil), reason_phrase = T.unsafe(nil), finished: T.unsafe(nil)); end
+end
+
+# source://faraday//lib/faraday/adapter.rb#9
+Faraday::Adapter::CONTENT_LENGTH = T.let(T.unsafe(nil), String)
+
+# This module marks an Adapter as supporting parallel requests.
+#
+# source://faraday//lib/faraday/adapter.rb#12
+module Faraday::Adapter::Parallelism
+ # source://faraday//lib/faraday/adapter.rb#19
+ def inherited(subclass); end
+
+ # Sets the attribute supports_parallel
+ #
+ # @param value the value to set the attribute supports_parallel to.
+ #
+ # source://faraday//lib/faraday/adapter.rb#13
+ def supports_parallel=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter.rb#15
+ def supports_parallel?; end
+end
+
+# source://faraday//lib/faraday/adapter.rb#93
+Faraday::Adapter::TIMEOUT_KEYS = T.let(T.unsafe(nil), Hash)
+
+# @example
+# test = Faraday::Connection.new do
+# use Faraday::Adapter::Test do |stub|
+# # Define matcher to match the request
+# stub.get '/resource.json' do
+# # return static content
+# [200, {'Content-Type' => 'application/json'}, 'hi world']
+# end
+#
+# # response with content generated based on request
+# stub.get '/showget' do |env|
+# [200, {'Content-Type' => 'text/plain'}, env[:method].to_s]
+# end
+#
+# # A regular expression can be used as matching filter
+# stub.get /\A\/items\/(\d+)\z/ do |env, meta|
+# # in case regular expression is used, an instance of MatchData
+# # can be received
+# [200,
+# {'Content-Type' => 'text/plain'},
+# "showing item: #{meta[:match_data][1]}"
+# ]
+# end
+#
+# # Test the request body is the same as the stubbed body
+# stub.post('/bar', 'name=YK&word=call') { [200, {}, ''] }
+#
+# # You can pass a proc as a stubbed body and check the request body in your way.
+# # In this case, the proc should return true or false.
+# stub.post('/foo', ->(request_body) do
+# JSON.parse(request_body).slice('name') == { 'name' => 'YK' } }) { [200, {}, '']
+# end
+#
+# # You can set strict_mode to exactly match the stubbed requests.
+# stub.strict_mode = true
+# end
+# end
+#
+# resp = test.get '/resource.json'
+# resp.body # => 'hi world'
+#
+# resp = test.get '/showget'
+# resp.body # => 'get'
+#
+# resp = test.get '/items/1'
+# resp.body # => 'showing item: 1'
+#
+# resp = test.get '/items/2'
+# resp.body # => 'showing item: 2'
+#
+# resp = test.post '/bar', 'name=YK&word=call'
+# resp.status # => 200
+#
+# resp = test.post '/foo', JSON.dump(name: 'YK', created_at: Time.now)
+# resp.status # => 200
+#
+# source://faraday//lib/faraday/adapter/test.rb#62
+class Faraday::Adapter::Test < ::Faraday::Adapter
+ # @return [Test] a new instance of Test
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#258
+ def initialize(app, stubs = T.unsafe(nil), &block); end
+
+ # @param env [Faraday::Env]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#269
+ def call(env); end
+
+ # @yield [stubs]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#264
+ def configure; end
+
+ # Returns the value of attribute stubs.
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#63
+ def stubs; end
+
+ # Sets the attribute stubs
+ #
+ # @param value the value to set the attribute stubs to.
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#63
+ def stubs=(_arg0); end
+end
+
+# Stub request
+#
+# source://faraday//lib/faraday/adapter/test.rb#187
+class Faraday::Adapter::Test::Stub < ::Struct
+ # Returns the value of attribute block
+ #
+ # @return [Object] the current value of block
+ def block; end
+
+ # Sets the attribute block
+ #
+ # @param value [Object] the value to set the attribute block to.
+ # @return [Object] the newly set value
+ def block=(_); end
+
+ # Returns the value of attribute body
+ #
+ # @return [Object] the current value of body
+ def body; end
+
+ # Sets the attribute body
+ #
+ # @param value [Object] the value to set the attribute body to.
+ # @return [Object] the newly set value
+ def body=(_); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#242
+ def body_match?(request_body); end
+
+ # Returns the value of attribute headers
+ #
+ # @return [Object] the current value of headers
+ def headers; end
+
+ # Sets the attribute headers
+ #
+ # @param value [Object] the value to set the attribute headers to.
+ # @return [Object] the newly set value
+ def headers=(_); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#227
+ def headers_match?(request_headers); end
+
+ # Returns the value of attribute host
+ #
+ # @return [Object] the current value of host
+ def host; end
+
+ # Sets the attribute host
+ #
+ # @param value [Object] the value to set the attribute host to.
+ # @return [Object] the newly set value
+ def host=(_); end
+
+ # @param env [Faraday::Env]
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#189
+ def matches?(env); end
+
+ # @param env [Faraday::Env]
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#214
+ def params_match?(env); end
+
+ # Returns the value of attribute path
+ #
+ # @return [Object] the current value of path
+ def path; end
+
+ # Sets the attribute path
+ #
+ # @param value [Object] the value to set the attribute path to.
+ # @return [Object] the newly set value
+ def path=(_); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#205
+ def path_match?(request_path, meta); end
+
+ # Returns the value of attribute query
+ #
+ # @return [Object] the current value of query
+ def query; end
+
+ # Sets the attribute query
+ #
+ # @param value [Object] the value to set the attribute query to.
+ # @return [Object] the newly set value
+ def query=(_); end
+
+ # Returns the value of attribute strict_mode
+ #
+ # @return [Object] the current value of strict_mode
+ def strict_mode; end
+
+ # Sets the attribute strict_mode
+ #
+ # @param value [Object] the value to set the attribute strict_mode to.
+ # @return [Object] the newly set value
+ def strict_mode=(_); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#253
+ def to_s; end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# A stack of Stubs
+#
+# source://faraday//lib/faraday/adapter/test.rb#66
+class Faraday::Adapter::Test::Stubs
+ # @return [Stubs] a new instance of Stubs
+ # @yield [_self]
+ # @yieldparam _self [Faraday::Adapter::Test::Stubs] the object that the method was called on
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#70
+ def initialize(strict_mode: T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#122
+ def delete(path, headers = T.unsafe(nil), &block); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#79
+ def empty?; end
+
+ # source://faraday//lib/faraday/adapter/test.rb#102
+ def get(path, headers = T.unsafe(nil), &block); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#106
+ def head(path, headers = T.unsafe(nil), &block); end
+
+ # @param env [Faraday::Env]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#84
+ def match(env); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#126
+ def options(path, headers = T.unsafe(nil), &block); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#118
+ def patch(path, body = T.unsafe(nil), headers = T.unsafe(nil), &block); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#110
+ def post(path, body = T.unsafe(nil), headers = T.unsafe(nil), &block); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#114
+ def put(path, body = T.unsafe(nil), headers = T.unsafe(nil), &block); end
+
+ # Set strict_mode. If the value is true, this adapter tries to find matched requests strictly,
+ # which means that all of a path, parameters, and headers must be the same as an actual request.
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#147
+ def strict_mode=(value); end
+
+ # Raises an error if any of the stubbed calls have not been made.
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#131
+ def verify_stubbed_calls; end
+
+ protected
+
+ # @param stack [Hash]
+ # @param env [Faraday::Env]
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/adapter/test.rb#177
+ def matches?(stack, env); end
+
+ # source://faraday//lib/faraday/adapter/test.rb#158
+ def new_stub(request_method, path, headers = T.unsafe(nil), body = T.unsafe(nil), &block); end
+end
+
+# source://faraday//lib/faraday/adapter/test.rb#67
+class Faraday::Adapter::Test::Stubs::NotFound < ::StandardError; end
+
+# AdapterRegistry registers adapter class names so they can be looked up by a
+# String or Symbol name.
+#
+# source://faraday//lib/faraday/adapter_registry.rb#8
+class Faraday::AdapterRegistry
+ # @return [AdapterRegistry] a new instance of AdapterRegistry
+ #
+ # source://faraday//lib/faraday/adapter_registry.rb#9
+ def initialize; end
+
+ # source://faraday//lib/faraday/adapter_registry.rb#14
+ def get(name); end
+
+ # source://faraday//lib/faraday/adapter_registry.rb#23
+ def set(klass, name = T.unsafe(nil)); end
+end
+
+# Raised by Faraday::Response::RaiseError in case of a 400 response.
+#
+# source://faraday//lib/faraday/error.rb#96
+class Faraday::BadRequestError < ::Faraday::ClientError; end
+
+# source://faraday//lib/faraday.rb#34
+Faraday::CONTENT_TYPE = T.let(T.unsafe(nil), String)
+
+# Faraday client error class. Represents 4xx status responses.
+#
+# source://faraday//lib/faraday/error.rb#92
+class Faraday::ClientError < ::Faraday::Error; end
+
+# Raised by Faraday::Response::RaiseError in case of a 409 response.
+#
+# source://faraday//lib/faraday/error.rb#120
+class Faraday::ConflictError < ::Faraday::ClientError; end
+
+# Connection objects manage the default properties and the middleware
+# stack for fulfilling an HTTP request.
+#
+# @example
+#
+# conn = Faraday::Connection.new 'http://httpbingo.org'
+#
+# # GET http://httpbingo.org/nigiri
+# conn.get 'nigiri'
+# # => #
+#
+# source://faraday//lib/faraday/connection.rb#15
+class Faraday::Connection
+ extend ::Forwardable
+
+ # Initializes a new Faraday::Connection.
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param url [URI, String] URI or String base URL to use as a prefix for all
+ # requests (optional).
+ # @param options [Hash, Faraday::ConnectionOptions]
+ # @return [Connection] a new instance of Connection
+ # @yield [self] after all setup has been done
+ #
+ # source://faraday//lib/faraday/connection.rb#63
+ def initialize(url = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def adapter(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def app(*args, **_arg1, &block); end
+
+ # Build an absolute URL based on url_prefix.
+ #
+ # of the resulting url (default: nil).
+ #
+ # @param url [String, URI, nil]
+ # @param params [Faraday::Utils::ParamsHash] A Faraday::Utils::ParamsHash to
+ # replace the query values
+ # @return [URI]
+ #
+ # source://faraday//lib/faraday/connection.rb#470
+ def build_exclusive_url(url = T.unsafe(nil), params = T.unsafe(nil), params_encoder = T.unsafe(nil)); end
+
+ # Creates and configures the request object.
+ #
+ # @param method [Symbol]
+ # @return [Faraday::Request]
+ # @yield [Faraday::Request] if block given
+ #
+ # source://faraday//lib/faraday/connection.rb#453
+ def build_request(method); end
+
+ # Takes a relative url for a request and combines it with the defaults
+ # set on the connection instance.
+ #
+ # @example
+ # conn = Faraday::Connection.new { ... }
+ # conn.url_prefix = "https://httpbingo.org/api?token=abc"
+ # conn.scheme # => https
+ # conn.path_prefix # => "/api"
+ #
+ # conn.build_url("nigiri?page=2")
+ # # => https://httpbingo.org/api/nigiri?token=abc&page=2
+ #
+ # conn.build_url("nigiri", page: 2)
+ # # => https://httpbingo.org/api/nigiri?token=abc&page=2
+ # @param url [String, URI, nil]
+ # @param extra_params [Hash]
+ #
+ # source://faraday//lib/faraday/connection.rb#407
+ def build_url(url = T.unsafe(nil), extra_params = T.unsafe(nil)); end
+
+ # @return [Faraday::RackBuilder] Builder for this Connection.
+ #
+ # source://faraday//lib/faraday/connection.rb#31
+ def builder; end
+
+ # Closes the underlying resources and/or connections. In the case of
+ # persistent connections, this closes all currently open connections
+ # but does not prevent new connections from being made.
+ #
+ # source://faraday//lib/faraday/connection.rb#125
+ def close; end
+
+ # Check if the adapter is parallel-capable.
+ #
+ # @api private
+ # @return [Object, nil] a parallel manager or nil if yielded
+ # @yield if the adapter isn't parallel-capable, or if no adapter is set yet.
+ #
+ # source://faraday//lib/faraday/connection.rb#291
+ def default_parallel_manager; end
+
+ # Sets the default parallel manager for this connection.
+ #
+ # source://faraday//lib/faraday/connection.rb#40
+ def default_parallel_manager=(_arg0); end
+
+ # source://faraday//lib/faraday/connection.rb#199
+ def delete(url = T.unsafe(nil), params = T.unsafe(nil), headers = T.unsafe(nil)); end
+
+ # Creates a duplicate of this Faraday::Connection.
+ #
+ # @api private
+ # @return [Faraday::Connection]
+ #
+ # source://faraday//lib/faraday/connection.rb#490
+ def dup; end
+
+ # source://faraday//lib/faraday/connection.rb#533
+ def find_default_proxy; end
+
+ # source://faraday//lib/faraday/connection.rb#199
+ def get(url = T.unsafe(nil), params = T.unsafe(nil), headers = T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/connection.rb#199
+ def head(url = T.unsafe(nil), params = T.unsafe(nil), headers = T.unsafe(nil)); end
+
+ # @return [Hash] unencoded HTTP header key/value pairs.
+ #
+ # source://faraday//lib/faraday/connection.rb#24
+ def headers; end
+
+ # Sets the Hash of unencoded HTTP header key/value pairs.
+ #
+ # @param hash [Hash]
+ #
+ # source://faraday//lib/faraday/connection.rb#114
+ def headers=(hash); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def host(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def host=(*args, **_arg1, &block); end
+
+ # Sets up the parallel manager to make a set of requests.
+ #
+ # @param manager [Object] The parallel manager that this Connection's
+ # Adapter uses.
+ # @return [void]
+ # @yield a block to execute multiple requests.
+ #
+ # source://faraday//lib/faraday/connection.rb#317
+ def in_parallel(manager = T.unsafe(nil)); end
+
+ # Determine if this Faraday::Connection can make parallel requests.
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/connection.rb#306
+ def in_parallel?; end
+
+ # source://faraday//lib/faraday/connection.rb#96
+ def initialize_proxy(url, options); end
+
+ # @example
+ # conn.options '/items/1'
+ # @overload options
+ # @overload options
+ # @return [Faraday::Response]
+ # @yield [Faraday::Request] for further request customizations
+ #
+ # source://faraday//lib/faraday/connection.rb#222
+ def options(*args); end
+
+ # @return [Object] the parallel manager for this Connection.
+ #
+ # source://faraday//lib/faraday/connection.rb#37
+ def parallel_manager; end
+
+ # @return [Hash] URI query unencoded key/value pairs.
+ #
+ # source://faraday//lib/faraday/connection.rb#21
+ def params; end
+
+ # Sets the Hash of URI query unencoded key/value pairs.
+ #
+ # @param hash [Hash]
+ #
+ # source://faraday//lib/faraday/connection.rb#108
+ def params=(hash); end
+
+ # source://faraday//lib/faraday/connection.rb#279
+ def patch(url = T.unsafe(nil), body = T.unsafe(nil), headers = T.unsafe(nil), &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def path_prefix(*args, **_arg1, &block); end
+
+ # Sets the path prefix and ensures that it always has a leading
+ # slash.
+ #
+ # @param value [String]
+ # @return [String] the new path prefix
+ #
+ # source://faraday//lib/faraday/connection.rb#382
+ def path_prefix=(value); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def port(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def port=(*args, **_arg1, &block); end
+
+ # source://faraday//lib/faraday/connection.rb#279
+ def post(url = T.unsafe(nil), body = T.unsafe(nil), headers = T.unsafe(nil), &block); end
+
+ # @return [Hash] proxy options.
+ #
+ # source://faraday//lib/faraday/connection.rb#43
+ def proxy; end
+
+ # Sets the Hash proxy options.
+ #
+ # @param new_value [Object]
+ #
+ # source://faraday//lib/faraday/connection.rb#333
+ def proxy=(new_value); end
+
+ # source://faraday//lib/faraday/connection.rb#541
+ def proxy_for_request(url); end
+
+ # source://faraday//lib/faraday/connection.rb#513
+ def proxy_from_env(url); end
+
+ # source://faraday//lib/faraday/connection.rb#279
+ def put(url = T.unsafe(nil), body = T.unsafe(nil), headers = T.unsafe(nil), &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def request(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def response(*args, **_arg1, &block); end
+
+ # Builds and runs the Faraday::Request.
+ #
+ # @param method [Symbol] HTTP method.
+ # @param url [String, URI, nil] String or URI to access.
+ # @param body [String, nil] The request body that will eventually be converted to
+ # a string.
+ # @param headers [Hash, nil] unencoded HTTP header key/value pairs.
+ # @return [Faraday::Response]
+ #
+ # source://faraday//lib/faraday/connection.rb#431
+ def run_request(method, url, body, headers); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def scheme(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def scheme=(*args, **_arg1, &block); end
+
+ # source://faraday//lib/faraday/connection.rb#371
+ def set_basic_auth(user, password); end
+
+ # @return [Hash] SSL options.
+ #
+ # source://faraday//lib/faraday/connection.rb#34
+ def ssl; end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/connection.rb#551
+ def support_parallel?(adapter); end
+
+ # source://faraday//lib/faraday/connection.rb#199
+ def trace(url = T.unsafe(nil), params = T.unsafe(nil), headers = T.unsafe(nil)); end
+
+ # @return [String] a URI with the prefix used for all requests from this
+ # Connection. This includes a default host name, scheme, port, and path.
+ #
+ # source://faraday//lib/faraday/connection.rb#28
+ def url_prefix; end
+
+ # Parses the given URL with URI and stores the individual
+ # components in this connection. These components serve as defaults for
+ # requests made by this connection.
+ #
+ # @example
+ #
+ # conn = Faraday::Connection.new { ... }
+ # conn.url_prefix = "https://httpbingo.org/api"
+ # conn.scheme # => https
+ # conn.path_prefix # => "/api"
+ #
+ # conn.get("nigiri?page=2") # accesses https://httpbingo.org/api/nigiri
+ # @param url [String, URI]
+ # @param encoder [Object]
+ #
+ # source://faraday//lib/faraday/connection.rb#356
+ def url_prefix=(url, encoder = T.unsafe(nil)); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def use(*args, **_arg1, &block); end
+
+ # Yields username and password extracted from a URI if they both exist.
+ #
+ # @api private
+ # @param uri [URI]
+ # @return [void]
+ # @yield [username, password] any username and password
+ # @yieldparam username [String] any username from URI
+ # @yieldparam password [String] any password from URI
+ #
+ # source://faraday//lib/faraday/connection.rb#507
+ def with_uri_credentials(uri); end
+end
+
+# A Set of allowed HTTP verbs.
+#
+# source://faraday//lib/faraday/connection.rb#17
+Faraday::Connection::METHODS = T.let(T.unsafe(nil), Set)
+
+# source://faraday//lib/faraday/connection.rb#18
+Faraday::Connection::USER_AGENT = T.let(T.unsafe(nil), String)
+
+# A unified error for failed connections.
+#
+# source://faraday//lib/faraday/error.rb#151
+class Faraday::ConnectionFailed < ::Faraday::Error; end
+
+# ConnectionOptions contains the configurable properties for a Faraday
+# connection object.
+#
+# source://faraday//lib/faraday/options/connection_options.rb#8
+class Faraday::ConnectionOptions < ::Faraday::Options
+ def builder; end
+ def builder=(_); end
+
+ # source://faraday//lib/faraday/options.rb#178
+ def builder_class; end
+
+ def builder_class=(_); end
+ def headers; end
+ def headers=(_); end
+
+ # source://faraday//lib/faraday/options/connection_options.rb#19
+ def new_builder(block); end
+
+ def parallel_manager; end
+ def parallel_manager=(_); end
+ def params; end
+ def params=(_); end
+ def proxy; end
+ def proxy=(_); end
+
+ # source://faraday//lib/faraday/options.rb#178
+ def request; end
+
+ def request=(_); end
+
+ # source://faraday//lib/faraday/options.rb#178
+ def ssl; end
+
+ def ssl=(_); end
+ def url; end
+ def url=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# Sub-module for decoding query-string into parameters.
+#
+# source://faraday//lib/faraday/encoders/nested_params_encoder.rb#81
+module Faraday::DecodeMethods
+ # @param query [nil, String]
+ # @raise [TypeError] if the nesting is incorrect
+ # @return [Array] the decoded params
+ #
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#87
+ def decode(query); end
+
+ protected
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#144
+ def add_to_context(is_array, context, value, subkey); end
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#107
+ def decode_pair(key, value, context); end
+
+ # Internal: convert a nested hash with purely numeric keys into an array.
+ # FIXME: this is not compatible with Rack::Utils.parse_nested_query
+ #
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#151
+ def dehash(hash, depth); end
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#139
+ def match_context(context, subkey); end
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#129
+ def new_context(subkey, is_array, context); end
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#119
+ def prepare_context(context, subkey, is_array, last_subkey); end
+end
+
+# source://faraday//lib/faraday/encoders/nested_params_encoder.rb#105
+Faraday::DecodeMethods::SUBKEYS_REGEX = T.let(T.unsafe(nil), Regexp)
+
+# Sub-module for encoding parameters into query-string.
+#
+# source://faraday//lib/faraday/encoders/nested_params_encoder.rb#5
+module Faraday::EncodeMethods
+ # @param params [nil, Array, #to_hash] parameters to be encoded
+ # @raise [TypeError] if params can not be converted to a Hash
+ # @return [String] the encoded params
+ #
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#11
+ def encode(params); end
+
+ protected
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#64
+ def encode_array(parent, value); end
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#53
+ def encode_hash(parent, value); end
+
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#40
+ def encode_pair(parent, value); end
+end
+
+# source://faraday//lib/faraday/options/env.rb#57
+class Faraday::Env < ::Faraday::Options
+ extend ::Forwardable
+
+ # source://faraday//lib/faraday/options/env.rb#89
+ def [](key); end
+
+ # source://faraday//lib/faraday/options/env.rb#101
+ def []=(key, value); end
+
+ # string.
+ #
+ # @return [String] The request body that will eventually be converted to a
+ #
+ # source://faraday//lib/faraday/options/env.rb#118
+ def body; end
+
+ # string.
+ #
+ # @return [String] The request body that will eventually be converted to a
+ #
+ # source://faraday//lib/faraday/options/env.rb#122
+ def body=(value); end
+
+ # source://faraday//lib/faraday/options/env.rb#138
+ def clear_body; end
+
+ # source://faraday//lib/faraday/options/env.rb#114
+ def current_body; end
+
+ # source://faraday//lib/faraday/options/env.rb#184
+ def custom_members; end
+
+ # source://faraday//lib/faraday/options/env.rb#190
+ def in_member_set?(key); end
+
+ # source://faraday//lib/faraday/options/env.rb#154
+ def inspect; end
+
+ # @return [Symbol] HTTP method (`:get`, `:post`)
+ def method; end
+
+ # @return [Symbol] HTTP method (`:get`, `:post`)
+ def method=(_); end
+
+ # source://faraday//lib/faraday/options/env.rb#133
+ def needs_body?; end
+
+ # source://faraday//lib/faraday/options/env.rb#150
+ def parallel?; end
+
+ # @return [Object] sent if the connection is in parallel mode
+ def parallel_manager; end
+
+ # @return [Object] sent if the connection is in parallel mode
+ def parallel_manager=(_); end
+
+ # @return [Hash]
+ def params; end
+
+ # @return [Hash]
+ def params=(_); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def params_encoder(*args, **_arg1, &block); end
+
+ # source://faraday//lib/faraday/options/env.rb#145
+ def parse_body?; end
+
+ # @return [String]
+ def reason_phrase; end
+
+ # @return [String]
+ def reason_phrase=(_); end
+
+ # Options for configuring the request.
+ #
+ # - `:timeout` - time limit for the entire request (Integer in
+ # seconds)
+ # - `:open_timeout` - time limit for just the connection phase (e.g.
+ # handshake) (Integer in seconds)
+ # - `:read_timeout` - time limit for the first response byte received from
+ # the server (Integer in seconds)
+ # - `:write_timeout` - time limit for the client to send the request to the
+ # server (Integer in seconds)
+ # - `:on_data` - Proc for streaming
+ # - `:proxy` - Hash of proxy options
+ # - `:uri` - Proxy server URI
+ # - `:user` - Proxy server username
+ # - `:password` - Proxy server password
+ #
+ # @return [Hash] options for configuring the request.
+ def request; end
+
+ # Options for configuring the request.
+ #
+ # - `:timeout` - time limit for the entire request (Integer in
+ # seconds)
+ # - `:open_timeout` - time limit for just the connection phase (e.g.
+ # handshake) (Integer in seconds)
+ # - `:read_timeout` - time limit for the first response byte received from
+ # the server (Integer in seconds)
+ # - `:write_timeout` - time limit for the client to send the request to the
+ # server (Integer in seconds)
+ # - `:on_data` - Proc for streaming
+ # - `:proxy` - Hash of proxy options
+ # - `:uri` - Proxy server URI
+ # - `:user` - Proxy server username
+ # - `:password` - Proxy server password
+ #
+ # @return [Hash] options for configuring the request.
+ def request=(_); end
+
+ def request_body; end
+ def request_body=(_); end
+
+ # @return [Hash] HTTP Headers to be sent to the server.
+ def request_headers; end
+
+ # @return [Hash] HTTP Headers to be sent to the server.
+ def request_headers=(_); end
+
+ # @return [Response]
+ def response; end
+
+ # @return [Response]
+ def response=(_); end
+
+ def response_body; end
+ def response_body=(_); end
+
+ # @return [Hash] HTTP headers from the server
+ def response_headers; end
+
+ # @return [Hash] HTTP headers from the server
+ def response_headers=(_); end
+
+ # @return [Hash] options for configuring SSL requests
+ def ssl; end
+
+ # @return [Hash] options for configuring SSL requests
+ def ssl=(_); end
+
+ # @return [Integer] HTTP response status code
+ def status; end
+
+ # @return [Integer] HTTP response status code
+ def status=(_); end
+
+ # source://faraday//lib/faraday/options/env.rb#169
+ def stream_response(&block); end
+
+ # source://faraday//lib/faraday/options/env.rb#165
+ def stream_response?; end
+
+ # source://faraday//lib/faraday/options/env.rb#127
+ def success?; end
+
+ # @return [URI] URI instance for the current request.
+ def url; end
+
+ # @return [URI] URI instance for the current request.
+ def url=(_); end
+
+ class << self
+ def [](*_arg0); end
+
+ # source://faraday//lib/faraday/options/env.rb#80
+ def from(value); end
+
+ def inspect; end
+ def keyword_init?; end
+
+ # source://faraday//lib/faraday/options/env.rb#200
+ def member_set; end
+
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# source://faraday//lib/faraday/options/env.rb#61
+Faraday::Env::ContentLength = T.let(T.unsafe(nil), String)
+
+# source://faraday//lib/faraday/options/env.rb#67
+Faraday::Env::MethodsWithBodies = T.let(T.unsafe(nil), Set)
+
+# source://faraday//lib/faraday/options/env.rb#62
+Faraday::Env::StatusesWithoutBody = T.let(T.unsafe(nil), Set)
+
+# source://faraday//lib/faraday/options/env.rb#63
+Faraday::Env::SuccessfulStatuses = T.let(T.unsafe(nil), Range)
+
+# Faraday error base class.
+#
+# source://faraday//lib/faraday/error.rb#6
+class Faraday::Error < ::StandardError
+ # @return [Error] a new instance of Error
+ #
+ # source://faraday//lib/faraday/error.rb#9
+ def initialize(exc = T.unsafe(nil), response = T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/error.rb#15
+ def backtrace; end
+
+ # source://faraday//lib/faraday/error.rb#23
+ def inspect; end
+
+ # Returns the value of attribute response.
+ #
+ # source://faraday//lib/faraday/error.rb#7
+ def response; end
+
+ # source://faraday//lib/faraday/error.rb#43
+ def response_body; end
+
+ # source://faraday//lib/faraday/error.rb#37
+ def response_headers; end
+
+ # source://faraday//lib/faraday/error.rb#31
+ def response_status; end
+
+ # Returns the value of attribute wrapped_exception.
+ #
+ # source://faraday//lib/faraday/error.rb#7
+ def wrapped_exception; end
+
+ protected
+
+ # Pulls out potential parent exception and response hash.
+ #
+ # source://faraday//lib/faraday/error.rb#81
+ def exc_msg_and_response(exc, response = T.unsafe(nil)); end
+
+ # Pulls out potential parent exception and response hash, storing them in
+ # instance variables.
+ # exc - Either an Exception, a string message, or a response hash.
+ # response - Hash
+ # :status - Optional integer HTTP response status
+ # :headers - String key/value hash of HTTP response header
+ # values.
+ # :body - Optional string HTTP response body.
+ # :request - Hash
+ # :method - Symbol with the request HTTP method.
+ # :url - URI object with the url requested.
+ # :url_path - String with the url path requested.
+ # :params - String key/value hash of query params
+ # present in the request.
+ # :headers - String key/value hash of HTTP request
+ # header values.
+ # :body - String HTTP request body.
+ #
+ # If a subclass has to call this, then it should pass a string message
+ # to `super`. See NilStatusError.
+ #
+ # source://faraday//lib/faraday/error.rb#71
+ def exc_msg_and_response!(exc, response = T.unsafe(nil)); end
+end
+
+# FlatParamsEncoder manages URI params as a flat hash. Any Array values repeat
+# the parameter multiple times.
+#
+# source://faraday//lib/faraday/encoders/flat_params_encoder.rb#6
+module Faraday::FlatParamsEncoder
+ class << self
+ # Decode converts the given URI querystring into a hash.
+ #
+ # @example
+ #
+ # decode('a=one&a=two&a=three&b=true&c=C')
+ # # => {"a"=>["one", "two", "three"], "b"=>"true", "c"=>"C"}
+ # @param query [String] query arguments to parse.
+ # @return [Hash] parsed keys and value strings from the querystring.
+ #
+ # source://faraday//lib/faraday/encoders/flat_params_encoder.rb#74
+ def decode(query); end
+
+ # Encode converts the given param into a URI querystring. Keys and values
+ # will converted to strings and appropriately escaped for the URI.
+ #
+ # @example
+ #
+ # encode({a: %w[one two three], b: true, c: "C"})
+ # # => 'a=one&a=two&a=three&b=true&c=C'
+ # @param params [Hash] query arguments to convert.
+ # @return [String] the URI querystring (without the leading '?')
+ #
+ # source://faraday//lib/faraday/encoders/flat_params_encoder.rb#23
+ def encode(params); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def escape(*args, **_arg1, &block); end
+
+ # Returns the value of attribute sort_params.
+ #
+ # source://faraday//lib/faraday/encoders/flat_params_encoder.rb#99
+ def sort_params; end
+
+ # Sets the attribute sort_params
+ #
+ # @param value the value to set the attribute sort_params to.
+ #
+ # source://faraday//lib/faraday/encoders/flat_params_encoder.rb#99
+ def sort_params=(_arg0); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def unescape(*args, **_arg1, &block); end
+ end
+end
+
+# Raised by Faraday::Response::RaiseError in case of a 403 response.
+#
+# source://faraday//lib/faraday/error.rb#104
+class Faraday::ForbiddenError < ::Faraday::ClientError; end
+
+# source://faraday//lib/faraday/logging/formatter.rb#6
+module Faraday::Logging; end
+
+# Serves as an integration point to customize logging
+#
+# source://faraday//lib/faraday/logging/formatter.rb#8
+class Faraday::Logging::Formatter
+ extend ::Forwardable
+
+ # @return [Formatter] a new instance of Formatter
+ #
+ # source://faraday//lib/faraday/logging/formatter.rb#14
+ def initialize(logger:, options:); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def debug(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def error(*args, **_arg1, &block); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#41
+ def exception(exc); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def fatal(*args, **_arg1, &block); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#52
+ def filter(filter_word, filter_replacement); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def info(*args, **_arg1, &block); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#25
+ def request(env); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#34
+ def response(env); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def warn(*args, **_arg1, &block); end
+
+ private
+
+ # source://faraday//lib/faraday/logging/formatter.rb#98
+ def apply_filters(output); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#64
+ def dump_body(body); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#58
+ def dump_headers(headers); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#113
+ def log_body(type, body); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/logging/formatter.rb#85
+ def log_body?(type); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/logging/formatter.rb#94
+ def log_errors?; end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#109
+ def log_headers(type, headers); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/logging/formatter.rb#76
+ def log_headers?(type); end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#105
+ def log_level; end
+
+ # source://faraday//lib/faraday/logging/formatter.rb#72
+ def pretty_inspect(body); end
+end
+
+# source://faraday//lib/faraday/logging/formatter.rb#11
+Faraday::Logging::Formatter::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
+
+# source://faraday//lib/faraday/methods.rb#5
+Faraday::METHODS_WITH_BODY = T.let(T.unsafe(nil), Array)
+
+# source://faraday//lib/faraday/methods.rb#4
+Faraday::METHODS_WITH_QUERY = T.let(T.unsafe(nil), Array)
+
+# Middleware is the basic base class of any Faraday middleware.
+#
+# source://faraday//lib/faraday/middleware.rb#5
+class Faraday::Middleware
+ extend ::Faraday::MiddlewareRegistry
+
+ # @return [Middleware] a new instance of Middleware
+ #
+ # source://faraday//lib/faraday/middleware.rb#10
+ def initialize(app = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Returns the value of attribute app.
+ #
+ # source://faraday//lib/faraday/middleware.rb#8
+ def app; end
+
+ # source://faraday//lib/faraday/middleware.rb#15
+ def call(env); end
+
+ # source://faraday//lib/faraday/middleware.rb#25
+ def close; end
+
+ # Returns the value of attribute options.
+ #
+ # source://faraday//lib/faraday/middleware.rb#8
+ def options; end
+end
+
+# Adds the ability for other modules to register and lookup
+# middleware classes.
+#
+# source://faraday//lib/faraday/middleware_registry.rb#8
+module Faraday::MiddlewareRegistry
+ # Lookup middleware class with a registered Symbol shortcut.
+ #
+ # @example
+ #
+ # module Faraday
+ # class Whatever < Middleware
+ # register_middleware(foo: Whatever)
+ # end
+ # end
+ #
+ # Faraday::Middleware.lookup_middleware(:foo)
+ # # => Faraday::Whatever
+ # @param key [Symbol] key for the registered middleware.
+ # @raise [Faraday::Error] if given key is not registered
+ # @return [Class] a middleware Class.
+ #
+ # source://faraday//lib/faraday/middleware_registry.rb#55
+ def lookup_middleware(key); end
+
+ # Register middleware class(es) on the current module.
+ #
+ # @example Lookup by a constant
+ #
+ # module Faraday
+ # class Whatever < Middleware
+ # # Middleware looked up by :foo returns Faraday::Whatever::Foo.
+ # register_middleware(foo: Whatever)
+ # end
+ # end
+ # @param mappings [Hash] Middleware mappings from a lookup symbol to a middleware class.
+ # @return [void]
+ #
+ # source://faraday//lib/faraday/middleware_registry.rb#26
+ def register_middleware(**mappings); end
+
+ # source://faraday//lib/faraday/middleware_registry.rb#9
+ def registered_middleware; end
+
+ # Unregister a previously registered middleware class.
+ #
+ # @param key [Symbol] key for the registered middleware.
+ #
+ # source://faraday//lib/faraday/middleware_registry.rb#35
+ def unregister_middleware(key); end
+
+ private
+
+ # source://faraday//lib/faraday/middleware_registry.rb#67
+ def load_middleware(key); end
+
+ # source://faraday//lib/faraday/middleware_registry.rb#62
+ def middleware_mutex(&block); end
+end
+
+# This is the default encoder for Faraday requests.
+# Using this encoder, parameters will be encoded respecting their structure,
+# so you can send objects such as Arrays or Hashes as parameters
+# for your requests.
+#
+# source://faraday//lib/faraday/encoders/nested_params_encoder.rb#168
+module Faraday::NestedParamsEncoder
+ extend ::Faraday::EncodeMethods
+ extend ::Faraday::DecodeMethods
+
+ class << self
+ # Returns the value of attribute array_indices.
+ #
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#170
+ def array_indices; end
+
+ # Sets the attribute array_indices
+ #
+ # @param value the value to set the attribute array_indices to.
+ #
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#170
+ def array_indices=(_arg0); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def escape(*args, **_arg1, &block); end
+
+ # Returns the value of attribute sort_params.
+ #
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#170
+ def sort_params; end
+
+ # Sets the attribute sort_params
+ #
+ # @param value the value to set the attribute sort_params to.
+ #
+ # source://faraday//lib/faraday/encoders/nested_params_encoder.rb#170
+ def sort_params=(_arg0); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def unescape(*args, **_arg1, &block); end
+ end
+end
+
+# Raised by Faraday::Response::RaiseError in case of a nil status in response.
+#
+# source://faraday//lib/faraday/error.rb#143
+class Faraday::NilStatusError < ::Faraday::ServerError
+ # @return [NilStatusError] a new instance of NilStatusError
+ #
+ # source://faraday//lib/faraday/error.rb#144
+ def initialize(exc, response = T.unsafe(nil)); end
+end
+
+# Subclasses Struct with some special helpers for converting from a Hash to
+# a Struct.
+#
+# source://faraday//lib/faraday/options.rb#6
+class Faraday::Options < ::Struct
+ # source://faraday//lib/faraday/options.rb#186
+ def [](key); end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#46
+ def clear; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#71
+ def deep_dup; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#39
+ def delete(key); end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#13
+ def each; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#106
+ def each_key(&block); end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#120
+ def each_value(&block); end
+
+ # Public
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/options.rb#101
+ def empty?; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#76
+ def fetch(key, *args); end
+
+ # Public
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/options.rb#113
+ def has_key?(key); end
+
+ # Public
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/options.rb#127
+ def has_value?(value); end
+
+ # Internal
+ #
+ # source://faraday//lib/faraday/options.rb#144
+ def inspect; end
+
+ # Public
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/options.rb#113
+ def key?(key); end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#96
+ def keys; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#66
+ def merge(other); end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#51
+ def merge!(other); end
+
+ # source://faraday//lib/faraday/options.rb#195
+ def symbolized_key_set; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#134
+ def to_hash; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#22
+ def update(obj); end
+
+ # Public
+ #
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/options.rb#127
+ def value?(value); end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#91
+ def values_at(*keys); end
+
+ class << self
+ # Internal
+ #
+ # source://faraday//lib/faraday/options.rb#166
+ def attribute_options; end
+
+ # source://faraday//lib/faraday/options.rb#205
+ def fetch_error_class; end
+
+ # Public
+ #
+ # source://faraday//lib/faraday/options.rb#8
+ def from(value); end
+
+ # @private
+ #
+ # source://faraday//lib/faraday/options.rb#199
+ def inherited(subclass); end
+
+ # source://faraday//lib/faraday/options.rb#170
+ def memoized(key, &block); end
+
+ # source://faraday//lib/faraday/options.rb#182
+ def memoized_attributes; end
+
+ # Internal
+ #
+ # source://faraday//lib/faraday/options.rb#156
+ def options(mapping); end
+
+ # Internal
+ #
+ # source://faraday//lib/faraday/options.rb#161
+ def options_for(key); end
+ end
+end
+
+# Raised by middlewares that parse the response, like the JSON response middleware.
+#
+# source://faraday//lib/faraday/error.rb#159
+class Faraday::ParsingError < ::Faraday::Error; end
+
+# Raised by Faraday::Response::RaiseError in case of a 407 response.
+#
+# source://faraday//lib/faraday/error.rb#112
+class Faraday::ProxyAuthError < ::Faraday::ClientError; end
+
+# ProxyOptions contains the configurable properties for the proxy
+# configuration used when making an HTTP request.
+#
+# source://faraday//lib/faraday/options/proxy_options.rb#8
+class Faraday::ProxyOptions < ::Faraday::Options
+ extend ::Forwardable
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def host(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def host=(*args, **_arg1, &block); end
+
+ # source://faraday//lib/faraday/options.rb#178
+ def password; end
+
+ def password=(_); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def path(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def path=(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def port(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def port=(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def scheme(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def scheme=(*args, **_arg1, &block); end
+
+ def uri; end
+ def uri=(_); end
+
+ # source://faraday//lib/faraday/options.rb#178
+ def user; end
+
+ def user=(_); end
+
+ class << self
+ def [](*_arg0); end
+
+ # source://faraday//lib/faraday/options/proxy_options.rb#13
+ def from(value); end
+
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# A Builder that processes requests into responses by passing through an inner
+# middleware stack (heavily inspired by Rack).
+#
+# @example
+# Faraday::Connection.new(url: 'http://httpbingo.org') do |builder|
+# builder.request :url_encoded # Faraday::Request::UrlEncoded
+# builder.adapter :net_http # Faraday::Adapter::NetHttp
+# end
+#
+# source://faraday//lib/faraday/rack_builder.rb#14
+class Faraday::RackBuilder
+ # @return [RackBuilder] a new instance of RackBuilder
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#60
+ def initialize(&block); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#178
+ def ==(other); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#78
+ def [](idx); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#109
+ def adapter(klass = T.unsafe(nil), *args, **_arg2, &block); end
+
+ # The "rack app" wrapped in middleware. All requests are sent here.
+ #
+ # The builder is responsible for creating the app object. After this,
+ # the builder gets locked to ensure no further modifications are made
+ # to the middleware stack.
+ #
+ # Returns an object that responds to `call` and returns a Response.
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#162
+ def app; end
+
+ # source://faraday//lib/faraday/rack_builder.rb#72
+ def build; end
+
+ # ENV Keys
+ # :http_method - a symbolized request HTTP method (:get, :post)
+ # :body - the request body that will eventually be converted to a string.
+ # :url - URI instance for the current request.
+ # :status - HTTP response status code
+ # :request_headers - hash of HTTP Headers to be sent to the server
+ # :response_headers - Hash of HTTP headers from the server
+ # :parallel_manager - sent if the connection is in parallel mode
+ # :request - Hash of options for configuring the request.
+ # :timeout - open/read timeout Integer in seconds
+ # :open_timeout - read timeout Integer in seconds
+ # :proxy - Hash of proxy options
+ # :uri - Proxy Server URI
+ # :user - Proxy server username
+ # :password - Proxy server password
+ # :ssl - Hash of options for configuring SSL requests.
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#200
+ def build_env(connection, request); end
+
+ # Processes a Request into a Response by passing it through this Builder's
+ # middleware stack.
+ #
+ # @param connection [Faraday::Connection]
+ # @param request [Faraday::Request]
+ # @return [Faraday::Response]
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#151
+ def build_response(connection, request); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#139
+ def delete(handler); end
+
+ # Returns the value of attribute handlers.
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#18
+ def handlers; end
+
+ # Sets the attribute handlers
+ #
+ # @param value the value to set the attribute handlers to.
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#18
+ def handlers=(_arg0); end
+
+ # methods to push onto the various positions in the stack:
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#118
+ def insert(index, *args, **_arg2, &block); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#127
+ def insert_after(index, *args, **_arg2, &block); end
+
+ # methods to push onto the various positions in the stack:
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#118
+ def insert_before(index, *args, **_arg2, &block); end
+
+ # Locks the middleware stack to ensure no further modifications are made.
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#83
+ def lock!; end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#87
+ def locked?; end
+
+ # source://faraday//lib/faraday/rack_builder.rb#101
+ def request(key, *args, **_arg2, &block); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#105
+ def response(key, *args, **_arg2, &block); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#132
+ def swap(index, *args, **_arg2, &block); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#170
+ def to_app; end
+
+ # source://faraday//lib/faraday/rack_builder.rb#91
+ def use(klass, *args, **_arg2, &block); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#232
+ def adapter_set?; end
+
+ # source://faraday//lib/faraday/rack_builder.rb#244
+ def assert_index(index); end
+
+ # @raise [MISSING_ADAPTER_ERROR]
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#228
+ def ensure_adapter!; end
+
+ # source://faraday//lib/faraday/rack_builder.rb#66
+ def initialize_dup(original); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#236
+ def is_adapter?(klass); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#222
+ def raise_if_adapter(klass); end
+
+ # @raise [StackLocked]
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#218
+ def raise_if_locked; end
+
+ # source://faraday//lib/faraday/rack_builder.rb#240
+ def use_symbol(mod, key, *args, **_arg3, &block); end
+end
+
+# borrowed from ActiveSupport::Dependencies::Reference &
+# ActionDispatch::MiddlewareStack::Middleware
+#
+# source://faraday//lib/faraday/rack_builder.rb#25
+class Faraday::RackBuilder::Handler
+ # source://faraday//lib/faraday/rack_builder.rb#30
+ def initialize(klass, *args, **_arg2, &block); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#45
+ def ==(other); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#55
+ def build(app = T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/rack_builder.rb#41
+ def inspect; end
+
+ # source://faraday//lib/faraday/rack_builder.rb#37
+ def klass; end
+
+ # Returns the value of attribute name.
+ #
+ # source://faraday//lib/faraday/rack_builder.rb#28
+ def name; end
+end
+
+# source://faraday//lib/faraday/rack_builder.rb#26
+Faraday::RackBuilder::Handler::REGISTRY = T.let(T.unsafe(nil), Faraday::AdapterRegistry)
+
+# source://faraday//lib/faraday/rack_builder.rb#213
+Faraday::RackBuilder::LOCK_ERR = T.let(T.unsafe(nil), String)
+
+# source://faraday//lib/faraday/rack_builder.rb#214
+Faraday::RackBuilder::MISSING_ADAPTER_ERROR = T.let(T.unsafe(nil), String)
+
+# Used to detect missing arguments
+#
+# source://faraday//lib/faraday/rack_builder.rb#16
+Faraday::RackBuilder::NO_ARGUMENT = T.let(T.unsafe(nil), Object)
+
+# Error raised when trying to modify the stack after calling `lock!`
+#
+# source://faraday//lib/faraday/rack_builder.rb#21
+class Faraday::RackBuilder::StackLocked < ::RuntimeError; end
+
+# Used to setup URLs, params, headers, and the request body in a sane manner.
+#
+# @example
+# @connection.post do |req|
+# req.url 'http://localhost', 'a' => '1' # 'http://localhost?a=1'
+# req.headers['b'] = '2' # Header
+# req.params['c'] = '3' # GET Param
+# req['b'] = '2' # also Header
+# req.body = 'abc'
+# end
+#
+# source://faraday//lib/faraday/request.rb#27
+class Faraday::Request < ::Struct
+ extend ::Faraday::MiddlewareRegistry
+
+ # @param key [Object] key to look up in headers
+ # @return [Object] value of the given header name
+ #
+ # source://faraday//lib/faraday/request.rb#92
+ def [](key); end
+
+ # @param key [Object] key of header to write
+ # @param value [Object] value of header
+ #
+ # source://faraday//lib/faraday/request.rb#98
+ def []=(key, value); end
+
+ # @return [String] body
+ def body; end
+
+ # @return [String] body
+ def body=(_); end
+
+ # @return [Faraday::Utils::Headers] headers
+ def headers; end
+
+ # Replace request headers, preserving the existing hash type.
+ #
+ # @param hash [Hash] new headers
+ #
+ # source://faraday//lib/faraday/request.rb#61
+ def headers=(hash); end
+
+ # @return [Symbol] the HTTP method of the Request
+ def http_method; end
+
+ # @return [Symbol] the HTTP method of the Request
+ def http_method=(_); end
+
+ # Marshal serialization support.
+ #
+ # @return [Hash] the hash ready to be serialized in Marshal.
+ #
+ # source://faraday//lib/faraday/request.rb#105
+ def marshal_dump; end
+
+ # Marshal serialization support.
+ # Restores the instance variables according to the +serialised+.
+ #
+ # @param serialised [Hash] the serialised object.
+ #
+ # source://faraday//lib/faraday/request.rb#119
+ def marshal_load(serialised); end
+
+ # @return [RequestOptions] options
+ def options; end
+
+ # @return [RequestOptions] options
+ def options=(_); end
+
+ # @return [Hash] query parameters
+ def params; end
+
+ # Replace params, preserving the existing hash type.
+ #
+ # @param hash [Hash] new params
+ #
+ # source://faraday//lib/faraday/request.rb#49
+ def params=(hash); end
+
+ # @return [URI, String] the path
+ def path; end
+
+ # @return [URI, String] the path
+ def path=(_); end
+
+ # @return [Env] the Env for this Request
+ #
+ # source://faraday//lib/faraday/request.rb#129
+ def to_env(connection); end
+
+ # Update path and params.
+ #
+ # @param path [URI, String]
+ # @param params [Hash, nil]
+ # @return [void]
+ #
+ # source://faraday//lib/faraday/request.rb#74
+ def url(path, params = T.unsafe(nil)); end
+
+ private
+
+ def member_get(_arg0); end
+ def member_set(_arg0, _arg1); end
+
+ class << self
+ def [](*_arg0); end
+
+ # @param request_method [String]
+ # @return [Request]
+ # @yield [request] for block customization, if block given
+ # @yieldparam request [Request]
+ #
+ # source://faraday//lib/faraday/request.rb#39
+ def create(request_method); end
+
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# Request middleware for the Authorization HTTP header
+#
+# source://faraday//lib/faraday/request/authorization.rb#6
+class Faraday::Request::Authorization < ::Faraday::Middleware
+ # @param app [#call]
+ # @param type [String, Symbol] Type of Authorization
+ # @param params [Array] parameters to build the Authorization header.
+ # If the type is `:basic`, then these can be a login and password pair.
+ # Otherwise, a single value is expected that will be appended after the type.
+ # This value can be a proc or an object responding to `.call`, in which case
+ # it will be invoked on each request.
+ # @return [Authorization] a new instance of Authorization
+ #
+ # source://faraday//lib/faraday/request/authorization.rb#16
+ def initialize(app, type, *params); end
+
+ # @param env [Faraday::Env]
+ #
+ # source://faraday//lib/faraday/request/authorization.rb#23
+ def on_request(env); end
+
+ private
+
+ # @param type [String, Symbol]
+ # @param env [Faraday::Env]
+ # @param params [Array]
+ # @return [String] a header value
+ #
+ # source://faraday//lib/faraday/request/authorization.rb#35
+ def header_from(type, env, *params); end
+end
+
+# source://faraday//lib/faraday/request/authorization.rb#7
+Faraday::Request::Authorization::KEY = T.let(T.unsafe(nil), String)
+
+# Middleware for instrumenting Requests.
+#
+# source://faraday//lib/faraday/request/instrumentation.rb#6
+class Faraday::Request::Instrumentation < ::Faraday::Middleware
+ # Instruments requests using Active Support.
+ #
+ # Measures time spent only for synchronous requests.
+ #
+ # @example Using ActiveSupport::Notifications to measure time spent
+ # for Faraday requests.
+ # ActiveSupport::Notifications
+ # .subscribe('request.faraday') do |name, starts, ends, _, env|
+ # url = env[:url]
+ # http_method = env[:method].to_s.upcase
+ # duration = ends - starts
+ # $stderr.puts '[%s] %s %s (%.3f s)' %
+ # [url.host, http_method, url.request_uri, duration]
+ # end
+ # @option options
+ # @option options
+ # @param app [#call]
+ # @param options [nil, Hash] Options hash
+ # @return [Instrumentation] a new instance of Instrumentation
+ #
+ # source://faraday//lib/faraday/request/instrumentation.rb#42
+ def initialize(app, options = T.unsafe(nil)); end
+
+ # @param env [Faraday::Env]
+ #
+ # source://faraday//lib/faraday/request/instrumentation.rb#49
+ def call(env); end
+end
+
+# Options class used in Request::Instrumentation class.
+#
+# source://faraday//lib/faraday/request/instrumentation.rb#8
+class Faraday::Request::Instrumentation::Options < ::Faraday::Options
+ # source://faraday//lib/faraday/request/instrumentation.rb#17
+ def instrumenter; end
+
+ def instrumenter=(_); end
+
+ # source://faraday//lib/faraday/request/instrumentation.rb#11
+ def name; end
+
+ def name=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# Request middleware that encodes the body as JSON.
+#
+# Processes only requests with matching Content-type or those without a type.
+# If a request doesn't have a type but has a body, it sets the Content-type
+# to JSON MIME-type.
+#
+# Doesn't try to encode bodies that already are in string form.
+#
+# source://faraday//lib/faraday/request/json.rb#14
+class Faraday::Request::Json < ::Faraday::Middleware
+ # source://faraday//lib/faraday/request/json.rb#18
+ def on_request(env); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/request/json.rb#48
+ def body?(env); end
+
+ # source://faraday//lib/faraday/request/json.rb#26
+ def encode(data); end
+
+ # @yield []
+ #
+ # source://faraday//lib/faraday/request/json.rb#36
+ def match_content_type(env); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/request/json.rb#43
+ def process_request?(env); end
+
+ # source://faraday//lib/faraday/request/json.rb#61
+ def request_type(env); end
+end
+
+# source://faraday//lib/faraday/request/json.rb#15
+Faraday::Request::Json::MIME_TYPE = T.let(T.unsafe(nil), String)
+
+# source://faraday//lib/faraday/request/json.rb#16
+Faraday::Request::Json::MIME_TYPE_REGEX = T.let(T.unsafe(nil), Regexp)
+
+# Middleware for supporting urlencoded requests.
+#
+# source://faraday//lib/faraday/request/url_encoded.rb#6
+class Faraday::Request::UrlEncoded < ::Faraday::Middleware
+ # Encodes as "application/x-www-form-urlencoded" if not already encoded or
+ # of another type.
+ #
+ # @param env [Faraday::Env]
+ #
+ # source://faraday//lib/faraday/request/url_encoded.rb#20
+ def call(env); end
+
+ # @param env [Faraday::Env]
+ # @yield [request_body] Body of the request
+ #
+ # source://faraday//lib/faraday/request/url_encoded.rb#30
+ def match_content_type(env); end
+
+ # @param env [Faraday::Env]
+ # @return [Boolean] True if the request has a body and its Content-Type is
+ # urlencoded.
+ #
+ # source://faraday//lib/faraday/request/url_encoded.rb#43
+ def process_request?(env); end
+
+ # @param env [Faraday::Env]
+ # @return [String]
+ #
+ # source://faraday//lib/faraday/request/url_encoded.rb#51
+ def request_type(env); end
+
+ class << self
+ # Returns the value of attribute mime_type.
+ #
+ # source://faraday//lib/faraday/request/url_encoded.rb#12
+ def mime_type; end
+
+ # Sets the attribute mime_type
+ #
+ # @param value the value to set the attribute mime_type to.
+ #
+ # source://faraday//lib/faraday/request/url_encoded.rb#12
+ def mime_type=(_arg0); end
+ end
+end
+
+# source://faraday//lib/faraday/request/url_encoded.rb#8
+Faraday::Request::UrlEncoded::CONTENT_TYPE = T.let(T.unsafe(nil), String)
+
+# RequestOptions contains the configurable properties for a Faraday request.
+#
+# source://faraday//lib/faraday/options/request_options.rb#7
+class Faraday::RequestOptions < ::Faraday::Options
+ # source://faraday//lib/faraday/options/request_options.rb#11
+ def []=(key, value); end
+
+ def bind; end
+ def bind=(_); end
+ def boundary; end
+ def boundary=(_); end
+ def context; end
+ def context=(_); end
+ def oauth; end
+ def oauth=(_); end
+ def on_data; end
+ def on_data=(_); end
+ def open_timeout; end
+ def open_timeout=(_); end
+ def params_encoder; end
+ def params_encoder=(_); end
+ def proxy; end
+ def proxy=(_); end
+ def read_timeout; end
+ def read_timeout=(_); end
+
+ # source://faraday//lib/faraday/options/request_options.rb#19
+ def stream_response?; end
+
+ def timeout; end
+ def timeout=(_); end
+ def write_timeout; end
+ def write_timeout=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# Raised by Faraday::Response::RaiseError in case of a 408 response.
+#
+# source://faraday//lib/faraday/error.rb#116
+class Faraday::RequestTimeoutError < ::Faraday::ClientError; end
+
+# Raised by Faraday::Response::RaiseError in case of a 404 response.
+#
+# source://faraday//lib/faraday/error.rb#108
+class Faraday::ResourceNotFound < ::Faraday::ClientError; end
+
+# Response represents an HTTP response from making an HTTP request.
+#
+# source://faraday//lib/faraday/response.rb#7
+class Faraday::Response
+ extend ::Forwardable
+ extend ::Faraday::MiddlewareRegistry
+
+ # @return [Response] a new instance of Response
+ #
+ # source://faraday//lib/faraday/response.rb#11
+ def initialize(env = T.unsafe(nil)); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def [](*args, **_arg1, &block); end
+
+ # Expand the env with more properties, without overriding existing ones.
+ # Useful for applying request params after restoring a marshalled Response.
+ #
+ # source://faraday//lib/faraday/response.rb#80
+ def apply_request(request_env); end
+
+ # source://faraday//lib/faraday/response.rb#32
+ def body; end
+
+ # Returns the value of attribute env.
+ #
+ # source://faraday//lib/faraday/response.rb#16
+ def env; end
+
+ # source://faraday//lib/faraday/response.rb#49
+ def finish(env); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/response.rb#36
+ def finished?; end
+
+ # source://faraday//lib/faraday/response.rb#26
+ def headers; end
+
+ # because @on_complete_callbacks cannot be marshalled
+ #
+ # source://faraday//lib/faraday/response.rb#70
+ def marshal_dump; end
+
+ # source://faraday//lib/faraday/response.rb#74
+ def marshal_load(env); end
+
+ # source://faraday//lib/faraday/response.rb#40
+ def on_complete(&block); end
+
+ # source://faraday//lib/faraday/response.rb#22
+ def reason_phrase; end
+
+ # source://faraday//lib/faraday/response.rb#18
+ def status; end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/response.rb#57
+ def success?; end
+
+ # source://faraday//lib/faraday/response.rb#61
+ def to_hash; end
+end
+
+# Parse response bodies as JSON.
+#
+# source://faraday//lib/faraday/response/json.rb#8
+class Faraday::Response::Json < ::Faraday::Middleware
+ # @return [Json] a new instance of Json
+ #
+ # source://faraday//lib/faraday/response/json.rb#9
+ def initialize(app = T.unsafe(nil), parser_options: T.unsafe(nil), content_type: T.unsafe(nil), preserve_raw: T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/response/json.rb#18
+ def on_complete(env); end
+
+ private
+
+ # source://faraday//lib/faraday/response/json.rb#31
+ def parse(body); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/response/json.rb#39
+ def parse_response?(env); end
+
+ # source://faraday//lib/faraday/response/json.rb#57
+ def process_parser_options; end
+
+ # source://faraday//lib/faraday/response/json.rb#24
+ def process_response(env); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/response/json.rb#44
+ def process_response_type?(env); end
+
+ # source://faraday//lib/faraday/response/json.rb#51
+ def response_type(env); end
+end
+
+# Logger is a middleware that logs internal events in the HTTP request
+# lifecycle to a given Logger object. By default, this logs to STDOUT. See
+# Faraday::Logging::Formatter to see specifically what is logged.
+#
+# source://faraday//lib/faraday/response/logger.rb#12
+class Faraday::Response::Logger < ::Faraday::Middleware
+ # @return [Logger] a new instance of Logger
+ # @yield [@formatter]
+ #
+ # source://faraday//lib/faraday/response/logger.rb#13
+ def initialize(app, logger = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/response/logger.rb#21
+ def call(env); end
+
+ # source://faraday//lib/faraday/response/logger.rb#26
+ def on_complete(env); end
+
+ # source://faraday//lib/faraday/response/logger.rb#30
+ def on_error(exc); end
+end
+
+# RaiseError is a Faraday middleware that raises exceptions on common HTTP
+# client or server error responses.
+#
+# source://faraday//lib/faraday/response/raise_error.rb#7
+class Faraday::Response::RaiseError < ::Faraday::Middleware
+ # source://faraday//lib/faraday/response/raise_error.rb#13
+ def on_complete(env); end
+
+ # source://faraday//lib/faraday/response/raise_error.rb#75
+ def query_params(env); end
+
+ # Returns a hash of response data with the following keys:
+ # - status
+ # - headers
+ # - body
+ # - request
+ #
+ # The `request` key is omitted when the middleware is explicitly
+ # configured with the option `include_request: false`.
+ #
+ # source://faraday//lib/faraday/response/raise_error.rb#52
+ def response_values(env); end
+end
+
+# source://faraday//lib/faraday/response/raise_error.rb#9
+Faraday::Response::RaiseError::ClientErrorStatuses = T.let(T.unsafe(nil), Range)
+
+# source://faraday//lib/faraday/response/raise_error.rb#10
+Faraday::Response::RaiseError::ServerErrorStatuses = T.let(T.unsafe(nil), Range)
+
+# A unified client error for SSL errors.
+#
+# source://faraday//lib/faraday/error.rb#155
+class Faraday::SSLError < ::Faraday::Error; end
+
+# SSL-related options.
+#
+# source://faraday//lib/faraday/options/ssl_options.rb#50
+class Faraday::SSLOptions < ::Faraday::Options
+ # @return [String] CA file
+ def ca_file; end
+
+ # @return [String] CA file
+ def ca_file=(_); end
+
+ # @return [String] CA path
+ def ca_path; end
+
+ # @return [String] CA path
+ def ca_path=(_); end
+
+ # @return [OpenSSL::X509::Store] certificate store
+ def cert_store; end
+
+ # @return [OpenSSL::X509::Store] certificate store
+ def cert_store=(_); end
+
+ # @return [OpenSSL::X509::Certificate] certificate (Excon only)
+ def certificate; end
+
+ # @return [OpenSSL::X509::Certificate] certificate (Excon only)
+ def certificate=(_); end
+
+ # @return [String, OpenSSL::X509::Certificate] client certificate
+ def client_cert; end
+
+ # @return [String, OpenSSL::X509::Certificate] client certificate
+ def client_cert=(_); end
+
+ # @return [String, OpenSSL::PKey::RSA, OpenSSL::PKey::DSA] client key
+ def client_key; end
+
+ # @return [String, OpenSSL::PKey::RSA, OpenSSL::PKey::DSA] client key
+ def client_key=(_); end
+
+ # source://faraday//lib/faraday/options/ssl_options.rb#61
+ def disable?; end
+
+ # @return [String, Symbol] maximum SSL version (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html#method-i-max_version-3D)
+ def max_version; end
+
+ # @return [String, Symbol] maximum SSL version (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html#method-i-max_version-3D)
+ def max_version=(_); end
+
+ # @return [String, Symbol] minimum SSL version (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html#method-i-min_version-3D)
+ def min_version; end
+
+ # @return [String, Symbol] minimum SSL version (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html#method-i-min_version-3D)
+ def min_version=(_); end
+
+ # @return [OpenSSL::PKey::RSA, OpenSSL::PKey::DSA] private key (Excon only)
+ def private_key; end
+
+ # @return [OpenSSL::PKey::RSA, OpenSSL::PKey::DSA] private key (Excon only)
+ def private_key=(_); end
+
+ # @return [Boolean] whether to verify SSL certificates or not
+ def verify; end
+
+ # @return [Boolean] whether to verify SSL certificates or not
+ def verify=(_); end
+
+ # source://faraday//lib/faraday/options/ssl_options.rb#56
+ def verify?; end
+
+ # @return [Integer] maximum depth for the certificate chain verification
+ def verify_depth; end
+
+ # @return [Integer] maximum depth for the certificate chain verification
+ def verify_depth=(_); end
+
+ # @return [Boolean] whether to enable hostname verification on server certificates
+ # during the handshake or not (see https://github.com/ruby/openssl/pull/60)
+ def verify_hostname; end
+
+ # @return [Boolean] whether to enable hostname verification on server certificates
+ # during the handshake or not (see https://github.com/ruby/openssl/pull/60)
+ def verify_hostname=(_); end
+
+ # source://faraday//lib/faraday/options/ssl_options.rb#66
+ def verify_hostname?; end
+
+ # @return [Integer] Any `OpenSSL::SSL::` constant (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html)
+ def verify_mode; end
+
+ # @return [Integer] Any `OpenSSL::SSL::` constant (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html)
+ def verify_mode=(_); end
+
+ # @return [String, Symbol] SSL version (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html#method-i-ssl_version-3D)
+ def version; end
+
+ # @return [String, Symbol] SSL version (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html#method-i-ssl_version-3D)
+ def version=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# Faraday server error class. Represents 5xx status responses.
+#
+# source://faraday//lib/faraday/error.rb#132
+class Faraday::ServerError < ::Faraday::Error; end
+
+# A unified client error for timeouts.
+#
+# source://faraday//lib/faraday/error.rb#136
+class Faraday::TimeoutError < ::Faraday::ServerError
+ # @return [TimeoutError] a new instance of TimeoutError
+ #
+ # source://faraday//lib/faraday/error.rb#137
+ def initialize(exc = T.unsafe(nil), response = T.unsafe(nil)); end
+end
+
+# Raised by Faraday::Response::RaiseError in case of a 429 response.
+#
+# source://faraday//lib/faraday/error.rb#128
+class Faraday::TooManyRequestsError < ::Faraday::ClientError; end
+
+# Raised by Faraday::Response::RaiseError in case of a 401 response.
+#
+# source://faraday//lib/faraday/error.rb#100
+class Faraday::UnauthorizedError < ::Faraday::ClientError; end
+
+# Raised by Faraday::Response::RaiseError in case of a 422 response.
+#
+# source://faraday//lib/faraday/error.rb#124
+class Faraday::UnprocessableEntityError < ::Faraday::ClientError; end
+
+# Utils contains various static helper methods.
+#
+# source://faraday//lib/faraday/utils/headers.rb#4
+module Faraday::Utils
+ private
+
+ # Normalize URI() behavior across Ruby versions
+ #
+ # url - A String or URI.
+ #
+ # Returns a parsed URI.
+ #
+ # source://faraday//lib/faraday/utils.rb#70
+ def URI(url); end
+
+ # source://faraday//lib/faraday/utils.rb#55
+ def basic_header_from(login, pass); end
+
+ # source://faraday//lib/faraday/utils.rb#16
+ def build_nested_query(params); end
+
+ # source://faraday//lib/faraday/utils.rb#12
+ def build_query(params); end
+
+ # Recursive hash merge
+ #
+ # source://faraday//lib/faraday/utils.rb#113
+ def deep_merge(source, hash); end
+
+ # Recursive hash update
+ #
+ # source://faraday//lib/faraday/utils.rb#101
+ def deep_merge!(target, hash); end
+
+ # source://faraday//lib/faraday/utils.rb#51
+ def default_params_encoder; end
+
+ # source://faraday//lib/faraday/utils.rb#20
+ def default_space_encoding; end
+
+ # source://faraday//lib/faraday/utils.rb#80
+ def default_uri_parser; end
+
+ # source://faraday//lib/faraday/utils.rb#84
+ def default_uri_parser=(parser); end
+
+ # source://faraday//lib/faraday/utils.rb#30
+ def escape(str); end
+
+ # Receives a String or URI and returns just
+ # the path with the query string sorted.
+ #
+ # source://faraday//lib/faraday/utils.rb#94
+ def normalize_path(url); end
+
+ # source://faraday//lib/faraday/utils.rb#47
+ def parse_nested_query(query); end
+
+ # Adapted from Rack
+ #
+ # source://faraday//lib/faraday/utils.rb#43
+ def parse_query(query); end
+
+ # source://faraday//lib/faraday/utils.rb#117
+ def sort_query_params(query); end
+
+ # source://faraday//lib/faraday/utils.rb#36
+ def unescape(str); end
+
+ class << self
+ # Normalize URI() behavior across Ruby versions
+ #
+ # url - A String or URI.
+ #
+ # Returns a parsed URI.
+ #
+ # source://faraday//lib/faraday/utils.rb#70
+ def URI(url); end
+
+ # source://faraday//lib/faraday/utils.rb#55
+ def basic_header_from(login, pass); end
+
+ # source://faraday//lib/faraday/utils.rb#16
+ def build_nested_query(params); end
+
+ # source://faraday//lib/faraday/utils.rb#12
+ def build_query(params); end
+
+ # Recursive hash merge
+ #
+ # source://faraday//lib/faraday/utils.rb#113
+ def deep_merge(source, hash); end
+
+ # Recursive hash update
+ #
+ # source://faraday//lib/faraday/utils.rb#101
+ def deep_merge!(target, hash); end
+
+ # source://faraday//lib/faraday/utils.rb#51
+ def default_params_encoder; end
+
+ # Sets the attribute default_params_encoder
+ #
+ # @param value the value to set the attribute default_params_encoder to.
+ #
+ # source://faraday//lib/faraday/utils.rb#62
+ def default_params_encoder=(_arg0); end
+
+ # source://faraday//lib/faraday/utils.rb#20
+ def default_space_encoding; end
+
+ # Sets the attribute default_space_encoding
+ #
+ # @param value the value to set the attribute default_space_encoding to.
+ #
+ # source://faraday//lib/faraday/utils.rb#25
+ def default_space_encoding=(_arg0); end
+
+ # source://faraday//lib/faraday/utils.rb#80
+ def default_uri_parser; end
+
+ # source://faraday//lib/faraday/utils.rb#84
+ def default_uri_parser=(parser); end
+
+ # source://faraday//lib/faraday/utils.rb#30
+ def escape(str); end
+
+ # Receives a String or URI and returns just
+ # the path with the query string sorted.
+ #
+ # source://faraday//lib/faraday/utils.rb#94
+ def normalize_path(url); end
+
+ # source://faraday//lib/faraday/utils.rb#47
+ def parse_nested_query(query); end
+
+ # Adapted from Rack
+ #
+ # source://faraday//lib/faraday/utils.rb#43
+ def parse_query(query); end
+
+ # source://faraday//lib/faraday/utils.rb#117
+ def sort_query_params(query); end
+
+ # source://faraday//lib/faraday/utils.rb#36
+ def unescape(str); end
+ end
+end
+
+# source://faraday//lib/faraday/utils.rb#40
+Faraday::Utils::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp)
+
+# source://faraday//lib/faraday/utils.rb#28
+Faraday::Utils::ESCAPE_RE = T.let(T.unsafe(nil), Regexp)
+
+# A case-insensitive Hash that preserves the original case of a header
+# when set.
+#
+# Adapted from Rack::Utils::HeaderHash
+#
+# source://faraday//lib/faraday/utils/headers.rb#9
+class Faraday::Utils::Headers < ::Hash
+ # @return [Headers] a new instance of Headers
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#20
+ def initialize(hash = T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#52
+ def [](key); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#57
+ def []=(key, val); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#71
+ def delete(key); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#65
+ def fetch(key, *args, &block); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#80
+ def has_key?(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#80
+ def include?(key); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#26
+ def initialize_names; end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#80
+ def key?(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#80
+ def member?(key); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#95
+ def merge(other); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#88
+ def merge!(other); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#111
+ def parse(header_string); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#100
+ def replace(other); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#107
+ def to_hash; end
+
+ # source://faraday//lib/faraday/utils/headers.rb#88
+ def update(other); end
+
+ protected
+
+ # Returns the value of attribute names.
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#129
+ def names; end
+
+ private
+
+ # Join multiple values with a comma.
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#134
+ def add_parsed(key, value); end
+
+ # on dup/clone, we need to duplicate @names hash
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#31
+ def initialize_copy(other); end
+
+ class << self
+ # source://faraday//lib/faraday/utils/headers.rb#14
+ def allocate; end
+
+ # source://faraday//lib/faraday/utils/headers.rb#10
+ def from(value); end
+ end
+end
+
+# symbol -> string mapper + cache
+#
+# source://faraday//lib/faraday/utils/headers.rb#40
+Faraday::Utils::Headers::KeyMap = T.let(T.unsafe(nil), Hash)
+
+# A hash with stringified keys.
+#
+# source://faraday//lib/faraday/utils/params_hash.rb#6
+class Faraday::Utils::ParamsHash < ::Hash
+ # source://faraday//lib/faraday/utils/params_hash.rb#7
+ def [](key); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#11
+ def []=(key, value); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#15
+ def delete(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/params_hash.rb#19
+ def has_key?(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/params_hash.rb#19
+ def include?(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/params_hash.rb#19
+ def key?(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/params_hash.rb#19
+ def member?(key); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#35
+ def merge(params); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#27
+ def merge!(params); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#44
+ def merge_query(query, encoder = T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#39
+ def replace(other); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#50
+ def to_query(encoder = T.unsafe(nil)); end
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#27
+ def update(params); end
+
+ private
+
+ # source://faraday//lib/faraday/utils/params_hash.rb#56
+ def convert_key(key); end
+end
+
+# source://faraday//lib/faraday/version.rb#4
+Faraday::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/ffi@1.15.5.rbi b/sorbet/rbi/gems/ffi@1.15.5.rbi
new file mode 100644
index 00000000..c24a533c
--- /dev/null
+++ b/sorbet/rbi/gems/ffi@1.15.5.rbi
@@ -0,0 +1,8 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `ffi` gem.
+# Please instead update this file by running `bin/tapioca gem ffi`.
+
+# THIS IS AN EMPTY RBI FILE.
+# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
diff --git a/sorbet/rbi/gems/filelock@1.1.1.rbi b/sorbet/rbi/gems/filelock@1.1.1.rbi
new file mode 100644
index 00000000..4870365f
--- /dev/null
+++ b/sorbet/rbi/gems/filelock@1.1.1.rbi
@@ -0,0 +1,33 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `filelock` gem.
+# Please instead update this file by running `bin/tapioca gem filelock`.
+
+# source://filelock//lib/filelock/version.rb#1
+module Filelock; end
+
+# source://filelock//lib/filelock/exec_timeout.rb#2
+class Filelock::ExecTimeout < ::Timeout::Error
+ # source://filelock//lib/filelock/exec_timeout.rb#3
+ def message; end
+end
+
+# source://filelock//lib/filelock/version.rb#2
+Filelock::VERSION = T.let(T.unsafe(nil), String)
+
+# source://filelock//lib/filelock/wait_timeout.rb#2
+class Filelock::WaitTimeout < ::Timeout::Error
+ # source://filelock//lib/filelock/wait_timeout.rb#3
+ def message; end
+end
+
+class Object < ::BasicObject
+ include ::Kernel
+ include ::PP::ObjectMixin
+
+ private
+
+ # source://filelock//lib/filelock.rb#16
+ def Filelock(lockname, options = T.unsafe(nil), &block); end
+end
diff --git a/sorbet/rbi/gems/gssapi@1.3.1.rbi b/sorbet/rbi/gems/gssapi@1.3.1.rbi
new file mode 100644
index 00000000..6acf38fe
--- /dev/null
+++ b/sorbet/rbi/gems/gssapi@1.3.1.rbi
@@ -0,0 +1,8 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `gssapi` gem.
+# Please instead update this file by running `bin/tapioca gem gssapi`.
+
+# THIS IS AN EMPTY RBI FILE.
+# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
diff --git a/sorbet/rbi/gems/gyoku@1.4.0.rbi b/sorbet/rbi/gems/gyoku@1.4.0.rbi
new file mode 100644
index 00000000..ac8684dc
--- /dev/null
+++ b/sorbet/rbi/gems/gyoku@1.4.0.rbi
@@ -0,0 +1,193 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `gyoku` gem.
+# Please instead update this file by running `bin/tapioca gem gyoku`.
+
+# source://gyoku//lib/gyoku/version.rb#1
+module Gyoku
+ class << self
+ # Translates a given +hash+ with +options+ to XML.
+ #
+ # source://gyoku//lib/gyoku.rb#12
+ def xml(hash, options = T.unsafe(nil)); end
+
+ # Converts a given Hash +key+ with +options+ into an XML tag.
+ #
+ # source://gyoku//lib/gyoku.rb#7
+ def xml_tag(key, options = T.unsafe(nil)); end
+ end
+end
+
+# source://gyoku//lib/gyoku/array.rb#7
+class Gyoku::Array
+ class << self
+ # Translates a given +array+ to XML. Accepts the XML +key+ to add the elements to,
+ # whether to +escape_xml+ and an optional Hash of +attributes+.
+ #
+ # source://gyoku//lib/gyoku/array.rb#26
+ def build_xml(array, key, escape_xml = T.unsafe(nil), attributes = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Iterates over a given +array+ with a Hash of +attributes+ and yields a builder +xml+
+ # instance, the current +item+, any XML +attributes+ and the current +index+.
+ #
+ # source://gyoku//lib/gyoku/array.rb#72
+ def iterate_array(xml, array, attributes, &block); end
+
+ # Iterates over a given +array+ with a Hash of +attributes+ and yields a builder +xml+
+ # instance, the current +item+, any XML +attributes+ and the current +index+.
+ #
+ # source://gyoku//lib/gyoku/array.rb#55
+ def iterate_with_xml(array, key, attributes, options, &block); end
+
+ # Takes a Hash of +attributes+ and the +index+ for which to return attributes
+ # for duplicate tags.
+ #
+ # source://gyoku//lib/gyoku/array.rb#90
+ def tag_attributes(attributes, index); end
+
+ # Builds XML and prettifies it if +pretty_print+ option is set to +true+
+ #
+ # source://gyoku//lib/gyoku/array.rb#12
+ def to_xml(array, key, escape_xml = T.unsafe(nil), attributes = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # @return [Boolean]
+ #
+ # source://gyoku//lib/gyoku/array.rb#99
+ def unwrap?(unwrap, key); end
+ end
+end
+
+# source://gyoku//lib/gyoku/array.rb#9
+Gyoku::Array::NESTED_ELEMENT_NAME = T.let(T.unsafe(nil), String)
+
+# source://gyoku//lib/gyoku/hash.rb#9
+class Gyoku::Hash
+ class << self
+ # Translates a given +hash+ with +options+ to XML.
+ #
+ # source://gyoku//lib/gyoku/hash.rb#25
+ def build_xml(hash, options = T.unsafe(nil)); end
+
+ # Iterates over a given +hash+ and yields a builder +xml+ instance, the current
+ # Hash +key+ and any XML +attributes+.
+ #
+ # Keys beginning with "@" are treated as explicit attributes for their container.
+ # You can use both :attributes! and "@" keys to specify attributes.
+ # In the event of a conflict, the "@" key takes precedence.
+ #
+ # source://gyoku//lib/gyoku/hash.rb#48
+ def iterate_with_xml(hash); end
+
+ # Deletes and returns an Array of keys stored under the :order! key of a given +hash+.
+ # Defaults to return the actual keys of the Hash if no :order! key could be found.
+ # Raises an ArgumentError in case the :order! Array does not match the Hash keys.
+ #
+ # @raise [ArgumentError]
+ #
+ # source://gyoku//lib/gyoku/hash.rb#80
+ def order(hash); end
+
+ # Builds XML and prettifies it if +pretty_print+ option is set to +true+
+ #
+ # source://gyoku//lib/gyoku/hash.rb#12
+ def to_xml(hash, options = T.unsafe(nil)); end
+ end
+end
+
+# source://gyoku//lib/gyoku/prettifier.rb#4
+class Gyoku::Prettifier
+ # @return [Prettifier] a new instance of Prettifier
+ #
+ # source://gyoku//lib/gyoku/prettifier.rb#14
+ def initialize(options = T.unsafe(nil)); end
+
+ # Returns the value of attribute compact.
+ #
+ # source://gyoku//lib/gyoku/prettifier.rb#8
+ def compact; end
+
+ # Sets the attribute compact
+ #
+ # @param value the value to set the attribute compact to.
+ #
+ # source://gyoku//lib/gyoku/prettifier.rb#8
+ def compact=(_arg0); end
+
+ # Returns the value of attribute indent.
+ #
+ # source://gyoku//lib/gyoku/prettifier.rb#8
+ def indent; end
+
+ # Sets the attribute indent
+ #
+ # @param value the value to set the attribute indent to.
+ #
+ # source://gyoku//lib/gyoku/prettifier.rb#8
+ def indent=(_arg0); end
+
+ # Adds intendations and newlines to +xml+ to make it more readable
+ #
+ # source://gyoku//lib/gyoku/prettifier.rb#20
+ def prettify(xml); end
+
+ class << self
+ # source://gyoku//lib/gyoku/prettifier.rb#10
+ def prettify(xml, options = T.unsafe(nil)); end
+ end
+end
+
+# source://gyoku//lib/gyoku/prettifier.rb#6
+Gyoku::Prettifier::DEFAULT_COMPACT = T.let(T.unsafe(nil), TrueClass)
+
+# source://gyoku//lib/gyoku/prettifier.rb#5
+Gyoku::Prettifier::DEFAULT_INDENT = T.let(T.unsafe(nil), Integer)
+
+# source://gyoku//lib/gyoku/version.rb#2
+Gyoku::VERSION = T.let(T.unsafe(nil), String)
+
+# source://gyoku//lib/gyoku/xml_key.rb#2
+module Gyoku::XMLKey
+ class << self
+ # Converts a given +object+ with +options+ to an XML key.
+ #
+ # source://gyoku//lib/gyoku/xml_key.rb#17
+ def create(key, options = T.unsafe(nil)); end
+
+ private
+
+ # Chops special characters from the end of a given +string+.
+ #
+ # source://gyoku//lib/gyoku/xml_key.rb#53
+ def chop_special_characters(string); end
+
+ # Returns the formula for converting Symbol keys.
+ #
+ # source://gyoku//lib/gyoku/xml_key.rb#36
+ def key_converter(options, xml_key); end
+
+ # Returns whether to namespace all keys (elementFormDefault).
+ #
+ # @return [Boolean]
+ #
+ # source://gyoku//lib/gyoku/xml_key.rb#63
+ def qualify?(options); end
+
+ # Returns whether to remove the namespace from a given +key+.
+ #
+ # @return [Boolean]
+ #
+ # source://gyoku//lib/gyoku/xml_key.rb#58
+ def unqualify?(key); end
+ end
+end
+
+# source://gyoku//lib/gyoku/xml_value.rb#5
+module Gyoku::XMLValue
+ class << self
+ # Converts a given +object+ to an XML value.
+ #
+ # source://gyoku//lib/gyoku/xml_value.rb#18
+ def create(object, escape_xml = T.unsafe(nil), options = T.unsafe(nil)); end
+ end
+end
diff --git a/sorbet/rbi/gems/httpclient@2.8.3.rbi b/sorbet/rbi/gems/httpclient@2.8.3.rbi
new file mode 100644
index 00000000..f617fabe
--- /dev/null
+++ b/sorbet/rbi/gems/httpclient@2.8.3.rbi
@@ -0,0 +1,4310 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `httpclient` gem.
+# Please instead update this file by running `bin/tapioca gem httpclient`.
+
+# A namespace module for HTTP Message definitions used by HTTPClient.
+#
+# source://httpclient//lib/httpclient/http.rb#19
+module HTTP; end
+
+# Represents a HTTP message. A message is for a request or a response.
+#
+# Request message is generated from given parameters internally so users
+# don't need to care about it. Response message is the instance that
+# methods of HTTPClient returns so users need to know how to extract
+# HTTP response data from Message.
+#
+# Some attributes are only for a request or a response, not both.
+#
+# == How to use HTTP response message
+#
+# 1. Gets response message body.
+#
+# res = clnt.get(url)
+# p res.content #=> String
+#
+# 2. Gets response status code.
+#
+# res = clnt.get(url)
+# p res.status #=> 200, 501, etc. (Integer)
+#
+# 3. Gets response header.
+#
+# res = clnt.get(url)
+# res.header['set-cookie'].each do |value|
+# p value
+# end
+# assert_equal(1, res.header['last-modified'].size)
+# p res.header['last-modified'].first
+#
+# source://httpclient//lib/httpclient/http.rb#98
+class HTTP::Message
+ include ::HTTPClient::Util
+
+ # Creates a Message. This method should be used internally.
+ # Use Message.new_connect_request, Message.new_request or
+ # Message.new_response instead.
+ #
+ # @return [Message] a new instance of Message
+ #
+ # source://httpclient//lib/httpclient/http.rb#949
+ def initialize; end
+
+ # Returns a content of message body. A String or an IO.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1039
+ def body; end
+
+ # Sets a new body. header.body_size is updated with new body.size.
+ #
+ # source://httpclient//lib/httpclient/http.rb#970
+ def body=(body); end
+
+ # Returns content encoding
+ #
+ # source://httpclient//lib/httpclient/http.rb#1034
+ def body_encoding; end
+
+ # Returns HTTP status code in response. Integer.
+ #
+ # source://httpclient//lib/httpclient/http.rb#998
+ def code; end
+
+ # Returns a content of message body. A String or an IO.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1039
+ def content; end
+
+ # Returns 'Content-Type' header value.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1022
+ def content_type; end
+
+ # Sets 'Content-Type' header value. Overrides if already exists.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1027
+ def content_type=(content_type); end
+
+ # Returns 'Content-Type' header value.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1022
+ def contenttype; end
+
+ # Sets 'Content-Type' header value. Overrides if already exists.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1027
+ def contenttype=(content_type); end
+
+ # Extracts cookies from 'Set-Cookie' header.
+ # Supports 'Set-Cookie' in response header only.
+ # Do we need 'Cookie' support in request header?
+ #
+ # source://httpclient//lib/httpclient/http.rb#1057
+ def cookies; end
+
+ # Dumps message (header and body) to given dev.
+ # dev needs to respond to <<.
+ #
+ # source://httpclient//lib/httpclient/http.rb#957
+ def dump(dev = T.unsafe(nil)); end
+
+ # HTTP::Message::Headers:: message header.
+ #
+ # source://httpclient//lib/httpclient/http.rb#933
+ def header; end
+
+ # Returns Hash of header. key and value are both String. Each key has a
+ # single value so you can't extract exact value when a message has multiple
+ # headers like 'Set-Cookie'. Use header['Set-Cookie'] for that purpose.
+ # (It returns an Array always)
+ #
+ # source://httpclient//lib/httpclient/http.rb#1050
+ def headers; end
+
+ # HTTP::Message::Body:: message body.
+ #
+ # source://httpclient//lib/httpclient/http.rb#936
+ def http_body; end
+
+ # Sets a new body. header.body_size is updated with new body.size.
+ #
+ # source://httpclient//lib/httpclient/http.rb#970
+ def http_body=(body); end
+
+ # HTTP::Message::Headers:: message header.
+ #
+ # source://httpclient//lib/httpclient/http.rb#933
+ def http_header; end
+
+ # HTTP::Message::Headers:: message header.
+ #
+ # source://httpclient//lib/httpclient/http.rb#933
+ def http_header=(_arg0); end
+
+ # Returns HTTP version in a HTTP header. String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#977
+ def http_version; end
+
+ # Sets HTTP version in a HTTP header. String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#982
+ def http_version=(http_version); end
+
+ # Convenience method to return boolean of whether we had a successful request
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#1068
+ def ok?; end
+
+ # OpenSSL::X509::Certificate:: response only. server certificate which is
+ # used for retrieving the response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#940
+ def peer_cert; end
+
+ # OpenSSL::X509::Certificate:: response only. server certificate which is
+ # used for retrieving the response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#940
+ def peer_cert=(_arg0); end
+
+ # The other Message object when this Message is generated instead of
+ # the Message because of redirection, negotiation, or format conversion.
+ #
+ # source://httpclient//lib/httpclient/http.rb#944
+ def previous; end
+
+ # The other Message object when this Message is generated instead of
+ # the Message because of redirection, negotiation, or format conversion.
+ #
+ # source://httpclient//lib/httpclient/http.rb#944
+ def previous=(_arg0); end
+
+ # Returns HTTP status reason phrase in response. String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1012
+ def reason; end
+
+ # Sets HTTP status reason phrase of response. String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1017
+ def reason=(reason); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#1072
+ def redirect?; end
+
+ # SEE_OTHER is a redirect, but it should sent as GET
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#1077
+ def see_other?; end
+
+ # Returns HTTP status code in response. Integer.
+ #
+ # source://httpclient//lib/httpclient/http.rb#998
+ def status; end
+
+ # Sets HTTP status code of response. Integer.
+ # Reason phrase is updated, too.
+ #
+ # source://httpclient//lib/httpclient/http.rb#1007
+ def status=(status); end
+
+ # Returns HTTP status code in response. Integer.
+ #
+ # source://httpclient//lib/httpclient/http.rb#998
+ def status_code; end
+
+ # source://httpclient//lib/httpclient/http.rb#987
+ def version; end
+
+ # source://httpclient//lib/httpclient/http.rb#992
+ def version=(version); end
+
+ class << self
+ # source://httpclient//lib/httpclient/http.rb#852
+ def create_query_part_str(query); end
+
+ # source://httpclient//lib/httpclient/http.rb#896
+ def escape(str); end
+
+ # source://httpclient//lib/httpclient/http.rb#873
+ def escape_query(query); end
+
+ # Returns true if the given object is a File. In HTTPClient, a file is;
+ # * must respond to :read for retrieving String chunks.
+ # * must respond to :pos and :pos= to rewind for reading.
+ # Rewinding is only needed for following HTTP redirect. Some IO impl
+ # defines :pos= but raises an Exception for pos= such as StringIO
+ # but there's no problem as far as using it for non-following methods
+ # (get/post/etc.)
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#847
+ def file?(obj); end
+
+ # Returns MIME type handler.
+ #
+ # source://httpclient//lib/httpclient/http.rb#785
+ def get_mime_type_func; end
+
+ # Default MIME type handler.
+ # See mime_type_handler=.
+ #
+ # source://httpclient//lib/httpclient/http.rb#808
+ def internal_mime_type(path); end
+
+ # Returns true if the given HTTP version allows keep alive connection.
+ # version:: String
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#831
+ def keep_alive_enabled?(version); end
+
+ # source://httpclient//lib/httpclient/http.rb#793
+ def mime_type(path); end
+
+ # Returns MIME type handler.
+ #
+ # source://httpclient//lib/httpclient/http.rb#785
+ def mime_type_handler; end
+
+ # Sets MIME type handler.
+ #
+ # handler must respond to :call with a single argument :path and returns
+ # a MIME type String e.g. 'text/html'.
+ # When the handler returns nil or an empty String,
+ # 'application/octet-stream' is used.
+ #
+ # When you set nil to the handler, internal_mime_type is used instead.
+ # The handler is nil by default.
+ #
+ # source://httpclient//lib/httpclient/http.rb#780
+ def mime_type_handler=(handler); end
+
+ # Returns true if the given query (or body) has a multiple parameter.
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#836
+ def multiparam_query?(query); end
+
+ # Creates a Message instance of 'CONNECT' request.
+ # 'CONNECT' request does not have Body.
+ # uri:: an URI that need to connect. Only uri.host and uri.port are used.
+ #
+ # source://httpclient//lib/httpclient/http.rb#724
+ def new_connect_request(uri); end
+
+ # Creates a Message instance of general request.
+ # method:: HTTP method String.
+ # uri:: an URI object which represents an URL of web resource.
+ # query:: a Hash or an Array of query part of URL.
+ # e.g. { "a" => "b" } => 'http://host/part?a=b'
+ # Give an array to pass multiple value like
+ # [["a", "b"], ["a", "c"]] => 'http://host/part?a=b&a=c'
+ # body:: a Hash or an Array of body part.
+ # e.g. { "a" => "b" } => 'a=b'.
+ # Give an array to pass multiple value like
+ # [["a", "b"], ["a", "c"]] => 'a=b&a=c'.
+ # boundary:: When the boundary given, it is sent as
+ # a multipart/form-data using this boundary String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#744
+ def new_request(method, uri, query = T.unsafe(nil), body = T.unsafe(nil), boundary = T.unsafe(nil)); end
+
+ # Creates a Message instance of response.
+ # body:: a String or an IO of response message body.
+ #
+ # source://httpclient//lib/httpclient/http.rb#760
+ def new_response(body, req = T.unsafe(nil)); end
+
+ # from CGI.parse
+ #
+ # source://httpclient//lib/httpclient/http.rb#910
+ def parse(query); end
+
+ # Sets MIME type handler.
+ #
+ # handler must respond to :call with a single argument :path and returns
+ # a MIME type String e.g. 'text/html'.
+ # When the handler returns nil or an empty String,
+ # 'application/octet-stream' is used.
+ #
+ # When you set nil to the handler, internal_mime_type is used instead.
+ # The handler is nil by default.
+ # For backward compatibility.
+ #
+ # source://httpclient//lib/httpclient/http.rb#780
+ def set_mime_type_func(handler); end
+
+ # from CGI.unescape
+ #
+ # source://httpclient//lib/httpclient/http.rb#924
+ def unescape(string); end
+
+ private
+
+ def new(*_arg0); end
+ end
+end
+
+# Represents HTTP message body.
+#
+# source://httpclient//lib/httpclient/http.rb#443
+class HTTP::Message::Body
+ # Creates a Message::Body. Use init_request or init_response
+ # for acutual initialize.
+ #
+ # @return [Body] a new instance of Body
+ #
+ # source://httpclient//lib/httpclient/http.rb#456
+ def initialize; end
+
+ # maxbytes of IO#read for streaming request. See DEFAULT_CHUNK_SIZE.
+ #
+ # source://httpclient//lib/httpclient/http.rb#447
+ def chunk_size; end
+
+ # maxbytes of IO#read for streaming request. See DEFAULT_CHUNK_SIZE.
+ #
+ # source://httpclient//lib/httpclient/http.rb#447
+ def chunk_size=(_arg0); end
+
+ # Returns a message body itself.
+ #
+ # source://httpclient//lib/httpclient/http.rb#545
+ def content; end
+
+ # Dumps message body to given dev.
+ # dev needs to respond to <<.
+ #
+ # Message header must be given as the first argument for performance
+ # reason. (header is dumped to dev, too)
+ # If no dev (the second argument) given, this method returns a dumped
+ # String.
+ #
+ # assert: @size is not nil
+ #
+ # source://httpclient//lib/httpclient/http.rb#494
+ def dump(header = T.unsafe(nil), dev = T.unsafe(nil)); end
+
+ # Dumps message body with chunked encoding to given dev.
+ # dev needs to respond to <<.
+ #
+ # Message header must be given as the first argument for performance
+ # reason. (header is dumped to dev, too)
+ # If no dev (the second argument) given, this method returns a dumped
+ # String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#524
+ def dump_chunked(header = T.unsafe(nil), dev = T.unsafe(nil)); end
+
+ # Initialize this instance as a request.
+ #
+ # source://httpclient//lib/httpclient/http.rb#464
+ def init_request(body = T.unsafe(nil), boundary = T.unsafe(nil)); end
+
+ # Initialize this instance as a response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#473
+ def init_response(body = T.unsafe(nil)); end
+
+ # Hash that keeps IO positions
+ #
+ # source://httpclient//lib/httpclient/http.rb#449
+ def positions; end
+
+ # Hash that keeps IO positions
+ #
+ # source://httpclient//lib/httpclient/http.rb#449
+ def positions=(_arg0); end
+
+ # Size of body. nil when size is unknown (e.g. chunked response).
+ #
+ # source://httpclient//lib/httpclient/http.rb#445
+ def size; end
+
+ private
+
+ # source://httpclient//lib/httpclient/http.rb#663
+ def build_query_multipart_str(query, boundary); end
+
+ # source://httpclient//lib/httpclient/http.rb#594
+ def dump_chunk(str); end
+
+ # source://httpclient//lib/httpclient/http.rb#602
+ def dump_chunk_size(size); end
+
+ # source://httpclient//lib/httpclient/http.rb#587
+ def dump_chunks(io, dev); end
+
+ # source://httpclient//lib/httpclient/http.rb#576
+ def dump_file(io, dev, sz); end
+
+ # source://httpclient//lib/httpclient/http.rb#598
+ def dump_last_chunk; end
+
+ # source://httpclient//lib/httpclient/http.rb#701
+ def params_from_file(value); end
+
+ # source://httpclient//lib/httpclient/http.rb#567
+ def remember_pos(io); end
+
+ # source://httpclient//lib/httpclient/http.rb#572
+ def reset_pos(io); end
+
+ # source://httpclient//lib/httpclient/http.rb#551
+ def set_content(body, boundary = T.unsafe(nil)); end
+end
+
+# Default value for chunk_size
+#
+# source://httpclient//lib/httpclient/http.rb#452
+HTTP::Message::Body::DEFAULT_CHUNK_SIZE = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#606
+class HTTP::Message::Body::Parts
+ # @return [Parts] a new instance of Parts
+ #
+ # source://httpclient//lib/httpclient/http.rb#610
+ def initialize; end
+
+ # source://httpclient//lib/httpclient/http.rb#617
+ def add(part); end
+
+ # source://httpclient//lib/httpclient/http.rb#645
+ def parts; end
+
+ # Returns the value of attribute size.
+ #
+ # source://httpclient//lib/httpclient/http.rb#607
+ def size; end
+
+ # Returns the value of attribute sizes.
+ #
+ # source://httpclient//lib/httpclient/http.rb#608
+ def sizes; end
+
+ private
+
+ # source://httpclient//lib/httpclient/http.rb#655
+ def add_size(part, sz); end
+end
+
+# source://httpclient//lib/httpclient/http.rb#101
+HTTP::Message::CRLF = T.let(T.unsafe(nil), String)
+
+# Represents HTTP message header.
+#
+# source://httpclient//lib/httpclient/http.rb#104
+class HTTP::Message::Headers
+ # Creates a Message::Headers. Use init_request, init_response, or
+ # init_connect_request for acutual initialize.
+ #
+ # @return [Headers] a new instance of Headers
+ #
+ # source://httpclient//lib/httpclient/http.rb#162
+ def initialize; end
+
+ # Returns an Array of header values for the given key.
+ #
+ # source://httpclient//lib/httpclient/http.rb#323
+ def [](key); end
+
+ # Adds a header. See set.
+ #
+ # source://httpclient//lib/httpclient/http.rb#318
+ def []=(key, value); end
+
+ # Adds a header. Addition order is preserved.
+ #
+ # source://httpclient//lib/httpclient/http.rb#278
+ def add(key, value); end
+
+ # Returns an Array of all headers.
+ #
+ # source://httpclient//lib/httpclient/http.rb#307
+ def all; end
+
+ # Used for dumping response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#129
+ def body_charset; end
+
+ # Used for dumping response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#129
+ def body_charset=(_arg0); end
+
+ # Used for dumping response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#131
+ def body_date; end
+
+ # Used for dumping response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#131
+ def body_date=(_arg0); end
+
+ # Used for keeping content encoding.
+ #
+ # source://httpclient//lib/httpclient/http.rb#133
+ def body_encoding; end
+
+ # Size of body. nil when size is unknown (e.g. chunked response).
+ #
+ # source://httpclient//lib/httpclient/http.rb#108
+ def body_size; end
+
+ # Sets byte size of message body.
+ # body_size == nil means that the body is_a? IO
+ #
+ # source://httpclient//lib/httpclient/http.rb#254
+ def body_size=(body_size); end
+
+ # Used for dumping response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#127
+ def body_type; end
+
+ # Used for dumping response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#127
+ def body_type=(_arg0); end
+
+ # Request/Response is chunked or not.
+ #
+ # source://httpclient//lib/httpclient/http.rb#110
+ def chunked; end
+
+ # Request/Response is chunked or not.
+ #
+ # source://httpclient//lib/httpclient/http.rb#110
+ def chunked=(_arg0); end
+
+ # Returns 'Content-Type' header value.
+ #
+ # source://httpclient//lib/httpclient/http.rb#225
+ def content_type; end
+
+ # Sets 'Content-Type' header value. Overrides if already exists.
+ #
+ # source://httpclient//lib/httpclient/http.rb#230
+ def content_type=(content_type); end
+
+ # Returns 'Content-Type' header value.
+ #
+ # source://httpclient//lib/httpclient/http.rb#225
+ def contenttype; end
+
+ # Sets 'Content-Type' header value. Overrides if already exists.
+ #
+ # source://httpclient//lib/httpclient/http.rb#230
+ def contenttype=(content_type); end
+
+ # source://httpclient//lib/httpclient/http.rb#346
+ def create_query_part; end
+
+ # source://httpclient//lib/httpclient/http.rb#334
+ def create_query_uri; end
+
+ # Deletes headers of the given key.
+ #
+ # source://httpclient//lib/httpclient/http.rb#312
+ def delete(key); end
+
+ # Dumps message header part and returns a dumped String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#259
+ def dump; end
+
+ # Returns an Array of headers for the given key. Each element is a pair
+ # of key and value. It returns an single element Array even if the only
+ # one header exists. If nil key given, it returns all headers.
+ #
+ # source://httpclient//lib/httpclient/http.rb#297
+ def get(key = T.unsafe(nil)); end
+
+ # HTTP version in a HTTP header. String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#106
+ def http_version; end
+
+ # HTTP version in a HTTP header. String.
+ #
+ # source://httpclient//lib/httpclient/http.rb#106
+ def http_version=(_arg0); end
+
+ # Initialize this instance as a CONNECT request.
+ #
+ # source://httpclient//lib/httpclient/http.rb#186
+ def init_connect_request(uri); end
+
+ # Initialize this instance as a general request.
+ #
+ # source://httpclient//lib/httpclient/http.rb#197
+ def init_request(method, uri, query = T.unsafe(nil)); end
+
+ # Initialize this instance as a response.
+ #
+ # source://httpclient//lib/httpclient/http.rb#207
+ def init_response(status_code, req = T.unsafe(nil)); end
+
+ # Response only. HTTP status reason phrase.
+ #
+ # source://httpclient//lib/httpclient/http.rb#124
+ def reason_phrase; end
+
+ # Response only. HTTP status reason phrase.
+ #
+ # source://httpclient//lib/httpclient/http.rb#124
+ def reason_phrase=(_arg0); end
+
+ # Request only. Requested via proxy or not.
+ #
+ # source://httpclient//lib/httpclient/http.rb#119
+ def request_absolute_uri; end
+
+ # Request only. Requested via proxy or not.
+ #
+ # source://httpclient//lib/httpclient/http.rb#119
+ def request_absolute_uri=(_arg0); end
+
+ # Request only. Requested method.
+ #
+ # source://httpclient//lib/httpclient/http.rb#113
+ def request_method; end
+
+ # Request only. Requested query.
+ #
+ # source://httpclient//lib/httpclient/http.rb#117
+ def request_query; end
+
+ # Request only. Requested query.
+ #
+ # source://httpclient//lib/httpclient/http.rb#117
+ def request_query=(_arg0); end
+
+ # Request only. Requested URI.
+ #
+ # source://httpclient//lib/httpclient/http.rb#115
+ def request_uri; end
+
+ # Request only. Requested URI.
+ #
+ # source://httpclient//lib/httpclient/http.rb#115
+ def request_uri=(_arg0); end
+
+ # Sets a header.
+ #
+ # source://httpclient//lib/httpclient/http.rb#289
+ def set(key, value); end
+
+ # source://httpclient//lib/httpclient/http.rb#239
+ def set_body_encoding; end
+
+ # Set Date header
+ #
+ # source://httpclient//lib/httpclient/http.rb#273
+ def set_date_header; end
+
+ # source://httpclient//lib/httpclient/http.rb#327
+ def set_headers(headers); end
+
+ # Response only. HTTP status
+ #
+ # source://httpclient//lib/httpclient/http.rb#122
+ def status_code; end
+
+ # Sets status code and reason phrase.
+ #
+ # source://httpclient//lib/httpclient/http.rb#219
+ def status_code=(status_code); end
+
+ private
+
+ # source://httpclient//lib/httpclient/http.rb#431
+ def charset_label; end
+
+ # source://httpclient//lib/httpclient/http.rb#363
+ def request_line; end
+
+ # source://httpclient//lib/httpclient/http.rb#371
+ def response_status_line; end
+
+ # source://httpclient//lib/httpclient/http.rb#379
+ def set_header; end
+
+ # source://httpclient//lib/httpclient/http.rb#387
+ def set_request_header; end
+
+ # source://httpclient//lib/httpclient/http.rb#409
+ def set_response_header; end
+end
+
+# $KCODE to charset mapping definition.
+#
+# source://httpclient//lib/httpclient/http.rb#153
+HTTP::Message::Headers::CHARSET_MAP = T.let(T.unsafe(nil), Hash)
+
+# Placeholder URI object for nil uri.
+#
+# source://httpclient//lib/httpclient/http.rb#195
+HTTP::Message::Headers::NIL_URI = T.let(T.unsafe(nil), HTTPClient::Util::AddressableURI)
+
+# HTTP response status code to reason phrase mapping definition.
+#
+# source://httpclient//lib/httpclient/http.rb#136
+HTTP::Message::Headers::STATUS_CODE_MAP = T.let(T.unsafe(nil), Hash)
+
+# source://httpclient//lib/httpclient/http.rb#986
+HTTP::Message::VERSION_WARNING = T.let(T.unsafe(nil), String)
+
+# Represents HTTP response status code. Defines constants for HTTP response
+# and some conditional methods.
+#
+# source://httpclient//lib/httpclient/http.rb#24
+module HTTP::Status
+ class << self
+ # Returns true if the given status is thought to be redirect.
+ # See also REDIRECT_STATUS.
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#62
+ def redirect?(status); end
+
+ # Returns true if the given status represents successful HTTP response.
+ # See also SUCCESSFUL_STATUS.
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/http.rb#56
+ def successful?(status); end
+ end
+end
+
+# source://httpclient//lib/httpclient/http.rb#27
+HTTP::Status::ACCEPTED = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#36
+HTTP::Status::BAD_REQUEST = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#26
+HTTP::Status::CREATED = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#33
+HTTP::Status::FOUND = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#39
+HTTP::Status::INTERNAL = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#32
+HTTP::Status::MOVED_PERMANENTLY = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#35
+HTTP::Status::MOVED_TEMPORARILY = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#28
+HTTP::Status::NON_AUTHORITATIVE_INFORMATION = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#29
+HTTP::Status::NO_CONTENT = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#25
+HTTP::Status::OK = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#31
+HTTP::Status::PARTIAL_CONTENT = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#38
+HTTP::Status::PROXY_AUTHENTICATE_REQUIRED = T.let(T.unsafe(nil), Integer)
+
+# Status codes which is a redirect.
+#
+# source://httpclient//lib/httpclient/http.rb#49
+HTTP::Status::REDIRECT_STATUS = T.let(T.unsafe(nil), Array)
+
+# source://httpclient//lib/httpclient/http.rb#30
+HTTP::Status::RESET_CONTENT = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#34
+HTTP::Status::SEE_OTHER = T.let(T.unsafe(nil), Integer)
+
+# Status codes for successful HTTP response.
+#
+# source://httpclient//lib/httpclient/http.rb#42
+HTTP::Status::SUCCESSFUL_STATUS = T.let(T.unsafe(nil), Array)
+
+# source://httpclient//lib/httpclient/http.rb#35
+HTTP::Status::TEMPORARY_REDIRECT = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/http.rb#37
+HTTP::Status::UNAUTHORIZED = T.let(T.unsafe(nil), Integer)
+
+# :main:HTTPClient
+# The HTTPClient class provides several methods for accessing Web resources
+# via HTTP.
+#
+# HTTPClient instance is designed to be MT-safe. You can call a HTTPClient
+# instance from several threads without synchronization after setting up an
+# instance.
+#
+# clnt = HTTPClient.new
+# clnt.set_cookie_store('/home/nahi/cookie.dat')
+# urls.each do |url|
+# Thread.new(url) do |u|
+# p clnt.head(u).status
+# end
+# end
+#
+# == How to use
+#
+# At first, how to create your client. See initialize for more detail.
+#
+# 1. Create simple client.
+#
+# clnt = HTTPClient.new
+#
+# 2. Accessing resources through HTTP proxy. You can use environment
+# variable 'http_proxy' or 'HTTP_PROXY' instead.
+#
+# clnt = HTTPClient.new('http://myproxy:8080')
+#
+# === How to retrieve web resources
+#
+# See get and get_content.
+#
+# 1. Get content of specified URL. It returns HTTP::Message object and
+# calling 'body' method of it returns a content String.
+#
+# puts clnt.get('http://dev.ctor.org/').body
+#
+# 2. For getting content directly, use get_content. It follows redirect
+# response and returns a String of whole result.
+#
+# puts clnt.get_content('http://dev.ctor.org/')
+#
+# 3. You can pass :follow_redirect option to follow redirect response in get.
+#
+# puts clnt.get('http://dev.ctor.org/', :follow_redirect => true)
+#
+# 4. Get content as chunks of String. It yields chunks of String.
+#
+# clnt.get_content('http://dev.ctor.org/') do |chunk|
+# puts chunk
+# end
+#
+# === Invoking other HTTP methods
+#
+# See head, get, post, put, delete, options, propfind, proppatch and trace.
+# It returns a HTTP::Message instance as a response.
+#
+# 1. Do HEAD request.
+#
+# res = clnt.head(uri)
+# p res.header['Last-Modified'][0]
+#
+# 2. Do GET request with query.
+#
+# query = { 'keyword' => 'ruby', 'lang' => 'en' }
+# res = clnt.get(uri, query)
+# p res.status
+# p res.contenttype
+# p res.header['X-Custom']
+# puts res.body
+#
+# You can also use keyword argument style.
+#
+# res = clnt.get(uri, :query => { :keyword => 'ruby', :lang => 'en' })
+#
+# === How to POST
+#
+# See post.
+#
+# 1. Do POST a form data.
+#
+# body = { 'keyword' => 'ruby', 'lang' => 'en' }
+# res = clnt.post(uri, body)
+#
+# Keyword argument style.
+#
+# res = clnt.post(uri, :body => ...)
+#
+# 2. Do multipart file upload with POST. No need to set extra header by
+# yourself from httpclient/2.1.4.
+#
+# File.open('/tmp/post_data') do |file|
+# body = { 'upload' => file, 'user' => 'nahi' }
+# res = clnt.post(uri, body)
+# end
+#
+# 3. Do multipart with custom body.
+#
+# File.open('/tmp/post_data') do |file|
+# body = [{ 'Content-Type' => 'application/atom+xml; charset=UTF-8',
+# :content => '... ' },
+# { 'Content-Type' => 'video/mp4',
+# 'Content-Transfer-Encoding' => 'binary',
+# :content => file }]
+# res = clnt.post(uri, body)
+# end
+#
+# === Accessing via SSL
+#
+# Ruby needs to be compiled with OpenSSL.
+#
+# 1. Get content of specified URL via SSL.
+# Just pass an URL which starts with 'https://'.
+#
+# https_url = 'https://www.rsa.com'
+# clnt.get(https_url)
+#
+# 2. Getting peer certificate from response.
+#
+# res = clnt.get(https_url)
+# p res.peer_cert #=> returns OpenSSL::X509::Certificate
+#
+# 3. Configuring OpenSSL options. See HTTPClient::SSLConfig for more details.
+#
+# user_cert_file = 'cert.pem'
+# user_key_file = 'privkey.pem'
+# clnt.ssl_config.set_client_cert_file(user_cert_file, user_key_file)
+# clnt.get(https_url)
+#
+# 4. Revocation check. On JRuby you can set following options to let
+# HTTPClient to perform revocation check with CRL and OCSP:
+#
+# -J-Dcom.sun.security.enableCRLDP=true -J-Dcom.sun.net.ssl.checkRevocation=true
+# ex. jruby -J-Dcom.sun.security.enableCRLDP=true -J-Dcom.sun.net.ssl.checkRevocation=true app.rb
+# Revoked cert example: https://test-sspev.verisign.com:2443/test-SSPEV-revoked-verisign.html
+#
+# On other platform you can download CRL by yourself and set it via
+# SSLConfig#add_crl.
+#
+# === Handling Cookies
+#
+# 1. Using volatile Cookies. Nothing to do. HTTPClient handles Cookies.
+#
+# clnt = HTTPClient.new
+# res = clnt.get(url1) # receives Cookies.
+# res = clnt.get(url2) # sends Cookies if needed.
+# p res.cookies
+#
+# 2. Saving non volatile Cookies to a specified file. Need to set a file at
+# first and invoke save method at last.
+#
+# clnt = HTTPClient.new
+# clnt.set_cookie_store('/home/nahi/cookie.dat')
+# clnt.get(url)
+# ...
+# clnt.save_cookie_store
+#
+# 3. Disabling Cookies.
+#
+# clnt = HTTPClient.new
+# clnt.cookie_manager = nil
+#
+# === Configuring authentication credentials
+#
+# 1. Authentication with Web server. Supports BasicAuth, DigestAuth, and
+# Negotiate/NTLM (requires ruby/ntlm module).
+#
+# clnt = HTTPClient.new
+# domain = 'http://dev.ctor.org/http-access2/'
+# user = 'user'
+# password = 'user'
+# clnt.set_auth(domain, user, password)
+# p clnt.get('http://dev.ctor.org/http-access2/login').status
+#
+# 2. Authentication with Proxy server. Supports BasicAuth and NTLM
+# (requires win32/sspi)
+#
+# clnt = HTTPClient.new(proxy)
+# user = 'proxy'
+# password = 'proxy'
+# clnt.set_proxy_auth(user, password)
+# p clnt.get(url)
+#
+# === Invoking HTTP methods with custom header
+#
+# Pass a Hash or an Array for header argument.
+#
+# header = { 'Accept' => 'text/html' }
+# clnt.get(uri, query, header)
+#
+# header = [['Accept', 'image/jpeg'], ['Accept', 'image/png']]
+# clnt.get_content(uri, query, header)
+#
+# === Invoking HTTP methods asynchronously
+#
+# See head_async, get_async, post_async, put_async, delete_async,
+# options_async, propfind_async, proppatch_async, and trace_async.
+# It immediately returns a HTTPClient::Connection instance as a returning value.
+#
+# connection = clnt.post_async(url, body)
+# print 'posting.'
+# while true
+# break if connection.finished?
+# print '.'
+# sleep 1
+# end
+# puts '.'
+# res = connection.pop
+# p res.status
+# p res.body.read # res.body is an IO for the res of async method.
+#
+# === Shortcut methods
+#
+# You can invoke get_content, get, etc. without creating HTTPClient instance.
+#
+# ruby -rhttpclient -e 'puts HTTPClient.get_content(ARGV.shift)' http://dev.ctor.org/
+# ruby -rhttpclient -e 'p HTTPClient.head(ARGV.shift).header["last-modified"]' http://dev.ctor.org/
+#
+# source://httpclient//lib/httpclient/version.rb#1
+class HTTPClient
+ include ::HTTPClient::Util
+
+ # Creates a HTTPClient instance which manages sessions, cookies, etc.
+ #
+ # HTTPClient.new takes optional arguments as a Hash.
+ # * :proxy - proxy url string
+ # * :agent_name - User-Agent String
+ # * :from - from header String
+ # * :base_url - base URL of resources
+ # * :default_header - header Hash all HTTP requests should have
+ # * :force_basic_auth - flag for sending Authorization header w/o gettin 401 first
+ # User-Agent and From are embedded in HTTP request Header if given.
+ # From header is not set without setting it explicitly.
+ #
+ # proxy = 'http://myproxy:8080'
+ # agent_name = 'MyAgent/0.1'
+ # from = 'from@example.com'
+ # HTTPClient.new(proxy, agent_name, from)
+ #
+ # After you set :base_url, all resources you pass to get, post and other
+ # methods are recognized to be prefixed with base_url. Say base_url is
+ # 'https://api.example.com/v1/, get('users') is the same as
+ # get('https://api.example.com/v1/users') internally. You can also pass
+ # full URL from 'http://' even after setting base_url.
+ #
+ # The expected base_url and path behavior is the following. Please take
+ # care of '/' in base_url and path.
+ #
+ # The last '/' is important for base_url:
+ # 1. http://foo/bar/baz/ + path -> http://foo/bar/baz/path
+ # 2. http://foo/bar/baz + path -> http://foo/bar/path
+ # Relative path handling:
+ # 3. http://foo/bar/baz/ + ../path -> http://foo/bar/path
+ # 4. http://foo/bar/baz + ../path -> http://foo/path
+ # 5. http://foo/bar/baz/ + ./path -> http://foo/bar/baz/path
+ # 6. http://foo/bar/baz + ./path -> http://foo/bar/path
+ # The leading '/' of path means absolute path:
+ # 7. http://foo/bar/baz/ + /path -> http://foo/path
+ # 8. http://foo/bar/baz + /path -> http://foo/path
+ #
+ # :default_header is for providing default headers Hash that all HTTP
+ # requests should have, such as custom 'Authorization' header in API.
+ # You can override :default_header with :header Hash parameter in HTTP
+ # request methods.
+ #
+ # :force_basic_auth turns on/off the BasicAuth force flag. Generally
+ # HTTP client must send Authorization header after it gets 401 error
+ # from server from security reason. But in some situation (e.g. API
+ # client) you might want to send Authorization from the beginning.
+ #
+ # @return [HTTPClient] a new instance of HTTPClient
+ #
+ # source://httpclient//lib/httpclient.rb#428
+ def initialize(*args, &block); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def agent_name; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def agent_name=(rhs); end
+
+ # Base url of resources.
+ #
+ # source://httpclient//lib/httpclient.rb#337
+ def base_url; end
+
+ # Base url of resources.
+ #
+ # source://httpclient//lib/httpclient.rb#337
+ def base_url=(_arg0); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def connect_timeout; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def connect_timeout=(rhs); end
+
+ # HTTPClient::CookieManager:: Cookies configurator.
+ #
+ # source://httpclient//lib/httpclient.rb#321
+ def cookie_manager; end
+
+ # HTTPClient::CookieManager:: Cookies configurator.
+ #
+ # source://httpclient//lib/httpclient.rb#321
+ def cookie_manager=(_arg0); end
+
+ # Returns stored cookies.
+ #
+ # source://httpclient//lib/httpclient.rb#614
+ def cookies; end
+
+ # Returns debug device if exists. See debug_dev=.
+ #
+ # source://httpclient//lib/httpclient.rb#471
+ def debug_dev; end
+
+ # Sets debug device. Once debug device is set, all HTTP requests and
+ # responses are dumped to given device. dev must respond to << for dump.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient.rb#479
+ def debug_dev=(dev); end
+
+ # Default request header.
+ #
+ # source://httpclient//lib/httpclient.rb#339
+ def default_header; end
+
+ # Default request header.
+ #
+ # source://httpclient//lib/httpclient.rb#339
+ def default_header=(_arg0); end
+
+ # A default method for redirect uri callback. This method is used by
+ # HTTPClient instance by default.
+ # This callback allows relative redirect such as
+ # Location: ../foo/
+ # in HTTP header.
+ #
+ # source://httpclient//lib/httpclient.rb#722
+ def default_redirect_uri_callback(uri, res); end
+
+ # Sends DELETE request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#779
+ def delete(uri, *args, &block); end
+
+ # Sends DELETE request in async style. See request_async2 for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#907
+ def delete_async(uri, *args); end
+
+ # How many times get_content and post_content follows HTTP redirect.
+ # 10 by default.
+ #
+ # source://httpclient//lib/httpclient.rb#335
+ def follow_redirect_count; end
+
+ # How many times get_content and post_content follows HTTP redirect.
+ # 10 by default.
+ #
+ # source://httpclient//lib/httpclient.rb#335
+ def follow_redirect_count=(_arg0); end
+
+ # Turn on/off the BasicAuth force flag. Generally HTTP client must
+ # send Authorization header after it gets 401 error from server from
+ # security reason. But in some situation (e.g. API client) you might
+ # want to send Authorization from the beginning.
+ #
+ # source://httpclient//lib/httpclient.rb#592
+ def force_basic_auth=(force_basic_auth); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def from; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def from=(rhs); end
+
+ # Sends GET request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#742
+ def get(uri, *args, &block); end
+
+ # Sends GET request in async style. See request_async for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#868
+ def get_async(uri, *args); end
+
+ # Retrieves a web resource.
+ #
+ # uri:: a String or an URI object which represents an URL of web resource.
+ # query:: a Hash or an Array of query part of URL.
+ # e.g. { "a" => "b" } => 'http://host/part?a=b'.
+ # Give an array to pass multiple value like
+ # [["a", "b"], ["a", "c"]] => 'http://host/part?a=b&a=c'.
+ # header:: a Hash or an Array of extra headers. e.g.
+ # { 'Accept' => 'text/html' } or
+ # [['Accept', 'image/jpeg'], ['Accept', 'image/png']].
+ # &block:: Give a block to get chunked message-body of response like
+ # get_content(uri) { |chunked_body| ... }.
+ # Size of each chunk may not be the same.
+ #
+ # get_content follows HTTP redirect status (see HTTP::Status.redirect?)
+ # internally and try to retrieve content from redirected URL. See
+ # redirect_uri_callback= how HTTP redirection is handled.
+ #
+ # If you need to get full HTTP response including HTTP status and headers,
+ # use get method. get returns HTTP::Message as a response and you need to
+ # follow HTTP redirect by yourself if you need.
+ #
+ # source://httpclient//lib/httpclient.rb#653
+ def get_content(uri, *args, &block); end
+
+ # Sends HEAD request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#737
+ def head(uri, *args); end
+
+ # Sends HEAD request in async style. See request_async for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#862
+ def head_async(uri, *args); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def keep_alive_timeout; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def keep_alive_timeout=(rhs); end
+
+ # webmock 1.6.2 depends on HTTP::Message#body.content to work.
+ # let's keep it work iif webmock is loaded for a while.
+ #
+ # source://httpclient//lib/httpclient.rb#457
+ def keep_webmock_compat; end
+
+ # Returns NO_PROXY setting String if given.
+ #
+ # source://httpclient//lib/httpclient.rb#521
+ def no_proxy; end
+
+ # Sets NO_PROXY setting String. no_proxy must be a comma separated String.
+ # Each entry must be 'host' or 'host:port' such as;
+ # HTTPClient#no_proxy = 'example.com,example.co.jp:443'
+ #
+ # 'localhost' is treated as a no_proxy site regardless of explicitly listed.
+ # HTTPClient checks given URI objects before accessing it.
+ # 'host' is tail string match. No IP-addr conversion.
+ #
+ # You can use environment variable 'no_proxy' or 'NO_PROXY' for it.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient.rb#536
+ def no_proxy=(no_proxy); end
+
+ # Sends OPTIONS request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#784
+ def options(uri, *args, &block); end
+
+ # Sends OPTIONS request in async style. See request_async2 for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#913
+ def options_async(uri, *args); end
+
+ # Sends PATCH request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#747
+ def patch(uri, *args, &block); end
+
+ # Sends PATCH request in async style. See request_async2 for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#874
+ def patch_async(uri, *args); end
+
+ # Sends POST request to the specified URL. See request for arguments.
+ # You should not depend on :follow_redirect => true for POST method. It
+ # sends the same POST method to the new location which is prohibited in HTTP spec.
+ #
+ # source://httpclient//lib/httpclient.rb#759
+ def post(uri, *args, &block); end
+
+ # Sends POST request in async style. See request_async for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#885
+ def post_async(uri, *args); end
+
+ # Posts a content.
+ #
+ # uri:: a String or an URI object which represents an URL of web resource.
+ # body:: a Hash or an Array of body part. e.g.
+ # { "a" => "b" } => 'a=b'
+ # Give an array to pass multiple value like
+ # [["a", "b"], ["a", "c"]] => 'a=b&a=c'
+ # When you pass a File as a value, it will be posted as a
+ # multipart/form-data. e.g.
+ # { 'upload' => file }
+ # You can also send custom multipart by passing an array of hashes.
+ # Each part must have a :content attribute which can be a file, all
+ # other keys will become headers.
+ # [{ 'Content-Type' => 'text/plain', :content => "some text" },
+ # { 'Content-Type' => 'video/mp4', :content => File.new('video.mp4') }]
+ # =>
+ # header:: a Hash or an Array of extra headers. e.g.
+ # { 'Accept' => 'text/html' }
+ # or
+ # [['Accept', 'image/jpeg'], ['Accept', 'image/png']].
+ # &block:: Give a block to get chunked message-body of response like
+ # post_content(uri) { |chunked_body| ... }.
+ # Size of each chunk may not be the same.
+ #
+ # post_content follows HTTP redirect status (see HTTP::Status.redirect?)
+ # internally and try to post the content to redirected URL. See
+ # redirect_uri_callback= how HTTP redirection is handled.
+ # Bear in mind that you should not depend on post_content because it sends
+ # the same POST method to the new location which is prohibited in HTTP spec.
+ #
+ # If you need to get full HTTP response including HTTP status and headers,
+ # use post method.
+ #
+ # source://httpclient//lib/httpclient.rb#690
+ def post_content(uri, *args, &block); end
+
+ # Sends PROPFIND request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#790
+ def propfind(uri, *args, &block); end
+
+ # Sends PROPFIND request in async style. See request_async2 for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#919
+ def propfind_async(uri, *args); end
+
+ # Sends PROPPATCH request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#795
+ def proppatch(uri, *args, &block); end
+
+ # Sends PROPPATCH request in async style. See request_async2 for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#925
+ def proppatch_async(uri, *args); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def protocol_retry_count; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def protocol_retry_count=(rhs); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def protocol_version; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def protocol_version=(rhs); end
+
+ # Returns URI object of HTTP proxy if exists.
+ #
+ # source://httpclient//lib/httpclient.rb#486
+ def proxy; end
+
+ # Sets HTTP proxy used for HTTP connection. Given proxy can be an URI,
+ # a String or nil. You can set user/password for proxy authentication like
+ # HTTPClient#proxy = 'http://user:passwd@myproxy:8080'
+ #
+ # You can use environment variable 'http_proxy' or 'HTTP_PROXY' for it.
+ # You need to use 'cgi_http_proxy' or 'CGI_HTTP_PROXY' instead if you run
+ # HTTPClient from CGI environment from security reason. (HTTPClient checks
+ # 'REQUEST_METHOD' environment variable whether it's CGI or not)
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient.rb#500
+ def proxy=(proxy); end
+
+ # HTTPClient::ProxyAuth:: Proxy authentication handler.
+ #
+ # source://httpclient//lib/httpclient.rb#330
+ def proxy_auth; end
+
+ # Sends PUT request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#769
+ def put(uri, *args, &block); end
+
+ # Sends PUT request in async style. See request_async2 for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#896
+ def put_async(uri, *args); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def read_block_size; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def read_block_size=(rhs); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def receive_timeout; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def receive_timeout=(rhs); end
+
+ # Sets callback proc when HTTP redirect status is returned for get_content
+ # and post_content. default_redirect_uri_callback is used by default.
+ #
+ # If you need strict implementation which does not allow relative URI
+ # redirection, set strict_redirect_uri_callback instead.
+ #
+ # clnt.redirect_uri_callback = clnt.method(:strict_redirect_uri_callback)
+ #
+ # source://httpclient//lib/httpclient.rb#628
+ def redirect_uri_callback=(redirect_uri_callback); end
+
+ # Sends a request to the specified URL.
+ #
+ # method:: HTTP method to be sent. method.to_s.upcase is used.
+ # uri:: a String or an URI object which represents an URL of web resource.
+ # query:: a Hash or an Array of query part of URL.
+ # e.g. { "a" => "b" } => 'http://host/part?a=b'
+ # Give an array to pass multiple value like
+ # [["a", "b"], ["a", "c"]] => 'http://host/part?a=b&a=c'
+ # body:: a Hash or an Array of body part. e.g.
+ # { "a" => "b" }
+ # => 'a=b'
+ # Give an array to pass multiple value like
+ # [["a", "b"], ["a", "c"]]
+ # => 'a=b&a=c'.
+ # When the given method is 'POST' and the given body contains a file
+ # as a value, it will be posted as a multipart/form-data. e.g.
+ # { 'upload' => file }
+ # You can also send custom multipart by passing an array of hashes.
+ # Each part must have a :content attribute which can be a file, all
+ # other keys will become headers.
+ # [{ 'Content-Type' => 'text/plain', :content => "some text" },
+ # { 'Content-Type' => 'video/mp4', :content => File.new('video.mp4') }]
+ # =>
+ # See HTTP::Message.file? for actual condition of 'a file'.
+ # header:: a Hash or an Array of extra headers. e.g.
+ # { 'Accept' => 'text/html' } or
+ # [['Accept', 'image/jpeg'], ['Accept', 'image/png']].
+ # &block:: Give a block to get chunked message-body of response like
+ # get(uri) { |chunked_body| ... }.
+ # Size of each chunk may not be the same.
+ #
+ # You can also pass a String as a body. HTTPClient just sends a String as
+ # a HTTP request message body.
+ #
+ # When you pass an IO as a body, HTTPClient sends it as a HTTP request with
+ # chunked encoding (Transfer-Encoding: chunked in HTTP header) if IO does not
+ # respond to :size. Bear in mind that some server application does not support
+ # chunked request. At least cgi.rb does not support it.
+ #
+ # source://httpclient//lib/httpclient.rb#842
+ def request(method, uri, *args, &block); end
+
+ # Sends a request in async style. request method creates new Thread for
+ # HTTP connection and returns a HTTPClient::Connection instance immediately.
+ #
+ # Arguments definition is the same as request.
+ #
+ # source://httpclient//lib/httpclient.rb#939
+ def request_async(method, uri, query = T.unsafe(nil), body = T.unsafe(nil), header = T.unsafe(nil)); end
+
+ # new method that has same signature as 'request'
+ #
+ # source://httpclient//lib/httpclient.rb#945
+ def request_async2(method, uri, *args); end
+
+ # An array of request filter which can trap HTTP request/response.
+ # See HTTPClient::WWWAuth to see how to use it.
+ #
+ # source://httpclient//lib/httpclient.rb#328
+ def request_filter; end
+
+ # Resets internal session for the given URL. Keep-alive connection for the
+ # site (host-port pair) is disconnected if exists.
+ #
+ # source://httpclient//lib/httpclient.rb#961
+ def reset(uri); end
+
+ # Resets all of internal sessions. Keep-alive connections are disconnected.
+ #
+ # source://httpclient//lib/httpclient.rb#967
+ def reset_all; end
+
+ # Try to save Cookies to the file specified in set_cookie_store. Unexpected
+ # error will be raised if you don't call set_cookie_store first.
+ #
+ # source://httpclient//lib/httpclient.rb#609
+ def save_cookie_store; end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def send_timeout; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def send_timeout=(rhs); end
+
+ # Sets credential for Web server authentication.
+ # domain:: a String or an URI to specify where HTTPClient should use this
+ # credential. If you set uri to nil, HTTPClient uses this credential
+ # wherever a server requires it.
+ # user:: username String.
+ # passwd:: password String.
+ #
+ # You can set multiple credentials for each uri.
+ #
+ # clnt.set_auth('http://www.example.com/foo/', 'foo_user', 'passwd')
+ # clnt.set_auth('http://www.example.com/bar/', 'bar_user', 'passwd')
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient.rb#565
+ def set_auth(domain, user, passwd); end
+
+ # Deprecated. Use set_auth instead.
+ #
+ # source://httpclient//lib/httpclient.rb#572
+ def set_basic_auth(domain, user, passwd); end
+
+ # Sets the filename where non-volatile Cookies be saved by calling
+ # save_cookie_store.
+ # This method tries to load and managing Cookies from the specified file.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient.rb#601
+ def set_cookie_store(filename); end
+
+ # Sets credential for Proxy authentication.
+ # user:: username String.
+ # passwd:: password String.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient.rb#583
+ def set_proxy_auth(user, passwd); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def socket_local; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def socket_local=(rhs); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def socket_sync; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def socket_sync=(rhs); end
+
+ # HTTPClient::SSLConfig:: SSL configurator.
+ #
+ # source://httpclient//lib/httpclient.rb#319
+ def ssl_config; end
+
+ # A method for redirect uri callback. How to use:
+ # clnt.redirect_uri_callback = clnt.method(:strict_redirect_uri_callback)
+ # This callback does not allow relative redirect such as
+ # Location: ../foo/
+ # in HTTP header. (raises BadResponseError instead)
+ #
+ # source://httpclient//lib/httpclient.rb#705
+ def strict_redirect_uri_callback(uri, res); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def strict_response_size_check; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def strict_response_size_check=(rhs); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def tcp_keepalive; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def tcp_keepalive=(rhs); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def test_loopback_http_response; end
+
+ # An array of response HTTP message body String which is used for loop-back
+ # test. See test/* to see how to use it. If you want to do loop-back test
+ # of HTTP header, use test_loopback_http_response instead.
+ #
+ # source://httpclient//lib/httpclient.rb#325
+ def test_loopback_response; end
+
+ # Sends TRACE request to the specified URL. See request for arguments.
+ #
+ # source://httpclient//lib/httpclient.rb#800
+ def trace(uri, *args, &block); end
+
+ # Sends TRACE request in async style. See request_async2 for arguments.
+ # It immediately returns a HTTPClient::Connection instance as a result.
+ #
+ # source://httpclient//lib/httpclient.rb#931
+ def trace_async(uri, *args); end
+
+ # source://httpclient//lib/httpclient.rb#306
+ def transparent_gzip_decompression; end
+
+ # source://httpclient//lib/httpclient.rb#311
+ def transparent_gzip_decompression=(rhs); end
+
+ # HTTPClient::WWWAuth:: WWW authentication handler.
+ #
+ # source://httpclient//lib/httpclient.rb#332
+ def www_auth; end
+
+ private
+
+ # source://httpclient//lib/httpclient.rb#1083
+ def adapt_block(&block); end
+
+ # source://httpclient//lib/httpclient.rb#1190
+ def create_boundary; end
+
+ # source://httpclient//lib/httpclient.rb#1145
+ def create_request(method, uri, query, body, header); end
+
+ # !! CAUTION !!
+ # Method 'do_get*' runs under MT conditon. Be careful to change.
+ #
+ # source://httpclient//lib/httpclient.rb#1229
+ def do_get_block(req, proxy, conn, &block); end
+
+ # source://httpclient//lib/httpclient.rb#1298
+ def do_get_header(req, res, sess); end
+
+ # source://httpclient//lib/httpclient.rb#1267
+ def do_get_stream(req, proxy, conn); end
+
+ # source://httpclient//lib/httpclient.rb#998
+ def do_request(method, uri, query, body, header, &block); end
+
+ # source://httpclient//lib/httpclient.rb#1036
+ def do_request_async(method, uri, query, body, header); end
+
+ # source://httpclient//lib/httpclient.rb#1308
+ def dump_dummy_request_response(req, res); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient.rb#1194
+ def file_in_form_data?(body); end
+
+ # @raise [BadResponseError]
+ #
+ # source://httpclient//lib/httpclient.rb#1088
+ def follow_redirect(method, uri, query, body, header, &block); end
+
+ # source://httpclient//lib/httpclient.rb#1079
+ def getenv(name); end
+
+ # source://httpclient//lib/httpclient.rb#991
+ def hashy_argument_has_keys(args, *key); end
+
+ # source://httpclient//lib/httpclient.rb#1065
+ def load_environment; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient.rb#1213
+ def no_proxy?(uri); end
+
+ # source://httpclient//lib/httpclient.rb#1199
+ def override_header(header, key, value); end
+
+ # source://httpclient//lib/httpclient.rb#1131
+ def protect_keep_alive_disconnected; end
+
+ # source://httpclient//lib/httpclient.rb#1315
+ def set_encoding(str, encoding); end
+
+ # source://httpclient//lib/httpclient.rb#1123
+ def success_content(res); end
+
+ # source://httpclient//lib/httpclient.rb#1319
+ def to_resource_url(uri); end
+
+ class << self
+ def delete(*arg, &block); end
+ def get(*arg, &block); end
+ def get_content(*arg, &block); end
+ def head(*arg, &block); end
+ def options(*arg, &block); end
+ def post(*arg, &block); end
+ def post_content(*arg, &block); end
+ def propfind(*arg, &block); end
+ def proppatch(*arg, &block); end
+ def put(*arg, &block); end
+ def trace(*arg, &block); end
+
+ private
+
+ # source://httpclient//lib/httpclient.rb#304
+ def attr_proxy(symbol, assignable = T.unsafe(nil)); end
+ end
+end
+
+# Authentication filter base class.
+#
+# source://httpclient//lib/httpclient/auth.rb#226
+class HTTPClient::AuthBase
+ include ::HTTPClient::Util
+
+ # @return [AuthBase] a new instance of AuthBase
+ #
+ # source://httpclient//lib/httpclient/auth.rb#232
+ def initialize(scheme); end
+
+ # Resets challenge state. Do not send '*Authorization' header until the
+ # server sends '*Authentication' again.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#239
+ def reset_challenge; end
+
+ # Authentication scheme.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#230
+ def scheme; end
+end
+
+# Common abstract class for authentication filter.
+#
+# There are 2 authentication filters.
+# WWWAuth:: Authentication filter for handling authentication negotiation
+# between Web server. Parses 'WWW-Authentication' header in
+# response and generates 'Authorization' header in request.
+# ProxyAuth:: Authentication filter for handling authentication negotiation
+# between Proxy server. Parses 'Proxy-Authentication' header in
+# response and generates 'Proxy-Authorization' header in request.
+#
+# source://httpclient//lib/httpclient/auth.rb#29
+class HTTPClient::AuthFilterBase
+ private
+
+ # source://httpclient//lib/httpclient/auth.rb#32
+ def parse_authentication_header(res, tag); end
+
+ # source://httpclient//lib/httpclient/auth.rb#38
+ def parse_challenge_header(challenge); end
+end
+
+# Raised for indicating HTTP response error.
+#
+# source://httpclient//lib/httpclient.rb#253
+class HTTPClient::BadResponseError < ::RuntimeError
+ # @return [BadResponseError] a new instance of BadResponseError
+ #
+ # source://httpclient//lib/httpclient.rb#257
+ def initialize(msg, res = T.unsafe(nil)); end
+
+ # HTTP::Message:: a response
+ #
+ # source://httpclient//lib/httpclient.rb#255
+ def res; end
+end
+
+# Authentication filter for handling BasicAuth negotiation.
+# Used in WWWAuth and ProxyAuth.
+#
+# source://httpclient//lib/httpclient/auth.rb#248
+class HTTPClient::BasicAuth < ::HTTPClient::AuthBase
+ include ::Mutex_m
+
+ # Creates new BasicAuth filter.
+ #
+ # @return [BasicAuth] a new instance of BasicAuth
+ #
+ # source://httpclient//lib/httpclient/auth.rb#255
+ def initialize; end
+
+ # Challenge handler: remember URL for response.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#298
+ def challenge(uri, param_str = T.unsafe(nil)); end
+
+ # Send Authorization Header without receiving 401
+ #
+ # source://httpclient//lib/httpclient/auth.rb#252
+ def force_auth; end
+
+ # Send Authorization Header without receiving 401
+ #
+ # source://httpclient//lib/httpclient/auth.rb#252
+ def force_auth=(_arg0); end
+
+ # Response handler: returns credential.
+ # It sends cred only when a given uri is;
+ # * child page of challengeable(got *Authenticate before) uri and,
+ # * child page of defined credential
+ #
+ # source://httpclient//lib/httpclient/auth.rb#284
+ def get(req); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#91
+ def lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#81
+ def locked?; end
+
+ # Set authentication credential.
+ # uri == nil for generic purpose (allow to use user/password for any URL).
+ #
+ # source://httpclient//lib/httpclient/auth.rb#264
+ def set(uri, user, passwd); end
+
+ # have we marked this as set - ie that it's valid to use in this context?
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/auth.rb#276
+ def set?; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#76
+ def synchronize(&block); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#86
+ def try_lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#96
+ def unlock; end
+end
+
+# Raised for indicating running environment configuration error for example
+# accessing via SSL under the ruby which is not compiled with OpenSSL.
+#
+# source://httpclient//lib/httpclient.rb#249
+class HTTPClient::ConfigurationError < ::StandardError; end
+
+# Raised for indicating a connection timeout error.
+# You can configure connection timeout via HTTPClient#connect_timeout=.
+#
+# source://httpclient//lib/httpclient.rb#269
+class HTTPClient::ConnectTimeoutError < ::HTTPClient::TimeoutError; end
+
+# Represents a HTTP response to an asynchronous request. Async methods of
+# HTTPClient such as get_async, post_async, etc. returns an instance of
+# Connection.
+#
+# == How to use
+#
+# 1. Invoke HTTP method asynchronously and check if it's been finished
+# periodically.
+#
+# connection = clnt.post_async(url, body)
+# print 'posting.'
+# while true
+# break if connection.finished?
+# print '.'
+# sleep 1
+# end
+# puts '.'
+# res = connection.pop
+# p res.status
+#
+# 2. Read the response as an IO.
+#
+# connection = clnt.get_async('http://dev.ctor.org/')
+# io = connection.pop.content
+# while str = io.read(40)
+# p str
+# end
+#
+# source://httpclient//lib/httpclient/connection.rb#39
+class HTTPClient::Connection
+ # @return [Connection] a new instance of Connection
+ #
+ # source://httpclient//lib/httpclient/connection.rb#42
+ def initialize(header_queue = T.unsafe(nil), body_queue = T.unsafe(nil)); end
+
+ # Returns the value of attribute async_thread.
+ #
+ # source://httpclient//lib/httpclient/connection.rb#40
+ def async_thread; end
+
+ # Sets the attribute async_thread
+ #
+ # @param value the value to set the attribute async_thread to.
+ #
+ # source://httpclient//lib/httpclient/connection.rb#40
+ def async_thread=(_arg0); end
+
+ # Checks if the asynchronous invocation has been finished or not.
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/connection.rb#50
+ def finished?; end
+
+ # Waits the completion of the asynchronous invocation.
+ #
+ # source://httpclient//lib/httpclient/connection.rb#79
+ def join; end
+
+ # Retrieves a HTTP::Message instance of HTTP response. Do not invoke this
+ # method twice for now. The second invocation will be blocked.
+ #
+ # source://httpclient//lib/httpclient/connection.rb#66
+ def pop; end
+
+ # source://httpclient//lib/httpclient/connection.rb#74
+ def push(result); end
+end
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#458
+HTTPClient::CookieManager = WebAgent::CookieManager
+
+# Default User-Agent header
+#
+# source://httpclient//lib/httpclient.rb#379
+HTTPClient::DEFAULT_AGENT_NAME = T.let(T.unsafe(nil), String)
+
+# Module for intercepting Socket methods and dumps in/out to given debugging
+# device. debug_dev must respond to <<.
+#
+# source://httpclient//lib/httpclient/session.rb#362
+module HTTPClient::DebugSocket
+ extend ::HTTPClient::SocketWrap
+
+ # source://httpclient//lib/httpclient/session.rb#392
+ def <<(str); end
+
+ # source://httpclient//lib/httpclient/session.rb#369
+ def close; end
+
+ # source://httpclient//lib/httpclient/session.rb#365
+ def debug_dev=(debug_dev); end
+
+ # source://httpclient//lib/httpclient/session.rb#374
+ def gets(rs); end
+
+ # source://httpclient//lib/httpclient/session.rb#380
+ def read(size, buf = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/session.rb#386
+ def readpartial(size, buf = T.unsafe(nil)); end
+
+ private
+
+ # source://httpclient//lib/httpclient/session.rb#399
+ def debug(str); end
+end
+
+# Authentication filter for handling DigestAuth negotiation.
+# Used in WWWAuth.
+#
+# source://httpclient//lib/httpclient/auth.rb#331
+class HTTPClient::DigestAuth < ::HTTPClient::AuthBase
+ include ::Mutex_m
+
+ # Creates new DigestAuth filter.
+ #
+ # @return [DigestAuth] a new instance of DigestAuth
+ #
+ # source://httpclient//lib/httpclient/auth.rb#335
+ def initialize; end
+
+ # Challenge handler: remember URL and challenge token for response.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#377
+ def challenge(uri, param_str); end
+
+ # Response handler: returns credential.
+ # It sends cred only when a given uri is;
+ # * child page of challengeable(got *Authenticate before) uri and,
+ # * child page of defined credential
+ #
+ # source://httpclient//lib/httpclient/auth.rb#361
+ def get(req); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#91
+ def lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#81
+ def locked?; end
+
+ # Set authentication credential.
+ # uri == nil is ignored.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#343
+ def set(uri, user, passwd); end
+
+ # have we marked this as set - ie that it's valid to use in this context?
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/auth.rb#353
+ def set?; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#76
+ def synchronize(&block); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#86
+ def try_lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#96
+ def unlock; end
+
+ private
+
+ # this method is implemented by sromano and posted to
+ # http://tools.assembla.com/breakout/wiki/DigestForSoap
+ # Thanks!
+ # supported algorithms: MD5, MD5-sess
+ #
+ # source://httpclient//lib/httpclient/auth.rb#390
+ def calc_cred(req, user, passwd, param); end
+
+ # cf. WEBrick::HTTPAuth::DigestAuth#generate_next_nonce(aTime)
+ #
+ # source://httpclient//lib/httpclient/auth.rb#437
+ def generate_cnonce; end
+
+ # source://httpclient//lib/httpclient/auth.rb#443
+ def parse_challenge_param(param_str); end
+end
+
+# source://httpclient//lib/httpclient/auth.rb#18
+HTTPClient::GSSAPIEnabled = T.let(T.unsafe(nil), FalseClass)
+
+# source://httpclient//lib/httpclient.rb#981
+class HTTPClient::KeepAliveDisconnected < ::StandardError
+ # @return [KeepAliveDisconnected] a new instance of KeepAliveDisconnected
+ #
+ # source://httpclient//lib/httpclient.rb#984
+ def initialize(sess = T.unsafe(nil), cause = T.unsafe(nil)); end
+
+ # Returns the value of attribute cause.
+ #
+ # source://httpclient//lib/httpclient.rb#983
+ def cause; end
+
+ # Returns the value of attribute sess.
+ #
+ # source://httpclient//lib/httpclient.rb#982
+ def sess; end
+end
+
+# source://httpclient//lib/httpclient.rb#243
+HTTPClient::LIB_NAME = T.let(T.unsafe(nil), String)
+
+# Dummy Socket for emulating loopback test.
+#
+# source://httpclient//lib/httpclient/session.rb#414
+class HTTPClient::LoopBackSocket
+ include ::HTTPClient::SocketWrap
+
+ # @return [LoopBackSocket] a new instance of LoopBackSocket
+ #
+ # source://httpclient//lib/httpclient/session.rb#417
+ def initialize(host, port, response); end
+
+ # source://httpclient//lib/httpclient/session.rb#423
+ def <<(str); end
+
+ # source://httpclient//lib/httpclient/session.rb#427
+ def peer_cert; end
+end
+
+# source://httpclient//lib/httpclient.rb#1211
+HTTPClient::NO_PROXY_HOSTS = T.let(T.unsafe(nil), Array)
+
+# source://httpclient//lib/httpclient/auth.rb#16
+HTTPClient::NTLMEnabled = T.let(T.unsafe(nil), FalseClass)
+
+# Authentication filter for handling Negotiate/NTLM negotiation.
+# Used in WWWAuth and ProxyAuth.
+#
+# NegotiateAuth depends on 'ruby/ntlm' module.
+#
+# source://httpclient//lib/httpclient/auth.rb#499
+class HTTPClient::NegotiateAuth < ::HTTPClient::AuthBase
+ include ::Mutex_m
+
+ # Creates new NegotiateAuth filter.
+ #
+ # @return [NegotiateAuth] a new instance of NegotiateAuth
+ #
+ # source://httpclient//lib/httpclient/auth.rb#506
+ def initialize(scheme = T.unsafe(nil)); end
+
+ # Challenge handler: remember URL and challenge token for response.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#575
+ def challenge(uri, param_str); end
+
+ # Response handler: returns credential.
+ # See ruby/ntlm for negotiation state transition.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#535
+ def get(req); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#91
+ def lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#81
+ def locked?; end
+
+ # NTLM opt for ruby/ntlm. {:ntlmv2 => true} by default.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#503
+ def ntlm_opt; end
+
+ # Set authentication credential.
+ # uri == nil for generic purpose (allow to use user/password for any URL).
+ #
+ # source://httpclient//lib/httpclient/auth.rb#517
+ def set(uri, user, passwd); end
+
+ # have we marked this as set - ie that it's valid to use in this context?
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/auth.rb#529
+ def set?; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#76
+ def synchronize(&block); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#86
+ def try_lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#96
+ def unlock; end
+end
+
+# Authentication filter for handling OAuth negotiation.
+# Used in WWWAuth.
+#
+# CAUTION: This impl only support '#7 Accessing Protected Resources' in OAuth
+# Core 1.0 spec for now. You need to obtain Access token and Access secret by
+# yourself.
+#
+# CAUTION: This impl does NOT support OAuth Request Body Hash spec for now.
+# http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/oauth-bodyhash.html
+#
+# source://httpclient//lib/httpclient/auth.rb#682
+class HTTPClient::OAuth < ::HTTPClient::AuthBase
+ include ::Mutex_m
+
+ # Creates new DigestAuth filter.
+ #
+ # @return [OAuth] a new instance of OAuth
+ #
+ # source://httpclient//lib/httpclient/auth.rb#753
+ def initialize; end
+
+ # Challenge handler: remember URL for response.
+ #
+ # challenge() in OAuth handler always returns false to avoid connection
+ # retry which should not work in OAuth authentication context. This
+ # method just remember URL (nil means 'any') for the next connection.
+ # Normally OAuthClient handles this correctly but see how it uses when
+ # you need to use this class directly.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#816
+ def challenge(uri, param_str = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/auth.rb#748
+ def escape(str); end
+
+ # Response handler: returns credential.
+ # It sends cred only when a given uri is;
+ # * child page of challengeable(got *Authenticate before) uri and,
+ # * child page of defined credential
+ #
+ # source://httpclient//lib/httpclient/auth.rb#797
+ def get(req); end
+
+ # Get authentication credential.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#787
+ def get_config(uri = T.unsafe(nil)); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#91
+ def lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#81
+ def locked?; end
+
+ # Set authentication credential.
+ # You cannot set OAuth config via WWWAuth#set_auth. Use OAuth#config=
+ #
+ # source://httpclient//lib/httpclient/auth.rb#765
+ def set(*args); end
+
+ # Check always (not effective but it works)
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/auth.rb#770
+ def set?; end
+
+ # Set authentication credential.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#775
+ def set_config(uri, config); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#76
+ def synchronize(&block); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#86
+ def try_lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#96
+ def unlock; end
+
+ private
+
+ # source://httpclient//lib/httpclient/auth.rb#840
+ def calc_cred(req, config); end
+
+ # source://httpclient//lib/httpclient/auth.rb#889
+ def create_base_string(config, header, req); end
+
+ # source://httpclient//lib/httpclient/auth.rb#829
+ def do_get_config(uri = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/auth.rb#868
+ def encode_header(k, v); end
+
+ # source://httpclient//lib/httpclient/auth.rb#872
+ def encode_param(params); end
+
+ # source://httpclient//lib/httpclient/auth.rb#861
+ def generate_nonce; end
+
+ # source://httpclient//lib/httpclient/auth.rb#880
+ def sign(config, header, req); end
+
+ # source://httpclient//lib/httpclient/auth.rb#913
+ def sign_hmac_sha1(config, base_string); end
+
+ class << self
+ # source://httpclient//lib/httpclient/auth.rb#736
+ def escape(str); end
+ end
+end
+
+# source://httpclient//lib/httpclient/auth.rb#685
+class HTTPClient::OAuth::Config
+ include ::HTTPClient::Util
+
+ # @return [Config] a new instance of Config
+ #
+ # source://httpclient//lib/httpclient/auth.rb#707
+ def initialize(*args); end
+
+ # Returns the value of attribute callback.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#696
+ def callback; end
+
+ # Sets the attribute callback
+ #
+ # @param value the value to set the attribute callback to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#696
+ def callback=(_arg0); end
+
+ # Returns the value of attribute consumer_key.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#690
+ def consumer_key; end
+
+ # Sets the attribute consumer_key
+ #
+ # @param value the value to set the attribute consumer_key to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#690
+ def consumer_key=(_arg0); end
+
+ # Returns the value of attribute consumer_secret.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#691
+ def consumer_secret; end
+
+ # Sets the attribute consumer_secret
+ #
+ # @param value the value to set the attribute consumer_secret to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#691
+ def consumer_secret=(_arg0); end
+
+ # Returns the value of attribute debug_nonce.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#705
+ def debug_nonce; end
+
+ # Sets the attribute debug_nonce
+ #
+ # @param value the value to set the attribute debug_nonce to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#705
+ def debug_nonce=(_arg0); end
+
+ # Returns the value of attribute debug_timestamp.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#704
+ def debug_timestamp; end
+
+ # Sets the attribute debug_timestamp
+ #
+ # @param value the value to set the attribute debug_timestamp to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#704
+ def debug_timestamp=(_arg0); end
+
+ # Returns the value of attribute http_method.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#688
+ def http_method; end
+
+ # Sets the attribute http_method
+ #
+ # @param value the value to set the attribute http_method to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#688
+ def http_method=(_arg0); end
+
+ # Returns the value of attribute realm.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#689
+ def realm; end
+
+ # Sets the attribute realm
+ #
+ # @param value the value to set the attribute realm to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#689
+ def realm=(_arg0); end
+
+ # Returns the value of attribute secret.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#693
+ def secret; end
+
+ # Sets the attribute secret
+ #
+ # @param value the value to set the attribute secret to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#693
+ def secret=(_arg0); end
+
+ # for OAuth Session 1.0 (draft)
+ #
+ # source://httpclient//lib/httpclient/auth.rb#700
+ def session_handle; end
+
+ # for OAuth Session 1.0 (draft)
+ #
+ # source://httpclient//lib/httpclient/auth.rb#700
+ def session_handle=(_arg0); end
+
+ # Returns the value of attribute signature_handler.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#702
+ def signature_handler; end
+
+ # Returns the value of attribute signature_method.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#694
+ def signature_method; end
+
+ # Sets the attribute signature_method
+ #
+ # @param value the value to set the attribute signature_method to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#694
+ def signature_method=(_arg0); end
+
+ # Returns the value of attribute token.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#692
+ def token; end
+
+ # Sets the attribute token
+ #
+ # @param value the value to set the attribute token to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#692
+ def token=(_arg0); end
+
+ # Returns the value of attribute verifier.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#697
+ def verifier; end
+
+ # Sets the attribute verifier
+ #
+ # @param value the value to set the attribute verifier to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#697
+ def verifier=(_arg0); end
+
+ # Returns the value of attribute version.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#695
+ def version; end
+
+ # Sets the attribute version
+ #
+ # @param value the value to set the attribute version to.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#695
+ def version=(_arg0); end
+end
+
+# Default header for PROPFIND request.
+#
+# source://httpclient//lib/httpclient.rb#376
+HTTPClient::PROPFIND_DEFAULT_EXTHEADER = T.let(T.unsafe(nil), Hash)
+
+# Authentication filter for handling authentication negotiation between
+# Proxy server. Parses 'Proxy-Authentication' header in response and
+# generates 'Proxy-Authorization' header in request.
+#
+# Authentication filter is implemented using request filter of HTTPClient.
+# It traps HTTP response header and maintains authentication state, and
+# traps HTTP request header for inserting necessary authentication header.
+#
+# ProxyAuth has sub filters (BasicAuth, NegotiateAuth, and SSPINegotiateAuth)
+# and delegates some operations to it.
+# NegotiateAuth requires 'ruby/ntlm' module.
+# SSPINegotiateAuth requires 'win32/sspi' module.
+#
+# source://httpclient//lib/httpclient/auth.rb#151
+class HTTPClient::ProxyAuth < ::HTTPClient::AuthFilterBase
+ # Creates new ProxyAuth.
+ #
+ # @return [ProxyAuth] a new instance of ProxyAuth
+ #
+ # source://httpclient//lib/httpclient/auth.rb#158
+ def initialize; end
+
+ # Returns the value of attribute basic_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#152
+ def basic_auth; end
+
+ # Returns the value of attribute digest_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#153
+ def digest_auth; end
+
+ # Filter API implementation. Traps HTTP request and insert
+ # 'Proxy-Authorization' header if needed.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#185
+ def filter_request(req); end
+
+ # Filter API implementation. Traps HTTP response and parses
+ # 'Proxy-Authenticate' header.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#204
+ def filter_response(req, res); end
+
+ # Returns the value of attribute negotiate_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#154
+ def negotiate_auth; end
+
+ # Resets challenge state. See sub filters for more details.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#169
+ def reset_challenge; end
+
+ # Set authentication credential. See sub filters for more details.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#176
+ def set_auth(user, passwd); end
+
+ # Returns the value of attribute sspi_negotiate_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#155
+ def sspi_negotiate_auth; end
+end
+
+# source://httpclient//lib/httpclient/auth.rb#306
+class HTTPClient::ProxyBasicAuth < ::HTTPClient::BasicAuth
+ # Challenge handler: remember URL for response.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#321
+ def challenge(uri, param_str = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/auth.rb#313
+ def get(req); end
+
+ # source://httpclient//lib/httpclient/auth.rb#307
+ def set(uri, user, passwd); end
+end
+
+# Authentication filter for handling DigestAuth negotiation.
+# Ignores uri argument. Used in ProxyAuth.
+#
+# source://httpclient//lib/httpclient/auth.rb#459
+class HTTPClient::ProxyDigestAuth < ::HTTPClient::DigestAuth
+ # source://httpclient//lib/httpclient/auth.rb#487
+ def challenge(uri, param_str); end
+
+ # overrides DigestAuth#get. Uses default user name and password
+ # regardless of target uri if the proxy has required authentication
+ # before
+ #
+ # source://httpclient//lib/httpclient/auth.rb#471
+ def get(req); end
+
+ # source://httpclient//lib/httpclient/auth.rb#481
+ def reset_challenge; end
+
+ # overrides DigestAuth#set. sets default user name and password. uri is not used.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#462
+ def set(uri, user, passwd); end
+end
+
+# source://httpclient//lib/httpclient.rb#242
+HTTPClient::RUBY_VERSION_STRING = T.let(T.unsafe(nil), String)
+
+# Raised for indicating a response receiving timeout error.
+# You can configure response receiving timeout via
+# HTTPClient#receive_timeout=.
+#
+# source://httpclient//lib/httpclient.rb#280
+class HTTPClient::ReceiveTimeoutError < ::HTTPClient::TimeoutError; end
+
+# source://httpclient//lib/httpclient.rb#973
+class HTTPClient::RetryableResponse < ::StandardError
+ # @return [RetryableResponse] a new instance of RetryableResponse
+ #
+ # source://httpclient//lib/httpclient.rb#976
+ def initialize(res = T.unsafe(nil)); end
+
+ # Returns the value of attribute res.
+ #
+ # source://httpclient//lib/httpclient.rb#974
+ def res; end
+end
+
+# Represents SSL configuration for HTTPClient instance.
+# The implementation depends on OpenSSL.
+#
+# == Trust Anchor Control
+#
+# SSLConfig loads 'httpclient/cacert.pem' as a trust anchor
+# (trusted certificate(s)) with add_trust_ca in initialization time.
+# This means that HTTPClient instance trusts some CA certificates by default,
+# like Web browsers. 'httpclient/cacert.pem' is downloaded from curl web
+# site by the author and included in released package.
+#
+# On JRuby, HTTPClient uses Java runtime's trusted CA certificates, not
+# cacert.pem by default. You can load cacert.pem by calling
+# SSLConfig#load_trust_ca manually like:
+#
+# HTTPClient.new { self.ssl_config.load_trust_ca }.get("https://...")
+#
+# You may want to change trust anchor by yourself. Call clear_cert_store
+# then add_trust_ca for that purpose.
+#
+# source://httpclient//lib/httpclient/ssl_config.rb#37
+class HTTPClient::SSLConfig
+ include ::HTTPClient::Util
+ include ::OpenSSL
+
+ # Creates a SSLConfig.
+ #
+ # @return [SSLConfig] a new instance of SSLConfig
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#145
+ def initialize(client); end
+
+ # Adds CRL for verification.
+ # crl:: a OpenSSL::X509::CRL or a filename of a PEM/DER formatted
+ # OpenSSL::X509::CRL.
+ #
+ # On JRuby, instead of setting CRL by yourself you can set following
+ # options to let HTTPClient to perform revocation check with CRL and OCSP:
+ # -J-Dcom.sun.security.enableCRLDP=true -J-Dcom.sun.net.ssl.checkRevocation=true
+ # ex. jruby -J-Dcom.sun.security.enableCRLDP=true -J-Dcom.sun.net.ssl.checkRevocation=true app.rb
+ #
+ # Revoked cert example: https://test-sspev.verisign.com:2443/test-SSPEV-revoked-verisign.html
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#268
+ def add_crl(crl); end
+
+ # Sets trust anchor certificate(s) for verification.
+ # trust_ca_file_or_hashed_dir:: a filename of a PEM/DER formatted
+ # OpenSSL::X509::Certificate or
+ # a 'c-rehash'eddirectory name which stores
+ # trusted certificate files.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#231
+ def add_trust_ca(trust_ca_file_or_hashed_dir); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#241
+ def add_trust_ca_to_store(cert_store, trust_ca_file_or_hashed_dir); end
+
+ # OpenSSL::X509::X509::Store used for verification. You can reset the
+ # store with clear_cert_store and set the new store with cert_store=.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#135
+ def cert_store; end
+
+ # Sets new certificate store (OpenSSL::X509::Store).
+ # don't use if you don't know what it is.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#215
+ def cert_store=(cert_store); end
+
+ # Returns the value of attribute cert_store_crl_items.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#142
+ def cert_store_crl_items; end
+
+ # These array keeps original files/dirs that was added to @cert_store
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#141
+ def cert_store_items; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def ciphers; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def ciphers=(rhs); end
+
+ # Drops current certificate store (OpenSSL::X509::Store) for SSL and create
+ # new one for the next session.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#204
+ def clear_cert_store; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def client_ca; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def client_ca=(rhs); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def client_cert; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def client_cert=(rhs); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def client_key; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def client_key=(rhs); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def client_key_pass; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def client_key_pass=(rhs); end
+
+ # Default callback for verification: only dumps error.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#338
+ def default_verify_callback(is_ok, ctx); end
+
+ # Loads default trust anchors.
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#251
+ def load_trust_ca; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def options; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def options=(rhs); end
+
+ # post connection check proc for ruby < 1.8.5.
+ # this definition must match with the one in ext/openssl/lib/openssl/ssl.rb
+ #
+ # @raise [SSL::SSLError]
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#310
+ def post_connection_check(peer_cert, hostname); end
+
+ # Sample callback method: CAUTION: does not check CRL/ARL.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#358
+ def sample_verify_callback(is_ok, ctx); end
+
+ # Sets certificate and private key for SSL client authentication.
+ # cert_file:: must be a filename of PEM/DER formatted file.
+ # key_file:: must be a filename of PEM/DER formatted file. Key must be an
+ # RSA key. If you want to use other PKey algorithm,
+ # use client_key=.
+ #
+ # Calling this method resets all existing sessions if value is changed.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#175
+ def set_client_cert_file(cert_file, key_file, pass = T.unsafe(nil)); end
+
+ # interfaces for SSLSocket.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#284
+ def set_context(ctx); end
+
+ # Adds CRL for verification.
+ # crl:: a OpenSSL::X509::CRL or a filename of a PEM/DER formatted
+ # OpenSSL::X509::CRL.
+ #
+ # On JRuby, instead of setting CRL by yourself you can set following
+ # options to let HTTPClient to perform revocation check with CRL and OCSP:
+ # -J-Dcom.sun.security.enableCRLDP=true -J-Dcom.sun.net.ssl.checkRevocation=true
+ # ex. jruby -J-Dcom.sun.security.enableCRLDP=true -J-Dcom.sun.net.ssl.checkRevocation=true app.rb
+ #
+ # Revoked cert example: https://test-sspev.verisign.com:2443/test-SSPEV-revoked-verisign.html
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#268
+ def set_crl(crl); end
+
+ # Sets OpenSSL's default trusted CA certificates. Generally, OpenSSL is
+ # configured to use OS's trusted CA certificates located at
+ # /etc/pki/certs or /etc/ssl/certs. Unfortunately OpenSSL's Windows build
+ # does not work with Windows Certificate Storage.
+ #
+ # On Windows or when you build OpenSSL manually, you can set the
+ # CA certificates directory by SSL_CERT_DIR env variable at runtime.
+ #
+ # SSL_CERT_DIR=/etc/ssl/certs ruby -rhttpclient -e "..."
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#193
+ def set_default_paths; end
+
+ # Sets trust anchor certificate(s) for verification.
+ # trust_ca_file_or_hashed_dir:: a filename of a PEM/DER formatted
+ # OpenSSL::X509::Certificate or
+ # a 'c-rehash'eddirectory name which stores
+ # trusted certificate files.
+ #
+ # Calling this method resets all existing sessions.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#231
+ def set_trust_ca(trust_ca_file_or_hashed_dir); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def ssl_version; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def ssl_version=(rhs); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def timeout; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def timeout=(rhs); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#279
+ def verify?; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def verify_callback; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def verify_callback=(rhs); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def verify_depth; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def verify_depth=(rhs); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#74
+ def verify_mode; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#77
+ def verify_mode=(rhs); end
+
+ private
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#411
+ def change_notify; end
+
+ # Use 2048 bit certs trust anchor
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#417
+ def load_cacerts(cert_store); end
+
+ class << self
+ private
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#71
+ def attr_config(symbol); end
+ end
+end
+
+# OpenSSL >1.0.0 default
+#
+# source://httpclient//lib/httpclient/ssl_config.rb#88
+HTTPClient::SSLConfig::CIPHERS_DEFAULT = T.let(T.unsafe(nil), String)
+
+# source://httpclient//lib/httpclient/ssl_config.rb#13
+HTTPClient::SSLEnabled = T.let(T.unsafe(nil), TrueClass)
+
+# Wraps up OpenSSL::SSL::SSLSocket and offers debugging features.
+#
+# source://httpclient//lib/httpclient/ssl_socket.rb#15
+class HTTPClient::SSLSocket
+ # @return [SSLSocket] a new instance of SSLSocket
+ #
+ # source://httpclient//lib/httpclient/ssl_socket.rb#33
+ def initialize(socket, dest, config, opts = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#79
+ def <<(str); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#48
+ def close; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/ssl_socket.rb#53
+ def closed?; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/ssl_socket.rb#57
+ def eof?; end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#85
+ def flush; end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#61
+ def gets(rs); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#44
+ def peer_cert; end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#67
+ def read(size, buf = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#73
+ def readpartial(size, buf = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#89
+ def sync; end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#93
+ def sync=(sync); end
+
+ private
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#128
+ def check_mask(value, mask); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#132
+ def create_openssl_socket(socket); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#145
+ def debug(str); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#113
+ def post_connection_check(hostname); end
+
+ # source://httpclient//lib/httpclient/ssl_socket.rb#99
+ def ssl_connect(hostname = T.unsafe(nil)); end
+
+ class << self
+ # source://httpclient//lib/httpclient/ssl_socket.rb#16
+ def create_socket(session); end
+ end
+end
+
+# source://httpclient//lib/httpclient/auth.rb#17
+HTTPClient::SSPIEnabled = T.let(T.unsafe(nil), FalseClass)
+
+# Authentication filter for handling Negotiate/NTLM negotiation.
+# Used in ProxyAuth.
+#
+# SSPINegotiateAuth depends on 'win32/sspi' module.
+#
+# source://httpclient//lib/httpclient/auth.rb#596
+class HTTPClient::SSPINegotiateAuth < ::HTTPClient::AuthBase
+ include ::Mutex_m
+
+ # Creates new SSPINegotiateAuth filter.
+ #
+ # @return [SSPINegotiateAuth] a new instance of SSPINegotiateAuth
+ #
+ # source://httpclient//lib/httpclient/auth.rb#600
+ def initialize; end
+
+ # Challenge handler: remember URL and challenge token for response.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#655
+ def challenge(uri, param_str); end
+
+ # Response handler: returns credential.
+ # See win32/sspi for negotiation state transition.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#618
+ def get(req); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#91
+ def lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#81
+ def locked?; end
+
+ # Set authentication credential.
+ # NOT SUPPORTED: username and necessary data is retrieved by win32/sspi.
+ # See win32/sspi for more details.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#607
+ def set(*args); end
+
+ # Check always (not effective but it works)
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/auth.rb#612
+ def set?; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#76
+ def synchronize(&block); end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#86
+ def try_lock; end
+
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#96
+ def unlock; end
+end
+
+# Raised for indicating a request sending timeout error.
+# You can configure request sending timeout via HTTPClient#send_timeout=.
+#
+# source://httpclient//lib/httpclient.rb#274
+class HTTPClient::SendTimeoutError < ::HTTPClient::TimeoutError; end
+
+# Deprecated. just for backward compatibility
+#
+# source://httpclient//lib/httpclient/session.rb#434
+class HTTPClient::Session
+ include ::HTTPClient::Timeout
+ include ::HTTPClient::Util
+
+ # @return [Session] a new instance of Session
+ #
+ # source://httpclient//lib/httpclient/session.rb#468
+ def initialize(client, dest, agent_name, from); end
+
+ # source://httpclient//lib/httpclient/session.rb#543
+ def close; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/session.rb#552
+ def closed?; end
+
+ # Returns the value of attribute connect_retry.
+ #
+ # source://httpclient//lib/httpclient/session.rb#452
+ def connect_retry; end
+
+ # Sets the attribute connect_retry
+ #
+ # @param value the value to set the attribute connect_retry to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#452
+ def connect_retry=(_arg0); end
+
+ # source://httpclient//lib/httpclient/session.rb#644
+ def connect_ssl_proxy(socket, uri); end
+
+ # Returns the value of attribute connect_timeout.
+ #
+ # source://httpclient//lib/httpclient/session.rb#451
+ def connect_timeout; end
+
+ # Sets the attribute connect_timeout
+ #
+ # @param value the value to set the attribute connect_timeout to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#451
+ def connect_timeout=(_arg0); end
+
+ # source://httpclient//lib/httpclient/session.rb#630
+ def create_loopback_socket(host, port, str); end
+
+ # source://httpclient//lib/httpclient/session.rb#605
+ def create_socket(host, port); end
+
+ # Device for dumping log for debugging
+ #
+ # source://httpclient//lib/httpclient/session.rb#449
+ def debug_dev; end
+
+ # Device for dumping log for debugging
+ #
+ # source://httpclient//lib/httpclient/session.rb#449
+ def debug_dev=(_arg0); end
+
+ # Destination site
+ #
+ # source://httpclient//lib/httpclient/session.rb#439
+ def dest; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/session.rb#569
+ def eof?; end
+
+ # source://httpclient//lib/httpclient/session.rb#577
+ def get_body(&block); end
+
+ # source://httpclient//lib/httpclient/session.rb#556
+ def get_header; end
+
+ # Returns the value of attribute last_used.
+ #
+ # source://httpclient//lib/httpclient/session.rb#466
+ def last_used; end
+
+ # Returns the value of attribute protocol_retry_count.
+ #
+ # source://httpclient//lib/httpclient/session.rb#456
+ def protocol_retry_count; end
+
+ # Sets the attribute protocol_retry_count
+ #
+ # @param value the value to set the attribute protocol_retry_count to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#456
+ def protocol_retry_count=(_arg0); end
+
+ # Proxy site
+ #
+ # source://httpclient//lib/httpclient/session.rb#441
+ def proxy; end
+
+ # Proxy site
+ #
+ # source://httpclient//lib/httpclient/session.rb#441
+ def proxy=(_arg0); end
+
+ # Send a request to the server
+ #
+ # source://httpclient//lib/httpclient/session.rb#510
+ def query(req); end
+
+ # Returns the value of attribute read_block_size.
+ #
+ # source://httpclient//lib/httpclient/session.rb#455
+ def read_block_size; end
+
+ # Sets the attribute read_block_size
+ #
+ # @param value the value to set the attribute read_block_size to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#455
+ def read_block_size=(_arg0); end
+
+ # Returns the value of attribute receive_timeout.
+ #
+ # source://httpclient//lib/httpclient/session.rb#454
+ def receive_timeout; end
+
+ # Sets the attribute receive_timeout
+ #
+ # @param value the value to set the attribute receive_timeout to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#454
+ def receive_timeout=(_arg0); end
+
+ # Requested protocol version
+ #
+ # source://httpclient//lib/httpclient/session.rb#447
+ def requested_version; end
+
+ # Requested protocol version
+ #
+ # source://httpclient//lib/httpclient/session.rb#447
+ def requested_version=(_arg0); end
+
+ # Returns the value of attribute send_timeout.
+ #
+ # source://httpclient//lib/httpclient/session.rb#453
+ def send_timeout; end
+
+ # Sets the attribute send_timeout
+ #
+ # @param value the value to set the attribute send_timeout to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#453
+ def send_timeout=(_arg0); end
+
+ # Returns the value of attribute socket_local.
+ #
+ # source://httpclient//lib/httpclient/session.rb#459
+ def socket_local; end
+
+ # Sets the attribute socket_local
+ #
+ # @param value the value to set the attribute socket_local to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#459
+ def socket_local=(_arg0); end
+
+ # Boolean value for Socket#sync
+ #
+ # source://httpclient//lib/httpclient/session.rb#443
+ def socket_sync; end
+
+ # Boolean value for Socket#sync
+ #
+ # source://httpclient//lib/httpclient/session.rb#443
+ def socket_sync=(_arg0); end
+
+ # Returns the value of attribute ssl_config.
+ #
+ # source://httpclient//lib/httpclient/session.rb#461
+ def ssl_config; end
+
+ # Sets the attribute ssl_config
+ #
+ # @param value the value to set the attribute ssl_config to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#461
+ def ssl_config=(_arg0); end
+
+ # Returns the value of attribute ssl_peer_cert.
+ #
+ # source://httpclient//lib/httpclient/session.rb#462
+ def ssl_peer_cert; end
+
+ # Returns the value of attribute strict_response_size_check.
+ #
+ # source://httpclient//lib/httpclient/session.rb#458
+ def strict_response_size_check; end
+
+ # Sets the attribute strict_response_size_check
+ #
+ # @param value the value to set the attribute strict_response_size_check to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#458
+ def strict_response_size_check=(_arg0); end
+
+ # Boolean value to send TCP keepalive packets; no timing settings exist at present
+ #
+ # source://httpclient//lib/httpclient/session.rb#445
+ def tcp_keepalive; end
+
+ # Boolean value to send TCP keepalive packets; no timing settings exist at present
+ #
+ # source://httpclient//lib/httpclient/session.rb#445
+ def tcp_keepalive=(_arg0); end
+
+ # Returns the value of attribute test_loopback_http_response.
+ #
+ # source://httpclient//lib/httpclient/session.rb#463
+ def test_loopback_http_response; end
+
+ # Sets the attribute test_loopback_http_response
+ #
+ # @param value the value to set the attribute test_loopback_http_response to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#463
+ def test_loopback_http_response=(_arg0); end
+
+ # Returns the value of attribute transparent_gzip_decompression.
+ #
+ # source://httpclient//lib/httpclient/session.rb#465
+ def transparent_gzip_decompression; end
+
+ # Sets the attribute transparent_gzip_decompression
+ #
+ # @param value the value to set the attribute transparent_gzip_decompression to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#465
+ def transparent_gzip_decompression=(_arg0); end
+
+ private
+
+ # Connect to the server
+ #
+ # source://httpclient//lib/httpclient/session.rb#744
+ def connect; end
+
+ # source://httpclient//lib/httpclient/session.rb#700
+ def content_inflater_block(content_encoding, block); end
+
+ # source://httpclient//lib/httpclient/session.rb#952
+ def empty_bin_str; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/session.rb#848
+ def no_message_body?(status); end
+
+ # source://httpclient//lib/httpclient/session.rb#853
+ def parse_content_header(key, value); end
+
+ # source://httpclient//lib/httpclient/session.rb#800
+ def parse_header(socket); end
+
+ # source://httpclient//lib/httpclient/session.rb#903
+ def read_body_chunked(&block); end
+
+ # source://httpclient//lib/httpclient/session.rb#875
+ def read_body_length(&block); end
+
+ # source://httpclient//lib/httpclient/session.rb#927
+ def read_body_rest; end
+
+ # Read status block.
+ #
+ # source://httpclient//lib/httpclient/session.rb#779
+ def read_header; end
+
+ # source://httpclient//lib/httpclient/session.rb#720
+ def set_header(req); end
+end
+
+# source://httpclient//lib/httpclient.rb#285
+HTTPClient::Session::BadResponse = HTTPClient::BadResponseError
+
+# This inflater allows deflate compression with/without zlib header
+#
+# source://httpclient//lib/httpclient/session.rb#672
+class HTTPClient::Session::LenientInflater
+ # @return [LenientInflater] a new instance of LenientInflater
+ #
+ # source://httpclient//lib/httpclient/session.rb#673
+ def initialize; end
+
+ # source://httpclient//lib/httpclient/session.rb#678
+ def inflate(body); end
+
+ private
+
+ # source://httpclient//lib/httpclient/session.rb#688
+ def first_inflate(body); end
+end
+
+# source://httpclient//lib/httpclient/session.rb#902
+HTTPClient::Session::RS = T.let(T.unsafe(nil), String)
+
+# source://httpclient//lib/httpclient/session.rb#799
+HTTPClient::Session::StatusParseRegexp = T.let(T.unsafe(nil), Regexp)
+
+# Manages sessions for a HTTPClient instance.
+#
+# source://httpclient//lib/httpclient/session.rb#94
+class HTTPClient::SessionManager
+ # @return [SessionManager] a new instance of SessionManager
+ #
+ # source://httpclient//lib/httpclient/session.rb#132
+ def initialize(client); end
+
+ # Name of this client. Used for 'User-Agent' header in HTTP request.
+ #
+ # source://httpclient//lib/httpclient/session.rb#96
+ def agent_name; end
+
+ # Name of this client. Used for 'User-Agent' header in HTTP request.
+ #
+ # source://httpclient//lib/httpclient/session.rb#96
+ def agent_name=(_arg0); end
+
+ # Chunk size for chunked request
+ #
+ # source://httpclient//lib/httpclient/session.rb#103
+ def chunk_size; end
+
+ # Chunk size for chunked request
+ #
+ # source://httpclient//lib/httpclient/session.rb#103
+ def chunk_size=(_arg0); end
+
+ # Maximum retry count. 0 for infinite.
+ #
+ # source://httpclient//lib/httpclient/session.rb#113
+ def connect_retry; end
+
+ # Maximum retry count. 0 for infinite.
+ #
+ # source://httpclient//lib/httpclient/session.rb#113
+ def connect_retry=(_arg0); end
+
+ # Returns the value of attribute connect_timeout.
+ #
+ # source://httpclient//lib/httpclient/session.rb#111
+ def connect_timeout; end
+
+ # Sets the attribute connect_timeout
+ #
+ # @param value the value to set the attribute connect_timeout to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#111
+ def connect_timeout=(_arg0); end
+
+ # Device for dumping log for debugging
+ #
+ # source://httpclient//lib/httpclient/session.rb#105
+ def debug_dev; end
+
+ # Device for dumping log for debugging
+ #
+ # source://httpclient//lib/httpclient/session.rb#105
+ def debug_dev=(_arg0); end
+
+ # Owner of this client. Used for 'From' header in HTTP request.
+ #
+ # source://httpclient//lib/httpclient/session.rb#98
+ def from; end
+
+ # Owner of this client. Used for 'From' header in HTTP request.
+ #
+ # source://httpclient//lib/httpclient/session.rb#98
+ def from=(_arg0); end
+
+ # assert: sess.last_used must not be nil
+ #
+ # source://httpclient//lib/httpclient/session.rb#195
+ def keep(sess); end
+
+ # Returns the value of attribute keep_alive_timeout.
+ #
+ # source://httpclient//lib/httpclient/session.rb#116
+ def keep_alive_timeout; end
+
+ # Sets the attribute keep_alive_timeout
+ #
+ # @param value the value to set the attribute keep_alive_timeout to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#116
+ def keep_alive_timeout=(_arg0); end
+
+ # Returns the value of attribute protocol_retry_count.
+ #
+ # source://httpclient//lib/httpclient/session.rb#118
+ def protocol_retry_count; end
+
+ # Sets the attribute protocol_retry_count
+ #
+ # @param value the value to set the attribute protocol_retry_count to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#118
+ def protocol_retry_count=(_arg0); end
+
+ # Requested protocol version
+ #
+ # source://httpclient//lib/httpclient/session.rb#101
+ def protocol_version; end
+
+ # Requested protocol version
+ #
+ # source://httpclient//lib/httpclient/session.rb#101
+ def protocol_version=(_arg0); end
+
+ # source://httpclient//lib/httpclient/session.rb#165
+ def proxy=(proxy); end
+
+ # source://httpclient//lib/httpclient/session.rb#173
+ def query(req, via_proxy); end
+
+ # Returns the value of attribute read_block_size.
+ #
+ # source://httpclient//lib/httpclient/session.rb#117
+ def read_block_size; end
+
+ # Sets the attribute read_block_size
+ #
+ # @param value the value to set the attribute read_block_size to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#117
+ def read_block_size=(_arg0); end
+
+ # Returns the value of attribute receive_timeout.
+ #
+ # source://httpclient//lib/httpclient/session.rb#115
+ def receive_timeout; end
+
+ # Sets the attribute receive_timeout
+ #
+ # @param value the value to set the attribute receive_timeout to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#115
+ def receive_timeout=(_arg0); end
+
+ # source://httpclient//lib/httpclient/session.rb#185
+ def reset(uri); end
+
+ # source://httpclient//lib/httpclient/session.rb#190
+ def reset_all; end
+
+ # Returns the value of attribute send_timeout.
+ #
+ # source://httpclient//lib/httpclient/session.rb#114
+ def send_timeout; end
+
+ # Sets the attribute send_timeout
+ #
+ # @param value the value to set the attribute send_timeout to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#114
+ def send_timeout=(_arg0); end
+
+ # Local address to bind local side of the socket to
+ #
+ # source://httpclient//lib/httpclient/session.rb#124
+ def socket_local; end
+
+ # Local address to bind local side of the socket to
+ #
+ # source://httpclient//lib/httpclient/session.rb#124
+ def socket_local=(_arg0); end
+
+ # Boolean value for Socket#sync
+ #
+ # source://httpclient//lib/httpclient/session.rb#107
+ def socket_sync; end
+
+ # Boolean value for Socket#sync
+ #
+ # source://httpclient//lib/httpclient/session.rb#107
+ def socket_sync=(_arg0); end
+
+ # Returns the value of attribute ssl_config.
+ #
+ # source://httpclient//lib/httpclient/session.rb#126
+ def ssl_config; end
+
+ # Sets the attribute ssl_config
+ #
+ # @param value the value to set the attribute ssl_config to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#126
+ def ssl_config=(_arg0); end
+
+ # Raise BadResponseError if response size does not match with Content-Length header in response.
+ #
+ # source://httpclient//lib/httpclient/session.rb#121
+ def strict_response_size_check; end
+
+ # Raise BadResponseError if response size does not match with Content-Length header in response.
+ #
+ # source://httpclient//lib/httpclient/session.rb#121
+ def strict_response_size_check=(_arg0); end
+
+ # Boolean value to send TCP keepalive packets; no timing settings exist at present
+ #
+ # source://httpclient//lib/httpclient/session.rb#109
+ def tcp_keepalive; end
+
+ # Boolean value to send TCP keepalive packets; no timing settings exist at present
+ #
+ # source://httpclient//lib/httpclient/session.rb#109
+ def tcp_keepalive=(_arg0); end
+
+ # Returns the value of attribute test_loopback_http_response.
+ #
+ # source://httpclient//lib/httpclient/session.rb#128
+ def test_loopback_http_response; end
+
+ # Returns the value of attribute transparent_gzip_decompression.
+ #
+ # source://httpclient//lib/httpclient/session.rb#130
+ def transparent_gzip_decompression; end
+
+ # Sets the attribute transparent_gzip_decompression
+ #
+ # @param value the value to set the attribute transparent_gzip_decompression to.
+ #
+ # source://httpclient//lib/httpclient/session.rb#130
+ def transparent_gzip_decompression=(_arg0); end
+
+ private
+
+ # source://httpclient//lib/httpclient/session.rb#298
+ def add_cached_session(sess); end
+
+ # This method might not work as you expected...
+ #
+ # source://httpclient//lib/httpclient/session.rb#251
+ def close(dest); end
+
+ # source://httpclient//lib/httpclient/session.rb#239
+ def close_all; end
+
+ # source://httpclient//lib/httpclient/session.rb#260
+ def get_cached_session(site); end
+
+ # TODO: create PR for webmock's httpclient adapter to use get_session
+ # instead of open so that we can remove duplicated Site creation for
+ # each session.
+ #
+ # source://httpclient//lib/httpclient/session.rb#204
+ def get_session(req, via_proxy = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/session.rb#217
+ def open(uri, via_proxy = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/session.rb#281
+ def scrub_cached_session(now); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/session.rb#294
+ def valid_session?(sess, now); end
+end
+
+# Represents a Site: protocol scheme, host String and port Number.
+#
+# source://httpclient//lib/httpclient/session.rb#35
+class HTTPClient::Site
+ # Creates a new Site based on the given URI.
+ #
+ # @return [Site] a new instance of Site
+ #
+ # source://httpclient//lib/httpclient/session.rb#45
+ def initialize(uri = T.unsafe(nil)); end
+
+ # Returns true is scheme, host and port are '=='
+ #
+ # source://httpclient//lib/httpclient/session.rb#63
+ def ==(rhs); end
+
+ # Returns address String.
+ #
+ # source://httpclient//lib/httpclient/session.rb#58
+ def addr; end
+
+ # Same as ==.
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/session.rb#68
+ def eql?(rhs); end
+
+ # source://httpclient//lib/httpclient/session.rb#72
+ def hash; end
+
+ # Host String.
+ #
+ # source://httpclient//lib/httpclient/session.rb#39
+ def host; end
+
+ # Host String.
+ #
+ # source://httpclient//lib/httpclient/session.rb#39
+ def host=(_arg0); end
+
+ # Host String.
+ #
+ # source://httpclient//lib/httpclient/session.rb#39
+ def hostname; end
+
+ # source://httpclient//lib/httpclient/session.rb#85
+ def inspect; end
+
+ # Returns true if scheme, host and port of the given URI matches with this.
+ #
+ # source://httpclient//lib/httpclient/session.rb#81
+ def match(uri); end
+
+ # Port number.
+ #
+ # source://httpclient//lib/httpclient/session.rb#42
+ def port; end
+
+ # Port number.
+ #
+ # source://httpclient//lib/httpclient/session.rb#42
+ def port=(_arg0); end
+
+ # Protocol scheme.
+ #
+ # source://httpclient//lib/httpclient/session.rb#37
+ def scheme; end
+
+ # Protocol scheme.
+ #
+ # source://httpclient//lib/httpclient/session.rb#37
+ def scheme=(_arg0); end
+
+ # source://httpclient//lib/httpclient/session.rb#76
+ def to_s; end
+end
+
+# source://httpclient//lib/httpclient/session.rb#89
+HTTPClient::Site::EMPTY = T.let(T.unsafe(nil), HTTPClient::Site)
+
+# Wraps up a Socket for method interception.
+#
+# source://httpclient//lib/httpclient/session.rb#307
+module HTTPClient::SocketWrap
+ # source://httpclient//lib/httpclient/session.rb#308
+ def initialize(socket, *args); end
+
+ # source://httpclient//lib/httpclient/session.rb#342
+ def <<(str); end
+
+ # source://httpclient//lib/httpclient/session.rb#313
+ def close; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/session.rb#317
+ def closed?; end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/session.rb#321
+ def eof?; end
+
+ # source://httpclient//lib/httpclient/session.rb#346
+ def flush; end
+
+ # source://httpclient//lib/httpclient/session.rb#325
+ def gets(rs); end
+
+ # source://httpclient//lib/httpclient/session.rb#329
+ def read(size, buf = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/session.rb#333
+ def readpartial(size, buf = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/session.rb#350
+ def sync; end
+
+ # source://httpclient//lib/httpclient/session.rb#354
+ def sync=(sync); end
+end
+
+# source://httpclient//lib/httpclient/timeout.rb#123
+module HTTPClient::Timeout; end
+
+# Raised for indicating a timeout error.
+#
+# source://httpclient//lib/httpclient.rb#264
+class HTTPClient::TimeoutError < ::RuntimeError; end
+
+# A module for common function.
+#
+# source://httpclient//lib/httpclient/util.rb#53
+module HTTPClient::Util
+ # Keyword argument to hash helper.
+ # args:: given arguments.
+ # *field:: a list of arguments to be extracted.
+ #
+ # Returns hash which has defined keys. When a Hash given, returns it
+ # including undefined keys. When an Array given, returns a Hash which only
+ # includes defined keys.
+ #
+ # source://httpclient//lib/httpclient/util.rb#132
+ def argument_to_hash(args, *field); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/util.rb#216
+ def http?(uri); end
+
+ # Checks if the given URI is https.
+ #
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/util.rb#212
+ def https?(uri); end
+
+ # Keyword argument helper.
+ # args:: given arguments.
+ # *field:: a list of arguments to be extracted.
+ #
+ # You can extract 3 arguments (a, b, c) with:
+ #
+ # include Util
+ # def my_method(*args)
+ # a, b, c = keyword_argument(args, :a, :b, :c)
+ # ...
+ # end
+ # my_method(1, 2, 3)
+ # my_method(:b => 2, :a = 1)
+ #
+ # instead of;
+ #
+ # def my_method(a, b, c)
+ # ...
+ # end
+ #
+ # source://httpclient//lib/httpclient/util.rb#115
+ def keyword_argument(args, *field); end
+
+ # source://httpclient//lib/httpclient/util.rb#205
+ def warning(message); end
+
+ private
+
+ # Finds a value of a Hash.
+ #
+ # source://httpclient//lib/httpclient/util.rb#183
+ def hash_find_value(hash, &block); end
+
+ # Try to require a feature and returns true/false if loaded
+ #
+ # It returns 'true' for the second require in contrast of the standard
+ # require returns false if the feature is already loaded.
+ #
+ # source://httpclient//lib/httpclient/util.rb#193
+ def try_require(feature); end
+
+ # Returns parent directory URI of the given URI.
+ #
+ # source://httpclient//lib/httpclient/util.rb#175
+ def uri_dirname(uri); end
+
+ # Returns true if the given 2 URIs have a part_of relationship.
+ # * the same scheme
+ # * the same host String (no host resolution or IP-addr conversion)
+ # * the same port number
+ # * target URI's path starts with base URI's path.
+ #
+ # source://httpclient//lib/httpclient/util.rb#166
+ def uri_part_of(uri, part); end
+
+ # Gets an URI instance.
+ #
+ # source://httpclient//lib/httpclient/util.rb#148
+ def urify(uri); end
+
+ class << self
+ # Finds a value of a Hash.
+ #
+ # source://httpclient//lib/httpclient/util.rb#183
+ def hash_find_value(hash, &block); end
+
+ # Try to require a feature and returns true/false if loaded
+ #
+ # It returns 'true' for the second require in contrast of the standard
+ # require returns false if the feature is already loaded.
+ #
+ # source://httpclient//lib/httpclient/util.rb#193
+ def try_require(feature); end
+
+ # Returns parent directory URI of the given URI.
+ #
+ # source://httpclient//lib/httpclient/util.rb#175
+ def uri_dirname(uri); end
+
+ # Returns true if the given 2 URIs have a part_of relationship.
+ # * the same scheme
+ # * the same host String (no host resolution or IP-addr conversion)
+ # * the same port number
+ # * target URI's path starts with base URI's path.
+ #
+ # source://httpclient//lib/httpclient/util.rb#166
+ def uri_part_of(uri, part); end
+
+ # Gets an URI instance.
+ #
+ # source://httpclient//lib/httpclient/util.rb#148
+ def urify(uri); end
+ end
+end
+
+# source://httpclient//lib/httpclient/util.rb#90
+HTTPClient::Util::AddressableEnabled = T.let(T.unsafe(nil), TrueClass)
+
+# source://httpclient//lib/httpclient/util.rb#63
+class HTTPClient::Util::AddressableURI < ::Addressable::URI
+ # source://httpclient//lib/httpclient/util.rb#65
+ def authority; end
+
+ # source://httpclient//lib/httpclient/util.rb#85
+ def hostname; end
+
+ # source://httpclient//lib/httpclient/util.rb#80
+ def port; end
+end
+
+# source://httpclient//lib/httpclient/version.rb#2
+HTTPClient::VERSION = T.let(T.unsafe(nil), String)
+
+# Authentication filter for handling authentication negotiation between
+# Web server. Parses 'WWW-Authentication' header in response and
+# generates 'Authorization' header in request.
+#
+# Authentication filter is implemented using request filter of HTTPClient.
+# It traps HTTP response header and maintains authentication state, and
+# traps HTTP request header for inserting necessary authentication header.
+#
+# WWWAuth has sub filters (BasicAuth, DigestAuth, NegotiateAuth and
+# SSPINegotiateAuth) and delegates some operations to it.
+# NegotiateAuth requires 'ruby/ntlm' module (rubyntlm gem).
+# SSPINegotiateAuth requires 'win32/sspi' module (rubysspi gem).
+#
+# source://httpclient//lib/httpclient/auth.rb#58
+class HTTPClient::WWWAuth < ::HTTPClient::AuthFilterBase
+ # Creates new WWWAuth.
+ #
+ # @return [WWWAuth] a new instance of WWWAuth
+ #
+ # source://httpclient//lib/httpclient/auth.rb#66
+ def initialize; end
+
+ # Returns the value of attribute basic_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#59
+ def basic_auth; end
+
+ # Returns the value of attribute digest_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#60
+ def digest_auth; end
+
+ # Filter API implementation. Traps HTTP request and insert
+ # 'Authorization' header if needed.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#94
+ def filter_request(req); end
+
+ # Filter API implementation. Traps HTTP response and parses
+ # 'WWW-Authenticate' header.
+ #
+ # This remembers the challenges for all authentication methods
+ # available to the client. On the subsequent retry of the request,
+ # filter_request will select the strongest method.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#117
+ def filter_response(req, res); end
+
+ # Returns the value of attribute negotiate_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#61
+ def negotiate_auth; end
+
+ # Returns the value of attribute oauth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#63
+ def oauth; end
+
+ # Resets challenge state. See sub filters for more details.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#78
+ def reset_challenge; end
+
+ # Set authentication credential. See sub filters for more details.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#85
+ def set_auth(uri, user, passwd); end
+
+ # Returns the value of attribute sspi_negotiate_auth.
+ #
+ # source://httpclient//lib/httpclient/auth.rb#62
+ def sspi_negotiate_auth; end
+end
+
+# source://httpclient//lib/httpclient/ssl_config.rb#44
+class OpenSSL::X509::Store
+ # source://httpclient//lib/httpclient/ssl_config.rb#51
+ def initialize(*args); end
+
+ # Returns the value of attribute _httpclient_cert_store_items.
+ #
+ # source://httpclient//lib/httpclient/ssl_config.rb#45
+ def _httpclient_cert_store_items; end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#58
+ def add_cert(cert); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#58
+ def add_file(cert); end
+
+ # source://httpclient//lib/httpclient/ssl_config.rb#58
+ def add_path(cert); end
+end
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#18
+class WebAgent; end
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#52
+class WebAgent::Cookie
+ include ::WebAgent::CookieUtils
+
+ # @return [Cookie] a new instance of Cookie
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#76
+ def initialize; end
+
+ # Sets the attribute discard
+ #
+ # @param value the value to set the attribute discard to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#59
+ def discard=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#83
+ def discard?; end
+
+ # Returns the value of attribute domain.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#56
+ def domain; end
+
+ # Sets the attribute domain
+ #
+ # @param value the value to set the attribute domain to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#56
+ def domain=(_arg0); end
+
+ # Sets the attribute domain_orig
+ #
+ # @param value the value to set the attribute domain_orig to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#59
+ def domain_orig=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#99
+ def domain_orig?; end
+
+ # for Netscape Cookie
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#57
+ def expires; end
+
+ # for Netscape Cookie
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#57
+ def expires=(_arg0); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#111
+ def flag; end
+
+ # Sets the attribute http_only
+ #
+ # @param value the value to set the attribute http_only to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#59
+ def http_only=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#95
+ def http_only?; end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#146
+ def join_quotedstr(array, sep); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#134
+ def match?(url); end
+
+ # Returns the value of attribute name.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#55
+ def name; end
+
+ # Sets the attribute name
+ #
+ # @param value the value to set the attribute name to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#55
+ def name=(_arg0); end
+
+ # Sets the attribute override
+ #
+ # @param value the value to set the attribute override to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#59
+ def override=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#107
+ def override?; end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#170
+ def parse(str, url); end
+
+ # Returns the value of attribute path.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#56
+ def path; end
+
+ # Sets the attribute path
+ #
+ # @param value the value to set the attribute path to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#56
+ def path=(_arg0); end
+
+ # Sets the attribute path_orig
+ #
+ # @param value the value to set the attribute path_orig to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#59
+ def path_orig=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#103
+ def path_orig?; end
+
+ # Sets the attribute secure
+ #
+ # @param value the value to set the attribute secure to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#59
+ def secure=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#91
+ def secure?; end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#123
+ def set_flag(flag); end
+
+ # Returns the value of attribute url.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#58
+ def url; end
+
+ # Sets the attribute url
+ #
+ # @param value the value to set the attribute url to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#58
+ def url=(_arg0); end
+
+ # Sets the attribute use
+ #
+ # @param value the value to set the attribute use to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#59
+ def use=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#87
+ def use?; end
+
+ # Returns the value of attribute value.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#55
+ def value; end
+
+ # Sets the attribute value
+ #
+ # @param value the value to set the attribute value to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#55
+ def value=(_arg0); end
+
+ private
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#210
+ def normalize_cookie_value(value); end
+
+ class << self
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#70
+ def parse(str, url); end
+ end
+end
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#65
+WebAgent::Cookie::DISCARD = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#63
+WebAgent::Cookie::DOMAIN = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#68
+WebAgent::Cookie::HTTP_ONLY = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#66
+WebAgent::Cookie::OVERRIDE = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#67
+WebAgent::Cookie::OVERRIDE_OK = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#64
+WebAgent::Cookie::PATH = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#62
+WebAgent::Cookie::SECURE = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#61
+WebAgent::Cookie::USE = T.let(T.unsafe(nil), Integer)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#226
+class WebAgent::CookieManager
+ include ::WebAgent::CookieUtils
+
+ # @return [CookieManager] a new instance of CookieManager
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#238
+ def initialize(file = T.unsafe(nil)); end
+
+ # Returns the value of attribute accept_domains.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#236
+ def accept_domains; end
+
+ # Sets the attribute accept_domains
+ #
+ # @param value the value to set the attribute accept_domains to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#236
+ def accept_domains=(_arg0); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#315
+ def add(given); end
+
+ # Who use it?
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#379
+ def check_cookie_accept_domain(domain); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#283
+ def check_expired_cookies; end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#299
+ def cookie_value(url); end
+
+ # Returns the value of attribute cookies.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#234
+ def cookies; end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#247
+ def cookies=(cookies); end
+
+ # Returns the value of attribute cookies_file.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#235
+ def cookies_file; end
+
+ # Sets the attribute cookies_file
+ #
+ # @param value the value to set the attribute cookies_file to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#235
+ def cookies_file=(_arg0); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#299
+ def find(url); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#353
+ def load_cookies; end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#293
+ def parse(str, url); end
+
+ # Returns the value of attribute reject_domains.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#236
+ def reject_domains; end
+
+ # Sets the attribute reject_domains
+ #
+ # @param value the value to set the attribute reject_domains to.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#236
+ def reject_domains=(_arg0); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#255
+ def save_all_cookies(force = T.unsafe(nil), save_unused = T.unsafe(nil), save_discarded = T.unsafe(nil)); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#279
+ def save_cookies(force = T.unsafe(nil)); end
+
+ private
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#416
+ def check_domain(domain, hostname, override); end
+
+ # not tested well; used only netscape_rule = true.
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#449
+ def cookie_error(err, override); end
+
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#398
+ def make_cookie_str(cookie_list); end
+
+ # for conformance to http://wp.netscape.com/newsref/std/cookie_spec.html
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#413
+ def netscape_rule; end
+
+ # for conformance to http://wp.netscape.com/newsref/std/cookie_spec.html
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#413
+ def netscape_rule=(_arg0); end
+end
+
+# errors
+#
+# source://httpclient//lib/httpclient/webagent-cookie.rb#230
+class WebAgent::CookieManager::Error < ::StandardError; end
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#231
+class WebAgent::CookieManager::ErrorOverrideOK < ::WebAgent::CookieManager::Error; end
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#414
+WebAgent::CookieManager::SPECIAL_DOMAIN = T.let(T.unsafe(nil), Array)
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#232
+class WebAgent::CookieManager::SpecialError < ::WebAgent::CookieManager::Error; end
+
+# source://httpclient//lib/httpclient/webagent-cookie.rb#20
+module WebAgent::CookieUtils
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#34
+ def domain_match(host, domain); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#22
+ def head_match?(str1, str2); end
+
+ # @return [Boolean]
+ #
+ # source://httpclient//lib/httpclient/webagent-cookie.rb#26
+ def tail_match?(str1, str2); end
+end
+
+# An Array class that already includes the MonitorMixin module.
+#
+# source://httpclient//lib/httpclient/webagent-cookie.rb#222
+class WebAgent::SynchronizedArray < ::Array
+ include ::MonitorMixin
+end
diff --git a/sorbet/rbi/gems/i18n@1.14.1.rbi b/sorbet/rbi/gems/i18n@1.14.1.rbi
new file mode 100644
index 00000000..49dd358b
--- /dev/null
+++ b/sorbet/rbi/gems/i18n@1.14.1.rbi
@@ -0,0 +1,8 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `i18n` gem.
+# Please instead update this file by running `bin/tapioca gem i18n`.
+
+# THIS IS AN EMPTY RBI FILE.
+# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
diff --git a/sorbet/rbi/gems/json@2.7.1.rbi b/sorbet/rbi/gems/json@2.7.1.rbi
new file mode 100644
index 00000000..e22ce040
--- /dev/null
+++ b/sorbet/rbi/gems/json@2.7.1.rbi
@@ -0,0 +1,1561 @@
+# typed: false
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `json` gem.
+# Please instead update this file by running `bin/tapioca gem json`.
+
+# Extends any Class to include _json_creatable?_ method.
+#
+# source://json//lib/json/common.rb#689
+class Class < ::Module
+ # Returns true if this class can be used to create an instance
+ # from a serialised JSON string. The class has to implement a class
+ # method _json_create_ that expects a hash as first parameter. The hash
+ # should include the required data.
+ #
+ # @return [Boolean]
+ #
+ # source://json//lib/json/common.rb#694
+ def json_creatable?; end
+end
+
+# = JavaScript \Object Notation (\JSON)
+#
+# \JSON is a lightweight data-interchange format.
+#
+# A \JSON value is one of the following:
+# - Double-quoted text: "foo" .
+# - Number: +1+, +1.0+, +2.0e2+.
+# - Boolean: +true+, +false+.
+# - Null: +null+.
+# - \Array: an ordered list of values, enclosed by square brackets:
+# ["foo", 1, 1.0, 2.0e2, true, false, null]
+#
+# - \Object: a collection of name/value pairs, enclosed by curly braces;
+# each name is double-quoted text;
+# the values may be any \JSON values:
+# {"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}
+#
+# A \JSON array or object may contain nested arrays, objects, and scalars
+# to any depth:
+# {"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}
+# [{"foo": 0, "bar": 1}, ["baz", 2]]
+#
+# == Using \Module \JSON
+#
+# To make module \JSON available in your code, begin with:
+# require 'json'
+#
+# All examples here assume that this has been done.
+#
+# === Parsing \JSON
+#
+# You can parse a \String containing \JSON data using
+# either of two methods:
+# - JSON.parse(source, opts)
+# - JSON.parse!(source, opts)
+#
+# where
+# - +source+ is a Ruby object.
+# - +opts+ is a \Hash object containing options
+# that control both input allowed and output formatting.
+#
+# The difference between the two methods
+# is that JSON.parse! omits some checks
+# and may not be safe for some +source+ data;
+# use it only for data from trusted sources.
+# Use the safer method JSON.parse for less trusted sources.
+#
+# ==== Parsing \JSON Arrays
+#
+# When +source+ is a \JSON array, JSON.parse by default returns a Ruby \Array:
+# json = '["foo", 1, 1.0, 2.0e2, true, false, null]'
+# ruby = JSON.parse(json)
+# ruby # => ["foo", 1, 1.0, 200.0, true, false, nil]
+# ruby.class # => Array
+#
+# The \JSON array may contain nested arrays, objects, and scalars
+# to any depth:
+# json = '[{"foo": 0, "bar": 1}, ["baz", 2]]'
+# JSON.parse(json) # => [{"foo"=>0, "bar"=>1}, ["baz", 2]]
+#
+# ==== Parsing \JSON \Objects
+#
+# When the source is a \JSON object, JSON.parse by default returns a Ruby \Hash:
+# json = '{"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}'
+# ruby = JSON.parse(json)
+# ruby # => {"a"=>"foo", "b"=>1, "c"=>1.0, "d"=>200.0, "e"=>true, "f"=>false, "g"=>nil}
+# ruby.class # => Hash
+#
+# The \JSON object may contain nested arrays, objects, and scalars
+# to any depth:
+# json = '{"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}'
+# JSON.parse(json) # => {"foo"=>{"bar"=>1, "baz"=>2}, "bat"=>[0, 1, 2]}
+#
+# ==== Parsing \JSON Scalars
+#
+# When the source is a \JSON scalar (not an array or object),
+# JSON.parse returns a Ruby scalar.
+#
+# \String:
+# ruby = JSON.parse('"foo"')
+# ruby # => 'foo'
+# ruby.class # => String
+# \Integer:
+# ruby = JSON.parse('1')
+# ruby # => 1
+# ruby.class # => Integer
+# \Float:
+# ruby = JSON.parse('1.0')
+# ruby # => 1.0
+# ruby.class # => Float
+# ruby = JSON.parse('2.0e2')
+# ruby # => 200
+# ruby.class # => Float
+# Boolean:
+# ruby = JSON.parse('true')
+# ruby # => true
+# ruby.class # => TrueClass
+# ruby = JSON.parse('false')
+# ruby # => false
+# ruby.class # => FalseClass
+# Null:
+# ruby = JSON.parse('null')
+# ruby # => nil
+# ruby.class # => NilClass
+#
+# ==== Parsing Options
+#
+# ====== Input Options
+#
+# Option +max_nesting+ (\Integer) specifies the maximum nesting depth allowed;
+# defaults to +100+; specify +false+ to disable depth checking.
+#
+# With the default, +false+:
+# source = '[0, [1, [2, [3]]]]'
+# ruby = JSON.parse(source)
+# ruby # => [0, [1, [2, [3]]]]
+# Too deep:
+# # Raises JSON::NestingError (nesting of 2 is too deep):
+# JSON.parse(source, {max_nesting: 1})
+# Bad value:
+# # Raises TypeError (wrong argument type Symbol (expected Fixnum)):
+# JSON.parse(source, {max_nesting: :foo})
+#
+# ---
+#
+# Option +allow_nan+ (boolean) specifies whether to allow
+# NaN, Infinity, and MinusInfinity in +source+;
+# defaults to +false+.
+#
+# With the default, +false+:
+# # Raises JSON::ParserError (225: unexpected token at '[NaN]'):
+# JSON.parse('[NaN]')
+# # Raises JSON::ParserError (232: unexpected token at '[Infinity]'):
+# JSON.parse('[Infinity]')
+# # Raises JSON::ParserError (248: unexpected token at '[-Infinity]'):
+# JSON.parse('[-Infinity]')
+# Allow:
+# source = '[NaN, Infinity, -Infinity]'
+# ruby = JSON.parse(source, {allow_nan: true})
+# ruby # => [NaN, Infinity, -Infinity]
+#
+# ====== Output Options
+#
+# Option +symbolize_names+ (boolean) specifies whether returned \Hash keys
+# should be Symbols;
+# defaults to +false+ (use Strings).
+#
+# With the default, +false+:
+# source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+# ruby = JSON.parse(source)
+# ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
+# Use Symbols:
+# ruby = JSON.parse(source, {symbolize_names: true})
+# ruby # => {:a=>"foo", :b=>1.0, :c=>true, :d=>false, :e=>nil}
+#
+# ---
+#
+# Option +object_class+ (\Class) specifies the Ruby class to be used
+# for each \JSON object;
+# defaults to \Hash.
+#
+# With the default, \Hash:
+# source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+# ruby = JSON.parse(source)
+# ruby.class # => Hash
+# Use class \OpenStruct:
+# ruby = JSON.parse(source, {object_class: OpenStruct})
+# ruby # => #
+#
+# ---
+#
+# Option +array_class+ (\Class) specifies the Ruby class to be used
+# for each \JSON array;
+# defaults to \Array.
+#
+# With the default, \Array:
+# source = '["foo", 1.0, true, false, null]'
+# ruby = JSON.parse(source)
+# ruby.class # => Array
+# Use class \Set:
+# ruby = JSON.parse(source, {array_class: Set})
+# ruby # => #
+#
+# ---
+#
+# Option +create_additions+ (boolean) specifies whether to use \JSON additions in parsing.
+# See {\JSON Additions}[#module-JSON-label-JSON+Additions].
+#
+# === Generating \JSON
+#
+# To generate a Ruby \String containing \JSON data,
+# use method JSON.generate(source, opts) , where
+# - +source+ is a Ruby object.
+# - +opts+ is a \Hash object containing options
+# that control both input allowed and output formatting.
+#
+# ==== Generating \JSON from Arrays
+#
+# When the source is a Ruby \Array, JSON.generate returns
+# a \String containing a \JSON array:
+# ruby = [0, 's', :foo]
+# json = JSON.generate(ruby)
+# json # => '[0,"s","foo"]'
+#
+# The Ruby \Array array may contain nested arrays, hashes, and scalars
+# to any depth:
+# ruby = [0, [1, 2], {foo: 3, bar: 4}]
+# json = JSON.generate(ruby)
+# json # => '[0,[1,2],{"foo":3,"bar":4}]'
+#
+# ==== Generating \JSON from Hashes
+#
+# When the source is a Ruby \Hash, JSON.generate returns
+# a \String containing a \JSON object:
+# ruby = {foo: 0, bar: 's', baz: :bat}
+# json = JSON.generate(ruby)
+# json # => '{"foo":0,"bar":"s","baz":"bat"}'
+#
+# The Ruby \Hash array may contain nested arrays, hashes, and scalars
+# to any depth:
+# ruby = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
+# json = JSON.generate(ruby)
+# json # => '{"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}'
+#
+# ==== Generating \JSON from Other Objects
+#
+# When the source is neither an \Array nor a \Hash,
+# the generated \JSON data depends on the class of the source.
+#
+# When the source is a Ruby \Integer or \Float, JSON.generate returns
+# a \String containing a \JSON number:
+# JSON.generate(42) # => '42'
+# JSON.generate(0.42) # => '0.42'
+#
+# When the source is a Ruby \String, JSON.generate returns
+# a \String containing a \JSON string (with double-quotes):
+# JSON.generate('A string') # => '"A string"'
+#
+# When the source is +true+, +false+ or +nil+, JSON.generate returns
+# a \String containing the corresponding \JSON token:
+# JSON.generate(true) # => 'true'
+# JSON.generate(false) # => 'false'
+# JSON.generate(nil) # => 'null'
+#
+# When the source is none of the above, JSON.generate returns
+# a \String containing a \JSON string representation of the source:
+# JSON.generate(:foo) # => '"foo"'
+# JSON.generate(Complex(0, 0)) # => '"0+0i"'
+# JSON.generate(Dir.new('.')) # => '"#"'
+#
+# ==== Generating Options
+#
+# ====== Input Options
+#
+# Option +allow_nan+ (boolean) specifies whether
+# +NaN+, +Infinity+, and -Infinity may be generated;
+# defaults to +false+.
+#
+# With the default, +false+:
+# # Raises JSON::GeneratorError (920: NaN not allowed in JSON):
+# JSON.generate(JSON::NaN)
+# # Raises JSON::GeneratorError (917: Infinity not allowed in JSON):
+# JSON.generate(JSON::Infinity)
+# # Raises JSON::GeneratorError (917: -Infinity not allowed in JSON):
+# JSON.generate(JSON::MinusInfinity)
+#
+# Allow:
+# ruby = [Float::NaN, Float::Infinity, Float::MinusInfinity]
+# JSON.generate(ruby, allow_nan: true) # => '[NaN,Infinity,-Infinity]'
+#
+# ---
+#
+# Option +max_nesting+ (\Integer) specifies the maximum nesting depth
+# in +obj+; defaults to +100+.
+#
+# With the default, +100+:
+# obj = [[[[[[0]]]]]]
+# JSON.generate(obj) # => '[[[[[[0]]]]]]'
+#
+# Too deep:
+# # Raises JSON::NestingError (nesting of 2 is too deep):
+# JSON.generate(obj, max_nesting: 2)
+#
+# ====== Escaping Options
+#
+# Options +script_safe+ (boolean) specifies wether '\u2028' , '\u2029'
+# and '/' should be escaped as to make the JSON object safe to interpolate in script
+# tags.
+#
+# Options +ascii_only+ (boolean) specifies wether all characters outside the ASCII range
+# should be escaped.
+#
+# ====== Output Options
+#
+# The default formatting options generate the most compact
+# \JSON data, all on one line and with no whitespace.
+#
+# You can use these formatting options to generate
+# \JSON data in a more open format, using whitespace.
+# See also JSON.pretty_generate.
+#
+# - Option +array_nl+ (\String) specifies a string (usually a newline)
+# to be inserted after each \JSON array; defaults to the empty \String, '' .
+# - Option +object_nl+ (\String) specifies a string (usually a newline)
+# to be inserted after each \JSON object; defaults to the empty \String, '' .
+# - Option +indent+ (\String) specifies the string (usually spaces) to be
+# used for indentation; defaults to the empty \String, '' ;
+# defaults to the empty \String, '' ;
+# has no effect unless options +array_nl+ or +object_nl+ specify newlines.
+# - Option +space+ (\String) specifies a string (usually a space) to be
+# inserted after the colon in each \JSON object's pair;
+# defaults to the empty \String, '' .
+# - Option +space_before+ (\String) specifies a string (usually a space) to be
+# inserted before the colon in each \JSON object's pair;
+# defaults to the empty \String, '' .
+#
+# In this example, +obj+ is used first to generate the shortest
+# \JSON data (no whitespace), then again with all formatting options
+# specified:
+#
+# obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
+# json = JSON.generate(obj)
+# puts 'Compact:', json
+# opts = {
+# array_nl: "\n",
+# object_nl: "\n",
+# indent: ' ',
+# space_before: ' ',
+# space: ' '
+# }
+# puts 'Open:', JSON.generate(obj, opts)
+#
+# Output:
+# Compact:
+# {"foo":["bar","baz"],"bat":{"bam":0,"bad":1}}
+# Open:
+# {
+# "foo" : [
+# "bar",
+# "baz"
+# ],
+# "bat" : {
+# "bam" : 0,
+# "bad" : 1
+# }
+# }
+#
+# == \JSON Additions
+#
+# When you "round trip" a non-\String object from Ruby to \JSON and back,
+# you have a new \String, instead of the object you began with:
+# ruby0 = Range.new(0, 2)
+# json = JSON.generate(ruby0)
+# json # => '0..2"'
+# ruby1 = JSON.parse(json)
+# ruby1 # => '0..2'
+# ruby1.class # => String
+#
+# You can use \JSON _additions_ to preserve the original object.
+# The addition is an extension of a ruby class, so that:
+# - \JSON.generate stores more information in the \JSON string.
+# - \JSON.parse, called with option +create_additions+,
+# uses that information to create a proper Ruby object.
+#
+# This example shows a \Range being generated into \JSON
+# and parsed back into Ruby, both without and with
+# the addition for \Range:
+# ruby = Range.new(0, 2)
+# # This passage does not use the addition for Range.
+# json0 = JSON.generate(ruby)
+# ruby0 = JSON.parse(json0)
+# # This passage uses the addition for Range.
+# require 'json/add/range'
+# json1 = JSON.generate(ruby)
+# ruby1 = JSON.parse(json1, create_additions: true)
+# # Make a nice display.
+# display = <require 'json/add/bigdecimal'
+# - Complex: require 'json/add/complex'
+# - Date: require 'json/add/date'
+# - DateTime: require 'json/add/date_time'
+# - Exception: require 'json/add/exception'
+# - OpenStruct: require 'json/add/ostruct'
+# - Range: require 'json/add/range'
+# - Rational: require 'json/add/rational'
+# - Regexp: require 'json/add/regexp'
+# - Set: require 'json/add/set'
+# - Struct: require 'json/add/struct'
+# - Symbol: require 'json/add/symbol'
+# - Time: require 'json/add/time'
+#
+# To reduce punctuation clutter, the examples below
+# show the generated \JSON via +puts+, rather than the usual +inspect+,
+#
+# \BigDecimal:
+# require 'json/add/bigdecimal'
+# ruby0 = BigDecimal(0) # 0.0
+# json = JSON.generate(ruby0) # {"json_class":"BigDecimal","b":"27:0.0"}
+# ruby1 = JSON.parse(json, create_additions: true) # 0.0
+# ruby1.class # => BigDecimal
+#
+# \Complex:
+# require 'json/add/complex'
+# ruby0 = Complex(1+0i) # 1+0i
+# json = JSON.generate(ruby0) # {"json_class":"Complex","r":1,"i":0}
+# ruby1 = JSON.parse(json, create_additions: true) # 1+0i
+# ruby1.class # Complex
+#
+# \Date:
+# require 'json/add/date'
+# ruby0 = Date.today # 2020-05-02
+# json = JSON.generate(ruby0) # {"json_class":"Date","y":2020,"m":5,"d":2,"sg":2299161.0}
+# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02
+# ruby1.class # Date
+#
+# \DateTime:
+# require 'json/add/date_time'
+# ruby0 = DateTime.now # 2020-05-02T10:38:13-05:00
+# json = JSON.generate(ruby0) # {"json_class":"DateTime","y":2020,"m":5,"d":2,"H":10,"M":38,"S":13,"of":"-5/24","sg":2299161.0}
+# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02T10:38:13-05:00
+# ruby1.class # DateTime
+#
+# \Exception (and its subclasses including \RuntimeError):
+# require 'json/add/exception'
+# ruby0 = Exception.new('A message') # A message
+# json = JSON.generate(ruby0) # {"json_class":"Exception","m":"A message","b":null}
+# ruby1 = JSON.parse(json, create_additions: true) # A message
+# ruby1.class # Exception
+# ruby0 = RuntimeError.new('Another message') # Another message
+# json = JSON.generate(ruby0) # {"json_class":"RuntimeError","m":"Another message","b":null}
+# ruby1 = JSON.parse(json, create_additions: true) # Another message
+# ruby1.class # RuntimeError
+#
+# \OpenStruct:
+# require 'json/add/ostruct'
+# ruby0 = OpenStruct.new(name: 'Matz', language: 'Ruby') # #
+# json = JSON.generate(ruby0) # {"json_class":"OpenStruct","t":{"name":"Matz","language":"Ruby"}}
+# ruby1 = JSON.parse(json, create_additions: true) # #
+# ruby1.class # OpenStruct
+#
+# \Range:
+# require 'json/add/range'
+# ruby0 = Range.new(0, 2) # 0..2
+# json = JSON.generate(ruby0) # {"json_class":"Range","a":[0,2,false]}
+# ruby1 = JSON.parse(json, create_additions: true) # 0..2
+# ruby1.class # Range
+#
+# \Rational:
+# require 'json/add/rational'
+# ruby0 = Rational(1, 3) # 1/3
+# json = JSON.generate(ruby0) # {"json_class":"Rational","n":1,"d":3}
+# ruby1 = JSON.parse(json, create_additions: true) # 1/3
+# ruby1.class # Rational
+#
+# \Regexp:
+# require 'json/add/regexp'
+# ruby0 = Regexp.new('foo') # (?-mix:foo)
+# json = JSON.generate(ruby0) # {"json_class":"Regexp","o":0,"s":"foo"}
+# ruby1 = JSON.parse(json, create_additions: true) # (?-mix:foo)
+# ruby1.class # Regexp
+#
+# \Set:
+# require 'json/add/set'
+# ruby0 = Set.new([0, 1, 2]) # #
+# json = JSON.generate(ruby0) # {"json_class":"Set","a":[0,1,2]}
+# ruby1 = JSON.parse(json, create_additions: true) # #
+# ruby1.class # Set
+#
+# \Struct:
+# require 'json/add/struct'
+# Customer = Struct.new(:name, :address) # Customer
+# ruby0 = Customer.new("Dave", "123 Main") # #
+# json = JSON.generate(ruby0) # {"json_class":"Customer","v":["Dave","123 Main"]}
+# ruby1 = JSON.parse(json, create_additions: true) # #
+# ruby1.class # Customer
+#
+# \Symbol:
+# require 'json/add/symbol'
+# ruby0 = :foo # foo
+# json = JSON.generate(ruby0) # {"json_class":"Symbol","s":"foo"}
+# ruby1 = JSON.parse(json, create_additions: true) # foo
+# ruby1.class # Symbol
+#
+# \Time:
+# require 'json/add/time'
+# ruby0 = Time.now # 2020-05-02 11:28:26 -0500
+# json = JSON.generate(ruby0) # {"json_class":"Time","s":1588436906,"n":840560000}
+# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02 11:28:26 -0500
+# ruby1.class # Time
+#
+#
+# === Custom \JSON Additions
+#
+# In addition to the \JSON additions provided,
+# you can craft \JSON additions of your own,
+# either for Ruby built-in classes or for user-defined classes.
+#
+# Here's a user-defined class +Foo+:
+# class Foo
+# attr_accessor :bar, :baz
+# def initialize(bar, baz)
+# self.bar = bar
+# self.baz = baz
+# end
+# end
+#
+# Here's the \JSON addition for it:
+# # Extend class Foo with JSON addition.
+# class Foo
+# # Serialize Foo object with its class name and arguments
+# def to_json(*args)
+# {
+# JSON.create_id => self.class.name,
+# 'a' => [ bar, baz ]
+# }.to_json(*args)
+# end
+# # Deserialize JSON string by constructing new Foo object with arguments.
+# def self.json_create(object)
+# new(*object['a'])
+# end
+# end
+#
+# Demonstration:
+# require 'json'
+# # This Foo object has no custom addition.
+# foo0 = Foo.new(0, 1)
+# json0 = JSON.generate(foo0)
+# obj0 = JSON.parse(json0)
+# # Lood the custom addition.
+# require_relative 'foo_addition'
+# # This foo has the custom addition.
+# foo1 = Foo.new(0, 1)
+# json1 = JSON.generate(foo1)
+# obj1 = JSON.parse(json1, create_additions: true)
+# # Make a nice display.
+# display = <" (String)
+# With custom addition: {"json_class":"Foo","a":[0,1]} (String)
+# Parsed JSON:
+# Without custom addition: "#" (String)
+# With custom addition: # (Foo)
+#
+# source://json//lib/json/version.rb#2
+module JSON
+ private
+
+ # :call-seq:
+ # JSON.dump(obj, io = nil, limit = nil)
+ #
+ # Dumps +obj+ as a \JSON string, i.e. calls generate on the object and returns the result.
+ #
+ # The default options can be changed via method JSON.dump_default_options.
+ #
+ # - Argument +io+, if given, should respond to method +write+;
+ # the \JSON \String is written to +io+, and +io+ is returned.
+ # If +io+ is not given, the \JSON \String is returned.
+ # - Argument +limit+, if given, is passed to JSON.generate as option +max_nesting+.
+ #
+ # ---
+ #
+ # When argument +io+ is not given, returns the \JSON \String generated from +obj+:
+ # obj = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
+ # json = JSON.dump(obj)
+ # json # => "{\"foo\":[0,1],\"bar\":{\"baz\":2,\"bat\":3},\"bam\":\"bad\"}"
+ #
+ # When argument +io+ is given, writes the \JSON \String to +io+ and returns +io+:
+ # path = 't.json'
+ # File.open(path, 'w') do |file|
+ # JSON.dump(obj, file)
+ # end # => #
+ # puts File.read(path)
+ # Output:
+ # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}
+ #
+ # source://json//lib/json/common.rb#614
+ def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.fast_generate(obj, opts) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # By default, generates \JSON data without checking
+ # for circular references in +obj+ (option +max_nesting+ set to +false+, disabled).
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises SystemStackError (stack level too deep):
+ # JSON.fast_generate(a)
+ #
+ # source://json//lib/json/common.rb#328
+ def fast_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//lib/json/common.rb#328
+ def fast_unparse(obj, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.generate(obj, opts = nil) -> new_string
+ #
+ # Returns a \String containing the generated \JSON data.
+ #
+ # See also JSON.fast_generate, JSON.pretty_generate.
+ #
+ # Argument +obj+ is the Ruby object to be converted to \JSON.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the generation.
+ # See {Generating Options}[#module-JSON-label-Generating+Options].
+ #
+ # ---
+ #
+ # When +obj+ is an \Array, returns a \String containing a \JSON array:
+ # obj = ["foo", 1.0, true, false, nil]
+ # json = JSON.generate(obj)
+ # json # => '["foo",1.0,true,false,null]'
+ #
+ # When +obj+ is a \Hash, returns a \String containing a \JSON object:
+ # obj = {foo: 0, bar: 's', baz: :bat}
+ # json = JSON.generate(obj)
+ # json # => '{"foo":0,"bar":"s","baz":"bat"}'
+ #
+ # For examples of generating from other Ruby objects, see
+ # {Generating \JSON from Other Objects}[#module-JSON-label-Generating+JSON+from+Other+Objects].
+ #
+ # ---
+ #
+ # Raises an exception if any formatting option is not a \String.
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises JSON::NestingError (nesting of 100 is too deep):
+ # JSON.generate(a)
+ #
+ # source://json//lib/json/common.rb#299
+ def generate(obj, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load(source, proc = nil, options = {}) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # - Argument +source+ must be, or be convertible to, a \String:
+ # - If +source+ responds to instance method +to_str+,
+ # source.to_str becomes the source.
+ # - If +source+ responds to instance method +to_io+,
+ # source.to_io.read becomes the source.
+ # - If +source+ responds to instance method +read+,
+ # source.read becomes the source.
+ # - If both of the following are true, source becomes the \String 'null' :
+ # - Option +allow_blank+ specifies a truthy value.
+ # - The source, as defined above, is +nil+ or the empty \String '' .
+ # - Otherwise, +source+ remains the source.
+ # - Argument +proc+, if given, must be a \Proc that accepts one argument.
+ # It will be called recursively with each result (depth-first order).
+ # See details below.
+ # BEWARE: This method is meant to serialise data from trusted user input,
+ # like from your own database server or clients under your control, it could
+ # be dangerous to allow untrusted users to pass JSON sources into it.
+ # - Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ # The default options can be changed via method JSON.load_default_options=.
+ #
+ # ---
+ #
+ # When no +proc+ is given, modifies +source+ as above and returns the result of
+ # parse(source, opts) ; see #parse.
+ #
+ # Source for following examples:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ #
+ # Load a \String:
+ # ruby = JSON.load(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load an \IO object:
+ # require 'stringio'
+ # object = JSON.load(StringIO.new(source))
+ # object # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load a \File object:
+ # path = 't.json'
+ # File.write(path, source)
+ # File.open(path) do |file|
+ # JSON.load(file)
+ # end # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # When +proc+ is given:
+ # - Modifies +source+ as above.
+ # - Gets the +result+ from calling parse(source, opts) .
+ # - Recursively calls proc(result) .
+ # - Returns the final result.
+ #
+ # Example:
+ # require 'json'
+ #
+ # # Some classes for the example.
+ # class Base
+ # def initialize(attributes)
+ # @attributes = attributes
+ # end
+ # end
+ # class User < Base; end
+ # class Account < Base; end
+ # class Admin < Base; end
+ # # The JSON source.
+ # json = <<-EOF
+ # {
+ # "users": [
+ # {"type": "User", "username": "jane", "email": "jane@example.com"},
+ # {"type": "User", "username": "john", "email": "john@example.com"}
+ # ],
+ # "accounts": [
+ # {"account": {"type": "Account", "paid": true, "account_id": "1234"}},
+ # {"account": {"type": "Account", "paid": false, "account_id": "1235"}}
+ # ],
+ # "admins": {"type": "Admin", "password": "0wn3d"}
+ # }
+ # EOF
+ # # Deserializer method.
+ # def deserialize_obj(obj, safe_types = %w(User Account Admin))
+ # type = obj.is_a?(Hash) && obj["type"]
+ # safe_types.include?(type) ? Object.const_get(type).new(obj) : obj
+ # end
+ # # Call to JSON.load
+ # ruby = JSON.load(json, proc {|obj|
+ # case obj
+ # when Hash
+ # obj.each {|k, v| obj[k] = deserialize_obj v }
+ # when Array
+ # obj.map! {|v| deserialize_obj v }
+ # end
+ # })
+ # pp ruby
+ # Output:
+ # {"users"=>
+ # [#"User", "username"=>"jane", "email"=>"jane@example.com"}>,
+ # #"User", "username"=>"john", "email"=>"john@example.com"}>],
+ # "accounts"=>
+ # [{"account"=>
+ # #"Account", "paid"=>true, "account_id"=>"1234"}>},
+ # {"account"=>
+ # #"Account", "paid"=>false, "account_id"=>"1235"}>}],
+ # "admins"=>
+ # #"Admin", "password"=>"0wn3d"}>}
+ #
+ # source://json//lib/json/common.rb#540
+ def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load_file(path, opts={}) -> object
+ #
+ # Calls:
+ # parse(File.read(path), opts)
+ #
+ # See method #parse.
+ #
+ # source://json//lib/json/common.rb#248
+ def load_file(filespec, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load_file!(path, opts = {})
+ #
+ # Calls:
+ # JSON.parse!(File.read(path, opts))
+ #
+ # See method #parse!
+ #
+ # source://json//lib/json/common.rb#259
+ def load_file!(filespec, opts = T.unsafe(nil)); end
+
+ # source://json//lib/json/common.rb#642
+ def merge_dump_options(opts, strict: T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse(source, opts) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # Argument +source+ contains the \String to be parsed.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ #
+ # ---
+ #
+ # When +source+ is a \JSON array, returns a Ruby \Array:
+ # source = '["foo", 1.0, true, false, null]'
+ # ruby = JSON.parse(source)
+ # ruby # => ["foo", 1.0, true, false, nil]
+ # ruby.class # => Array
+ #
+ # When +source+ is a \JSON object, returns a Ruby \Hash:
+ # source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+ # ruby = JSON.parse(source)
+ # ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
+ # ruby.class # => Hash
+ #
+ # For examples of parsing for all \JSON data types, see
+ # {Parsing \JSON}[#module-JSON-label-Parsing+JSON].
+ #
+ # Parses nested JSON objects:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ # ruby = JSON.parse(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # Raises an exception if +source+ is not valid JSON:
+ # # Raises JSON::ParserError (783: unexpected token at ''):
+ # JSON.parse('')
+ #
+ # source://json//lib/json/common.rb#218
+ def parse(source, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse!(source, opts) -> object
+ #
+ # Calls
+ # parse(source, opts)
+ # with +source+ and possibly modified +opts+.
+ #
+ # Differences from JSON.parse:
+ # - Option +max_nesting+, if not provided, defaults to +false+,
+ # which disables checking for nesting depth.
+ # - Option +allow_nan+, if not provided, defaults to +true+.
+ #
+ # source://json//lib/json/common.rb#233
+ def parse!(source, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.pretty_generate(obj, opts = nil) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # Default options are:
+ # {
+ # indent: ' ', # Two spaces
+ # space: ' ', # One space
+ # array_nl: "\n", # Newline
+ # object_nl: "\n" # Newline
+ # }
+ #
+ # Example:
+ # obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
+ # json = JSON.pretty_generate(obj)
+ # puts json
+ # Output:
+ # {
+ # "foo": [
+ # "bar",
+ # "baz"
+ # ],
+ # "bat": {
+ # "bam": 0,
+ # "bad": 1
+ # }
+ # }
+ #
+ # source://json//lib/json/common.rb#373
+ def pretty_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//lib/json/common.rb#373
+ def pretty_unparse(obj, opts = T.unsafe(nil)); end
+
+ # Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_
+ #
+ # source://json//lib/json/common.rb#558
+ def recurse_proc(result, &proc); end
+
+ # source://json//lib/json/common.rb#540
+ def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and
+ # later delete them.
+ #
+ # source://json//lib/json/common.rb#299
+ def unparse(obj, opts = T.unsafe(nil)); end
+
+ class << self
+ # :call-seq:
+ # JSON[object] -> new_array or new_string
+ #
+ # If +object+ is a \String,
+ # calls JSON.parse with +object+ and +opts+ (see method #parse):
+ # json = '[0, 1, null]'
+ # JSON[json]# => [0, 1, nil]
+ #
+ # Otherwise, calls JSON.generate with +object+ and +opts+ (see method #generate):
+ # ruby = [0, 1, nil]
+ # JSON[ruby] # => '[0,1,null]'
+ #
+ # source://json//lib/json/common.rb#21
+ def [](object, opts = T.unsafe(nil)); end
+
+ # source://json//lib/json/common.rb#84
+ def create_fast_state; end
+
+ # Returns the current create identifier.
+ # See also JSON.create_id=.
+ #
+ # source://json//lib/json/common.rb#129
+ def create_id; end
+
+ # Sets create identifier, which is used to decide if the _json_create_
+ # hook of a class should be called; initial value is +json_class+:
+ # JSON.create_id # => 'json_class'
+ #
+ # source://json//lib/json/common.rb#123
+ def create_id=(new_value); end
+
+ # source://json//lib/json/common.rb#94
+ def create_pretty_state; end
+
+ # Return the constant located at _path_. The format of _path_ has to be
+ # either ::A::B::C or A::B::C. In any case, A has to be located at the top
+ # level (absolute namespace path?). If there doesn't exist a constant at
+ # the given path, an ArgumentError is raised.
+ #
+ # source://json//lib/json/common.rb#45
+ def deep_const_get(path); end
+
+ # :call-seq:
+ # JSON.dump(obj, io = nil, limit = nil)
+ #
+ # Dumps +obj+ as a \JSON string, i.e. calls generate on the object and returns the result.
+ #
+ # The default options can be changed via method JSON.dump_default_options.
+ #
+ # - Argument +io+, if given, should respond to method +write+;
+ # the \JSON \String is written to +io+, and +io+ is returned.
+ # If +io+ is not given, the \JSON \String is returned.
+ # - Argument +limit+, if given, is passed to JSON.generate as option +max_nesting+.
+ #
+ # ---
+ #
+ # When argument +io+ is not given, returns the \JSON \String generated from +obj+:
+ # obj = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
+ # json = JSON.dump(obj)
+ # json # => "{\"foo\":[0,1],\"bar\":{\"baz\":2,\"bat\":3},\"bam\":\"bad\"}"
+ #
+ # When argument +io+ is given, writes the \JSON \String to +io+ and returns +io+:
+ # path = 't.json'
+ # File.open(path, 'w') do |file|
+ # JSON.dump(obj, file)
+ # end # => #
+ # puts File.read(path)
+ # Output:
+ # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}
+ #
+ # source://json//lib/json/common.rb#614
+ def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end
+
+ # Sets or returns the default options for the JSON.dump method.
+ # Initially:
+ # opts = JSON.dump_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :script_safe=>false}
+ #
+ # source://json//lib/json/common.rb#579
+ def dump_default_options; end
+
+ # Sets or returns the default options for the JSON.dump method.
+ # Initially:
+ # opts = JSON.dump_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :script_safe=>false}
+ #
+ # source://json//lib/json/common.rb#579
+ def dump_default_options=(_arg0); end
+
+ # :call-seq:
+ # JSON.fast_generate(obj, opts) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # By default, generates \JSON data without checking
+ # for circular references in +obj+ (option +max_nesting+ set to +false+, disabled).
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises SystemStackError (stack level too deep):
+ # JSON.fast_generate(a)
+ #
+ # source://json//lib/json/common.rb#328
+ def fast_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//lib/json/common.rb#328
+ def fast_unparse(obj, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.generate(obj, opts = nil) -> new_string
+ #
+ # Returns a \String containing the generated \JSON data.
+ #
+ # See also JSON.fast_generate, JSON.pretty_generate.
+ #
+ # Argument +obj+ is the Ruby object to be converted to \JSON.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the generation.
+ # See {Generating Options}[#module-JSON-label-Generating+Options].
+ #
+ # ---
+ #
+ # When +obj+ is an \Array, returns a \String containing a \JSON array:
+ # obj = ["foo", 1.0, true, false, nil]
+ # json = JSON.generate(obj)
+ # json # => '["foo",1.0,true,false,null]'
+ #
+ # When +obj+ is a \Hash, returns a \String containing a \JSON object:
+ # obj = {foo: 0, bar: 's', baz: :bat}
+ # json = JSON.generate(obj)
+ # json # => '{"foo":0,"bar":"s","baz":"bat"}'
+ #
+ # For examples of generating from other Ruby objects, see
+ # {Generating \JSON from Other Objects}[#module-JSON-label-Generating+JSON+from+Other+Objects].
+ #
+ # ---
+ #
+ # Raises an exception if any formatting option is not a \String.
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises JSON::NestingError (nesting of 100 is too deep):
+ # JSON.generate(a)
+ #
+ # source://json//lib/json/common.rb#299
+ def generate(obj, opts = T.unsafe(nil)); end
+
+ # Returns the JSON generator module that is used by JSON. This is
+ # either JSON::Ext::Generator or JSON::Pure::Generator:
+ # JSON.generator # => JSON::Ext::Generator
+ #
+ # source://json//lib/json/common.rb#106
+ def generator; end
+
+ # Set the module _generator_ to be used by JSON.
+ #
+ # source://json//lib/json/common.rb#61
+ def generator=(generator); end
+
+ # Encodes string using String.encode.
+ #
+ # source://json//lib/json/common.rb#638
+ def iconv(to, from, string); end
+
+ # :call-seq:
+ # JSON.load(source, proc = nil, options = {}) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # - Argument +source+ must be, or be convertible to, a \String:
+ # - If +source+ responds to instance method +to_str+,
+ # source.to_str becomes the source.
+ # - If +source+ responds to instance method +to_io+,
+ # source.to_io.read becomes the source.
+ # - If +source+ responds to instance method +read+,
+ # source.read becomes the source.
+ # - If both of the following are true, source becomes the \String 'null' :
+ # - Option +allow_blank+ specifies a truthy value.
+ # - The source, as defined above, is +nil+ or the empty \String '' .
+ # - Otherwise, +source+ remains the source.
+ # - Argument +proc+, if given, must be a \Proc that accepts one argument.
+ # It will be called recursively with each result (depth-first order).
+ # See details below.
+ # BEWARE: This method is meant to serialise data from trusted user input,
+ # like from your own database server or clients under your control, it could
+ # be dangerous to allow untrusted users to pass JSON sources into it.
+ # - Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ # The default options can be changed via method JSON.load_default_options=.
+ #
+ # ---
+ #
+ # When no +proc+ is given, modifies +source+ as above and returns the result of
+ # parse(source, opts) ; see #parse.
+ #
+ # Source for following examples:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ #
+ # Load a \String:
+ # ruby = JSON.load(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load an \IO object:
+ # require 'stringio'
+ # object = JSON.load(StringIO.new(source))
+ # object # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load a \File object:
+ # path = 't.json'
+ # File.write(path, source)
+ # File.open(path) do |file|
+ # JSON.load(file)
+ # end # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # When +proc+ is given:
+ # - Modifies +source+ as above.
+ # - Gets the +result+ from calling parse(source, opts) .
+ # - Recursively calls proc(result) .
+ # - Returns the final result.
+ #
+ # Example:
+ # require 'json'
+ #
+ # # Some classes for the example.
+ # class Base
+ # def initialize(attributes)
+ # @attributes = attributes
+ # end
+ # end
+ # class User < Base; end
+ # class Account < Base; end
+ # class Admin < Base; end
+ # # The JSON source.
+ # json = <<-EOF
+ # {
+ # "users": [
+ # {"type": "User", "username": "jane", "email": "jane@example.com"},
+ # {"type": "User", "username": "john", "email": "john@example.com"}
+ # ],
+ # "accounts": [
+ # {"account": {"type": "Account", "paid": true, "account_id": "1234"}},
+ # {"account": {"type": "Account", "paid": false, "account_id": "1235"}}
+ # ],
+ # "admins": {"type": "Admin", "password": "0wn3d"}
+ # }
+ # EOF
+ # # Deserializer method.
+ # def deserialize_obj(obj, safe_types = %w(User Account Admin))
+ # type = obj.is_a?(Hash) && obj["type"]
+ # safe_types.include?(type) ? Object.const_get(type).new(obj) : obj
+ # end
+ # # Call to JSON.load
+ # ruby = JSON.load(json, proc {|obj|
+ # case obj
+ # when Hash
+ # obj.each {|k, v| obj[k] = deserialize_obj v }
+ # when Array
+ # obj.map! {|v| deserialize_obj v }
+ # end
+ # })
+ # pp ruby
+ # Output:
+ # {"users"=>
+ # [#"User", "username"=>"jane", "email"=>"jane@example.com"}>,
+ # #"User", "username"=>"john", "email"=>"john@example.com"}>],
+ # "accounts"=>
+ # [{"account"=>
+ # #"Account", "paid"=>true, "account_id"=>"1234"}>},
+ # {"account"=>
+ # #"Account", "paid"=>false, "account_id"=>"1235"}>}],
+ # "admins"=>
+ # #"Admin", "password"=>"0wn3d"}>}
+ #
+ # source://json//lib/json/common.rb#540
+ def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Sets or returns default options for the JSON.load method.
+ # Initially:
+ # opts = JSON.load_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
+ #
+ # source://json//lib/json/common.rb#403
+ def load_default_options; end
+
+ # Sets or returns default options for the JSON.load method.
+ # Initially:
+ # opts = JSON.load_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
+ #
+ # source://json//lib/json/common.rb#403
+ def load_default_options=(_arg0); end
+
+ # :call-seq:
+ # JSON.load_file(path, opts={}) -> object
+ #
+ # Calls:
+ # parse(File.read(path), opts)
+ #
+ # See method #parse.
+ #
+ # source://json//lib/json/common.rb#248
+ def load_file(filespec, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load_file!(path, opts = {})
+ #
+ # Calls:
+ # JSON.parse!(File.read(path, opts))
+ #
+ # See method #parse!
+ #
+ # source://json//lib/json/common.rb#259
+ def load_file!(filespec, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse(source, opts) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # Argument +source+ contains the \String to be parsed.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ #
+ # ---
+ #
+ # When +source+ is a \JSON array, returns a Ruby \Array:
+ # source = '["foo", 1.0, true, false, null]'
+ # ruby = JSON.parse(source)
+ # ruby # => ["foo", 1.0, true, false, nil]
+ # ruby.class # => Array
+ #
+ # When +source+ is a \JSON object, returns a Ruby \Hash:
+ # source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+ # ruby = JSON.parse(source)
+ # ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
+ # ruby.class # => Hash
+ #
+ # For examples of parsing for all \JSON data types, see
+ # {Parsing \JSON}[#module-JSON-label-Parsing+JSON].
+ #
+ # Parses nested JSON objects:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ # ruby = JSON.parse(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # Raises an exception if +source+ is not valid JSON:
+ # # Raises JSON::ParserError (783: unexpected token at ''):
+ # JSON.parse('')
+ #
+ # source://json//lib/json/common.rb#218
+ def parse(source, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse!(source, opts) -> object
+ #
+ # Calls
+ # parse(source, opts)
+ # with +source+ and possibly modified +opts+.
+ #
+ # Differences from JSON.parse:
+ # - Option +max_nesting+, if not provided, defaults to +false+,
+ # which disables checking for nesting depth.
+ # - Option +allow_nan+, if not provided, defaults to +true+.
+ #
+ # source://json//lib/json/common.rb#233
+ def parse!(source, opts = T.unsafe(nil)); end
+
+ # Returns the JSON parser class that is used by JSON. This is either
+ # JSON::Ext::Parser or JSON::Pure::Parser:
+ # JSON.parser # => JSON::Ext::Parser
+ #
+ # source://json//lib/json/common.rb#32
+ def parser; end
+
+ # Set the JSON parser class _parser_ to be used by JSON.
+ #
+ # source://json//lib/json/common.rb#35
+ def parser=(parser); end
+
+ # :call-seq:
+ # JSON.pretty_generate(obj, opts = nil) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # Default options are:
+ # {
+ # indent: ' ', # Two spaces
+ # space: ' ', # One space
+ # array_nl: "\n", # Newline
+ # object_nl: "\n" # Newline
+ # }
+ #
+ # Example:
+ # obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
+ # json = JSON.pretty_generate(obj)
+ # puts json
+ # Output:
+ # {
+ # "foo": [
+ # "bar",
+ # "baz"
+ # ],
+ # "bat": {
+ # "bam": 0,
+ # "bad": 1
+ # }
+ # }
+ #
+ # source://json//lib/json/common.rb#373
+ def pretty_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//lib/json/common.rb#373
+ def pretty_unparse(obj, opts = T.unsafe(nil)); end
+
+ # Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_
+ #
+ # source://json//lib/json/common.rb#558
+ def recurse_proc(result, &proc); end
+
+ # source://json//lib/json/common.rb#540
+ def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Sets or Returns the JSON generator state class that is used by JSON. This is
+ # either JSON::Ext::Generator::State or JSON::Pure::Generator::State:
+ # JSON.state # => JSON::Ext::Generator::State
+ #
+ # source://json//lib/json/common.rb#111
+ def state; end
+
+ # Sets or Returns the JSON generator state class that is used by JSON. This is
+ # either JSON::Ext::Generator::State or JSON::Pure::Generator::State:
+ # JSON.state # => JSON::Ext::Generator::State
+ #
+ # source://json//lib/json/common.rb#111
+ def state=(_arg0); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and
+ # later delete them.
+ #
+ # source://json//lib/json/common.rb#299
+ def unparse(obj, opts = T.unsafe(nil)); end
+
+ private
+
+ # source://json//lib/json/common.rb#642
+ def merge_dump_options(opts, strict: T.unsafe(nil)); end
+ end
+end
+
+# source://json//lib/json/common.rb#117
+JSON::CREATE_ID_TLS_KEY = T.let(T.unsafe(nil), String)
+
+# source://json//lib/json/common.rb#114
+JSON::DEFAULT_CREATE_ID = T.let(T.unsafe(nil), String)
+
+# source://json//lib/json/generic_object.rb#5
+class JSON::GenericObject < ::OpenStruct
+ # source://json//lib/json/generic_object.rb#63
+ def as_json(*_arg0); end
+
+ # source://json//lib/json/generic_object.rb#47
+ def to_hash; end
+
+ # source://json//lib/json/generic_object.rb#67
+ def to_json(*a); end
+
+ # source://json//lib/json/generic_object.rb#59
+ def |(other); end
+
+ class << self
+ # source://json//lib/json/generic_object.rb#41
+ def dump(obj, *args); end
+
+ # source://json//lib/json/generic_object.rb#21
+ def from_hash(object); end
+
+ # Sets the attribute json_creatable
+ #
+ # @param value the value to set the attribute json_creatable to.
+ #
+ # source://json//lib/json/generic_object.rb#13
+ def json_creatable=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://json//lib/json/generic_object.rb#9
+ def json_creatable?; end
+
+ # source://json//lib/json/generic_object.rb#15
+ def json_create(data); end
+
+ # source://json//lib/json/generic_object.rb#36
+ def load(source, proc = T.unsafe(nil), opts = T.unsafe(nil)); end
+ end
+end
+
+# The base exception for JSON errors.
+#
+# source://json//lib/json/common.rb#140
+class JSON::JSONError < ::StandardError
+ class << self
+ # source://json//lib/json/common.rb#141
+ def wrap(exception); end
+ end
+end
+
+# source://json//lib/json/common.rb#6
+JSON::NOT_SET = T.let(T.unsafe(nil), Object)
+
+# source://json//lib/json/common.rb#38
+JSON::Parser = JSON::Ext::Parser
+
+# source://json//lib/json/common.rb#76
+JSON::State = JSON::Ext::Generator::State
+
+# For backwards compatibility
+#
+# source://json//lib/json/common.rb#162
+JSON::UnparserError = JSON::GeneratorError
+
+# source://json//lib/json/common.rb#652
+module Kernel
+ private
+
+ # If _object_ is string-like, parse the string and return the parsed result as
+ # a Ruby data structure. Otherwise, generate a JSON text from the Ruby data
+ # structure object and return it.
+ #
+ # The _opts_ argument is passed through to generate/parse respectively. See
+ # generate and parse for their documentation.
+ #
+ # source://json//lib/json/common.rb#679
+ def JSON(object, *args); end
+
+ # Outputs _objs_ to STDOUT as JSON strings in the shortest form, that is in
+ # one line.
+ #
+ # source://json//lib/json/common.rb#657
+ def j(*objs); end
+
+ # Outputs _objs_ to STDOUT as JSON strings in a pretty format, with
+ # indentation and over many lines.
+ #
+ # source://json//lib/json/common.rb#666
+ def jj(*objs); end
+end
diff --git a/sorbet/rbi/gems/jtd@0.1.6.rbi b/sorbet/rbi/gems/jtd@0.1.6.rbi
new file mode 100644
index 00000000..f18206a6
--- /dev/null
+++ b/sorbet/rbi/gems/jtd@0.1.6.rbi
@@ -0,0 +1,393 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `jtd` gem.
+# Please instead update this file by running `bin/tapioca gem jtd`.
+
+# JTD is an implementation of JSON Type Definition validation for Ruby.
+#
+# source://jtd//lib/jtd/schema.rb#1
+module JTD
+ class << self
+ # Validates +instance+ against +schema+ according to the JSON Type Definition
+ # specification.
+ #
+ # Returns a list of ValidationError. If there are no validation errors, then
+ # the returned list will be empty.
+ #
+ # By default, all errors are returned, and an unlimited number of references
+ # will be followed. If you are running #validate against schemas that may
+ # return a lot of errors, or which may contain circular references, then this
+ # can cause performance issues or stack overflows.
+ #
+ # To mitigate this risk, consider using +options+, which must be an instance
+ # of ValidationOptions, to limit the number of errors returned or references
+ # followed.
+ #
+ # If ValidationOptions#max_depth is reached, then #validate will raise a
+ # MaxDepthExceededError.
+ #
+ # The return value of #validate is not well-defined if the schema is not
+ # valid, i.e. Schema#verify raises an error.
+ #
+ # source://jtd//lib/jtd/validate.rb#24
+ def validate(schema, instance, options = T.unsafe(nil)); end
+
+ # source://jtd//lib/jtd/validate.rb#354
+ def validate_int(state, instance, min, max); end
+
+ # source://jtd//lib/jtd/validate.rb#152
+ def validate_with_state(state, schema, instance, parent_tag = T.unsafe(nil)); end
+ end
+end
+
+# Error raised from JTD::validate if the number of references followed exceeds
+# ValidationOptions#max_depth.
+#
+# source://jtd//lib/jtd/validate.rb#110
+class JTD::MaxDepthExceededError < ::StandardError
+ # Constructs a new MaxDepthExceededError.
+ #
+ # @return [MaxDepthExceededError] a new instance of MaxDepthExceededError
+ #
+ # source://jtd//lib/jtd/validate.rb#112
+ def initialize(msg = T.unsafe(nil)); end
+end
+
+# source://jtd//lib/jtd/validate.rb#147
+class JTD::MaxErrorsReachedError < ::StandardError; end
+
+# Represents a JSON Type Definition schema.
+#
+# source://jtd//lib/jtd/schema.rb#3
+class JTD::Schema
+ # source://jtd//lib/jtd/schema.rb#4
+ def additional_properties; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def additional_properties=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def definitions; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def definitions=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def discriminator; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def discriminator=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def elements; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def elements=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def enum; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def enum=(_arg0); end
+
+ # Returns the form that the schema takes on.
+ #
+ # The return value will be one of :empty, :ref:, :type, :enum, :elements,
+ # :properties, :values, or :discriminator.
+ #
+ # If the schema is not well-formed, i.e. calling #verify on it raises an
+ # error, then the return value of #form is not well-defined.
+ #
+ # source://jtd//lib/jtd/schema.rb#209
+ def form; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def mapping; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def mapping=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def metadata; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def metadata=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def nullable; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def nullable=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def optional_properties; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def optional_properties=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def properties; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def properties=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def ref; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def ref=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def type; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def type=(_arg0); end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def values; end
+
+ # source://jtd//lib/jtd/schema.rb#4
+ def values=(_arg0); end
+
+ # Raises a TypeError or ArgumentError if the Schema is not correct according
+ # to the JSON Type Definition specification.
+ #
+ # See the JSON Type Definition specification for more details, but a high
+ # level #verify checks such things as:
+ #
+ # 1. Making sure each of the attributes of the Schema are of the right type,
+ # 2. The Schema uses a valid combination of JSON Type Definition keywords,
+ # 3. The Schema isn't ambiguous or unsatisfiable.
+ # 4. The Schema doesn't make references to nonexistent definitions.
+ #
+ # If root is specified, then that root is assumed to contain the schema
+ # being verified. By default, the Schema is considered its own root, which
+ # is usually the desired behavior.
+ #
+ # source://jtd//lib/jtd/schema.rb#103
+ def verify(root = T.unsafe(nil)); end
+
+ private
+
+ # source://jtd//lib/jtd/schema.rb#284
+ def check_type(key, classes); end
+
+ class << self
+ # Constructs a Schema from a Hash like the kind produced by JSON#parse.
+ #
+ # In other words, #from_hash is meant to be used to convert some parsed JSON
+ # into a Schema.
+ #
+ # If hash isn't a Hash or contains keys that are illegal for JSON Type
+ # Definition, then #from_hash will raise a TypeError.
+ #
+ # If the properties of hash are not of the correct type for a JSON Type
+ # Definition schema (for example, if the "elements" property of hash is
+ # non-nil, but not a hash), then #from_hash may raise a NoMethodError.
+ #
+ # @raise [TypeError]
+ #
+ # source://jtd//lib/jtd/schema.rb#31
+ def from_hash(hash); end
+ end
+end
+
+# source://jtd//lib/jtd/schema.rb#223
+JTD::Schema::KEYWORDS = T.let(T.unsafe(nil), Array)
+
+# source://jtd//lib/jtd/schema.rb#241
+JTD::Schema::TYPES = T.let(T.unsafe(nil), Array)
+
+# source://jtd//lib/jtd/schema.rb#257
+JTD::Schema::VALID_FORMS = T.let(T.unsafe(nil), Array)
+
+# The version of the +jtd+ gem you are using.
+#
+# source://jtd//lib/jtd/version.rb#3
+JTD::VERSION = T.let(T.unsafe(nil), String)
+
+# Represents a single JSON Type Definition validation error.
+#
+# ValidationError does not extend StandardError; it is not a Ruby exception.
+# It is a plain old Ruby object.
+#
+# Every ValidationError has two attributes:
+#
+# * +instance_path+ is an array of strings. It represents the path to the part
+# of the +instance+ passed to JTD::validate that was rejected.
+#
+# * +schema_path+ is an array of strings. It represents the path to the part
+# of the +schema+ passed to JTD::validate that rejected the instance at
+# +instance_path+.
+#
+# source://jtd//lib/jtd/validate.rb#96
+class JTD::ValidationError < ::Struct
+ class << self
+ # Constructs a new ValidationError from the standard JSON representation of
+ # a validation error in JSON Type Definition.
+ #
+ # source://jtd//lib/jtd/validate.rb#100
+ def from_hash(hash); end
+ end
+end
+
+# Options you can pass to JTD::validate.
+#
+# source://jtd//lib/jtd/validate.rb#43
+class JTD::ValidationOptions
+ # Construct a new set of ValidationOptions with the given +max_depth+ and
+ # +max_errors+.
+ #
+ # See the documentation for +max_depth+ and +max_errors+ for what their
+ # default values of 0 mean.
+ #
+ # @return [ValidationOptions] a new instance of ValidationOptions
+ #
+ # source://jtd//lib/jtd/validate.rb#77
+ def initialize(max_depth: T.unsafe(nil), max_errors: T.unsafe(nil)); end
+
+ # The maximum number of references to follow before aborting validation. You
+ # can use this to prevent a stack overflow when validating schemas that
+ # potentially have infinite loops, such as this one:
+ #
+ # {
+ # "definitions": {
+ # "loop": { "ref": "loop" }
+ # },
+ # "ref": "loop"
+ # }
+ #
+ # The default value for +max_depth+ is 0, which indicates that no max depth
+ # should be imposed at all.
+ #
+ # source://jtd//lib/jtd/validate.rb#57
+ def max_depth; end
+
+ # The maximum number of references to follow before aborting validation. You
+ # can use this to prevent a stack overflow when validating schemas that
+ # potentially have infinite loops, such as this one:
+ #
+ # {
+ # "definitions": {
+ # "loop": { "ref": "loop" }
+ # },
+ # "ref": "loop"
+ # }
+ #
+ # The default value for +max_depth+ is 0, which indicates that no max depth
+ # should be imposed at all.
+ #
+ # source://jtd//lib/jtd/validate.rb#57
+ def max_depth=(_arg0); end
+
+ # The maximum number of errors to return. You can use this to have
+ # JTD::validate have better performance if you don't have any use for errors
+ # beyond a certain count.
+ #
+ # For instance, if all you care about is whether or not there are any
+ # validation errors at all, you can set +max_errors+ to 1. If you're
+ # presenting validation errors in an interface that can't show more than 5
+ # errors, set +max_errors+ to 5.
+ #
+ # The default value for +max_errors+ is 0, which indicates that all errors
+ # will be returned.
+ #
+ # source://jtd//lib/jtd/validate.rb#70
+ def max_errors; end
+
+ # The maximum number of errors to return. You can use this to have
+ # JTD::validate have better performance if you don't have any use for errors
+ # beyond a certain count.
+ #
+ # For instance, if all you care about is whether or not there are any
+ # validation errors at all, you can set +max_errors+ to 1. If you're
+ # presenting validation errors in an interface that can't show more than 5
+ # errors, set +max_errors+ to 5.
+ #
+ # The default value for +max_errors+ is 0, which indicates that all errors
+ # will be returned.
+ #
+ # source://jtd//lib/jtd/validate.rb#70
+ def max_errors=(_arg0); end
+end
+
+# source://jtd//lib/jtd/validate.rb#119
+class JTD::ValidationState
+ # Returns the value of attribute errors.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def errors; end
+
+ # Sets the attribute errors
+ #
+ # @param value the value to set the attribute errors to.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def errors=(_arg0); end
+
+ # Returns the value of attribute instance_tokens.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def instance_tokens; end
+
+ # Sets the attribute instance_tokens
+ #
+ # @param value the value to set the attribute instance_tokens to.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def instance_tokens=(_arg0); end
+
+ # Returns the value of attribute options.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def options; end
+
+ # Sets the attribute options
+ #
+ # @param value the value to set the attribute options to.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def options=(_arg0); end
+
+ # source://jtd//lib/jtd/validate.rb#126
+ def pop_instance_token; end
+
+ # source://jtd//lib/jtd/validate.rb#134
+ def pop_schema_token; end
+
+ # @raise [MaxErrorsReachedError]
+ #
+ # source://jtd//lib/jtd/validate.rb#138
+ def push_error; end
+
+ # source://jtd//lib/jtd/validate.rb#122
+ def push_instance_token(token); end
+
+ # source://jtd//lib/jtd/validate.rb#130
+ def push_schema_token(token); end
+
+ # Returns the value of attribute root_schema.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def root_schema; end
+
+ # Sets the attribute root_schema
+ #
+ # @param value the value to set the attribute root_schema to.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def root_schema=(_arg0); end
+
+ # Returns the value of attribute schema_tokens.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def schema_tokens; end
+
+ # Sets the attribute schema_tokens
+ #
+ # @param value the value to set the attribute schema_tokens to.
+ #
+ # source://jtd//lib/jtd/validate.rb#120
+ def schema_tokens=(_arg0); end
+end
diff --git a/sorbet/rbi/gems/jwt@2.2.3.rbi b/sorbet/rbi/gems/jwt@2.2.3.rbi
new file mode 100644
index 00000000..31956aa3
--- /dev/null
+++ b/sorbet/rbi/gems/jwt@2.2.3.rbi
@@ -0,0 +1,937 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `jwt` gem.
+# Please instead update this file by running `bin/tapioca gem jwt`.
+
+# JSON Web Token implementation
+#
+# Should be up to date with the latest spec:
+# https://tools.ietf.org/html/rfc7519
+#
+# source://jwt//lib/jwt/base64.rb#5
+module JWT
+ include ::JWT::DefaultOptions
+
+ private
+
+ # source://jwt//lib/jwt.rb#27
+ def decode(jwt, key = T.unsafe(nil), verify = T.unsafe(nil), options = T.unsafe(nil), &keyfinder); end
+
+ # source://jwt//lib/jwt.rb#20
+ def encode(payload, key, algorithm = T.unsafe(nil), header_fields = T.unsafe(nil)); end
+
+ class << self
+ # source://jwt//lib/jwt.rb#27
+ def decode(jwt, key = T.unsafe(nil), verify = T.unsafe(nil), options = T.unsafe(nil), &keyfinder); end
+
+ # source://jwt//lib/jwt.rb#20
+ def encode(payload, key, algorithm = T.unsafe(nil), header_fields = T.unsafe(nil)); end
+ end
+end
+
+# Signature logic for JWT
+#
+# source://jwt//lib/jwt/algos/hmac.rb#2
+module JWT::Algos
+ extend ::JWT::Algos
+
+ # source://jwt//lib/jwt/algos.rb#27
+ def find(algorithm); end
+
+ private
+
+ # source://jwt//lib/jwt/algos.rb#33
+ def indexed; end
+end
+
+# source://jwt//lib/jwt/algos.rb#17
+JWT::Algos::ALGOS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/algos/ecdsa.rb#3
+module JWT::Algos::Ecdsa
+ private
+
+ # source://jwt//lib/jwt/algos/ecdsa.rb#13
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/ecdsa.rb#24
+ def verify(to_verify); end
+
+ class << self
+ # source://jwt//lib/jwt/algos/ecdsa.rb#13
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/ecdsa.rb#24
+ def verify(to_verify); end
+ end
+end
+
+# source://jwt//lib/jwt/algos/ecdsa.rb#7
+JWT::Algos::Ecdsa::NAMED_CURVES = T.let(T.unsafe(nil), Hash)
+
+# source://jwt//lib/jwt/algos/ecdsa.rb#6
+JWT::Algos::Ecdsa::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/algos/eddsa.rb#3
+module JWT::Algos::Eddsa
+ private
+
+ # source://jwt//lib/jwt/algos/eddsa.rb#8
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/eddsa.rb#15
+ def verify(to_verify); end
+
+ class << self
+ # @raise [EncodeError]
+ #
+ # source://jwt//lib/jwt/algos/eddsa.rb#8
+ def sign(to_sign); end
+
+ # @raise [IncorrectAlgorithm]
+ #
+ # source://jwt//lib/jwt/algos/eddsa.rb#15
+ def verify(to_verify); end
+ end
+end
+
+# source://jwt//lib/jwt/algos/eddsa.rb#6
+JWT::Algos::Eddsa::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/algos/hmac.rb#3
+module JWT::Algos::Hmac
+ private
+
+ # source://jwt//lib/jwt/algos/hmac.rb#8
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/hmac.rb#19
+ def verify(to_verify); end
+
+ class << self
+ # source://jwt//lib/jwt/algos/hmac.rb#8
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/hmac.rb#19
+ def verify(to_verify); end
+ end
+end
+
+# source://jwt//lib/jwt/algos/hmac.rb#6
+JWT::Algos::Hmac::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/algos/none.rb#3
+module JWT::Algos::None
+ private
+
+ # source://jwt//lib/jwt/algos/none.rb#8
+ def sign(*_arg0); end
+
+ # source://jwt//lib/jwt/algos/none.rb#10
+ def verify(*_arg0); end
+
+ class << self
+ # source://jwt//lib/jwt/algos/none.rb#8
+ def sign(*_arg0); end
+
+ # source://jwt//lib/jwt/algos/none.rb#10
+ def verify(*_arg0); end
+ end
+end
+
+# source://jwt//lib/jwt/algos/none.rb#6
+JWT::Algos::None::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/algos/ps.rb#3
+module JWT::Algos::Ps
+ private
+
+ # source://jwt//lib/jwt/algos/ps.rb#30
+ def require_openssl!; end
+
+ # source://jwt//lib/jwt/algos/ps.rb#10
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/ps.rb#24
+ def verify(to_verify); end
+
+ class << self
+ # source://jwt//lib/jwt/algos/ps.rb#30
+ def require_openssl!; end
+
+ # @raise [EncodeError]
+ #
+ # source://jwt//lib/jwt/algos/ps.rb#10
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/ps.rb#24
+ def verify(to_verify); end
+ end
+end
+
+# source://jwt//lib/jwt/algos/ps.rb#8
+JWT::Algos::Ps::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/algos/rsa.rb#3
+module JWT::Algos::Rsa
+ private
+
+ # source://jwt//lib/jwt/algos/rsa.rb#8
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/rsa.rb#14
+ def verify(to_verify); end
+
+ class << self
+ # @raise [EncodeError]
+ #
+ # source://jwt//lib/jwt/algos/rsa.rb#8
+ def sign(to_sign); end
+
+ # source://jwt//lib/jwt/algos/rsa.rb#14
+ def verify(to_verify); end
+ end
+end
+
+# source://jwt//lib/jwt/algos/rsa.rb#6
+JWT::Algos::Rsa::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/algos/unsupported.rb#3
+module JWT::Algos::Unsupported
+ private
+
+ # source://jwt//lib/jwt/algos/unsupported.rb#8
+ def sign(*_arg0); end
+
+ # source://jwt//lib/jwt/algos/unsupported.rb#12
+ def verify(*_arg0); end
+
+ class << self
+ # @raise [NotImplementedError]
+ #
+ # source://jwt//lib/jwt/algos/unsupported.rb#8
+ def sign(*_arg0); end
+
+ # @raise [JWT::VerificationError]
+ #
+ # source://jwt//lib/jwt/algos/unsupported.rb#12
+ def verify(*_arg0); end
+ end
+end
+
+# source://jwt//lib/jwt/algos/unsupported.rb#6
+JWT::Algos::Unsupported::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# Base64 helpers
+#
+# source://jwt//lib/jwt/base64.rb#7
+class JWT::Base64
+ class << self
+ # source://jwt//lib/jwt/base64.rb#13
+ def url_decode(str); end
+
+ # source://jwt//lib/jwt/base64.rb#9
+ def url_encode(str); end
+ end
+end
+
+# source://jwt//lib/jwt/claims_validator.rb#4
+class JWT::ClaimsValidator
+ # @return [ClaimsValidator] a new instance of ClaimsValidator
+ #
+ # source://jwt//lib/jwt/claims_validator.rb#11
+ def initialize(payload); end
+
+ # source://jwt//lib/jwt/claims_validator.rb#15
+ def validate!; end
+
+ private
+
+ # @raise [InvalidPayload]
+ #
+ # source://jwt//lib/jwt/claims_validator.rb#29
+ def validate_is_numeric(claim); end
+
+ # source://jwt//lib/jwt/claims_validator.rb#23
+ def validate_numeric_claims; end
+end
+
+# source://jwt//lib/jwt/claims_validator.rb#5
+JWT::ClaimsValidator::NUMERIC_CLAIMS = T.let(T.unsafe(nil), Array)
+
+# Decoding logic for JWT
+#
+# source://jwt//lib/jwt/decode.rb#10
+class JWT::Decode
+ # @raise [JWT::DecodeError]
+ # @return [Decode] a new instance of Decode
+ #
+ # source://jwt//lib/jwt/decode.rb#11
+ def initialize(jwt, key, verify, options, &keyfinder); end
+
+ # @raise [JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/decode.rb#22
+ def decode_segments; end
+
+ private
+
+ # source://jwt//lib/jwt/decode.rb#49
+ def allowed_algorithms; end
+
+ # source://jwt//lib/jwt/decode.rb#87
+ def decode_crypto; end
+
+ # @raise [JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/decode.rb#65
+ def find_key(&keyfinder); end
+
+ # source://jwt//lib/jwt/decode.rb#91
+ def header; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/decode.rb#45
+ def options_includes_algo_in_header?; end
+
+ # source://jwt//lib/jwt/decode.rb#103
+ def parse_and_decode(segment); end
+
+ # source://jwt//lib/jwt/decode.rb#95
+ def payload; end
+
+ # source://jwt//lib/jwt/decode.rb#83
+ def segment_length; end
+
+ # source://jwt//lib/jwt/decode.rb#99
+ def signing_input; end
+
+ # @raise [JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/decode.rb#75
+ def validate_segment_count!; end
+
+ # source://jwt//lib/jwt/decode.rb#71
+ def verify_claims; end
+
+ # @raise [JWT::IncorrectAlgorithm]
+ #
+ # source://jwt//lib/jwt/decode.rb#35
+ def verify_signature; end
+end
+
+# source://jwt//lib/jwt/error.rb#5
+class JWT::DecodeError < ::StandardError; end
+
+# source://jwt//lib/jwt/default_options.rb#2
+module JWT::DefaultOptions; end
+
+# source://jwt//lib/jwt/default_options.rb#3
+JWT::DefaultOptions::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
+
+# Encoding logic for JWT
+#
+# source://jwt//lib/jwt/encode.rb#9
+class JWT::Encode
+ # @return [Encode] a new instance of Encode
+ #
+ # source://jwt//lib/jwt/encode.rb#13
+ def initialize(options); end
+
+ # source://jwt//lib/jwt/encode.rb#20
+ def segments; end
+
+ private
+
+ # source://jwt//lib/jwt/encode.rb#65
+ def combine(*parts); end
+
+ # source://jwt//lib/jwt/encode.rb#61
+ def encode(data); end
+
+ # source://jwt//lib/jwt/encode.rb#42
+ def encode_header; end
+
+ # source://jwt//lib/jwt/encode.rb#47
+ def encode_payload; end
+
+ # source://jwt//lib/jwt/encode.rb#55
+ def encode_signature; end
+
+ # source://jwt//lib/jwt/encode.rb#26
+ def encoded_header; end
+
+ # source://jwt//lib/jwt/encode.rb#38
+ def encoded_header_and_payload; end
+
+ # source://jwt//lib/jwt/encode.rb#30
+ def encoded_payload; end
+
+ # source://jwt//lib/jwt/encode.rb#34
+ def encoded_signature; end
+end
+
+# source://jwt//lib/jwt/encode.rb#11
+JWT::Encode::ALG_KEY = T.let(T.unsafe(nil), String)
+
+# source://jwt//lib/jwt/encode.rb#10
+JWT::Encode::ALG_NONE = T.let(T.unsafe(nil), String)
+
+# source://jwt//lib/jwt/error.rb#4
+class JWT::EncodeError < ::StandardError; end
+
+# source://jwt//lib/jwt/error.rb#9
+class JWT::ExpiredSignature < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#11
+class JWT::ImmatureSignature < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#10
+class JWT::IncorrectAlgorithm < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#14
+class JWT::InvalidAudError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#13
+class JWT::InvalidIatError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#12
+class JWT::InvalidIssuerError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#16
+class JWT::InvalidJtiError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#17
+class JWT::InvalidPayload < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#15
+class JWT::InvalidSubError < ::JWT::DecodeError; end
+
+# JSON wrapper
+#
+# source://jwt//lib/jwt/json.rb#7
+class JWT::JSON
+ class << self
+ # source://jwt//lib/jwt/json.rb#9
+ def generate(data); end
+
+ # source://jwt//lib/jwt/json.rb#13
+ def parse(data); end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/key_finder.rb#4
+module JWT::JWK
+ class << self
+ # source://jwt//lib/jwt/jwk.rb#23
+ def classes; end
+
+ # source://jwt//lib/jwt/jwk.rb#17
+ def create_from(keypair); end
+
+ # @raise [JWT::JWKError]
+ #
+ # source://jwt//lib/jwt/jwk.rb#8
+ def import(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk.rb#17
+ def new(keypair); end
+
+ private
+
+ # source://jwt//lib/jwt/jwk.rb#36
+ def generate_mappings; end
+
+ # source://jwt//lib/jwt/jwk.rb#32
+ def mappings; end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/ec.rb#7
+class JWT::JWK::EC < ::JWT::JWK::KeyBase
+ extend ::Forwardable
+
+ # @raise [ArgumentError]
+ # @return [EC] a new instance of EC
+ #
+ # source://jwt//lib/jwt/jwk/ec.rb#15
+ def initialize(keypair, kid = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#26
+ def export(options = T.unsafe(nil)); end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwk/ec.rb#22
+ def private?; end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def public_key(*args, **_arg1, &block); end
+
+ private
+
+ # source://jwt//lib/jwt/jwk/ec.rb#42
+ def append_private_parts(the_hash); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#74
+ def encode_octets(octets); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#78
+ def encode_open_ssl_bn(key_part); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#49
+ def generate_kid(ec_keypair); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#56
+ def keypair_components(ec_keypair); end
+
+ class << self
+ # @raise [Jwt::JWKError]
+ #
+ # source://jwt//lib/jwt/jwk/ec.rb#83
+ def import(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#93
+ def to_openssl_curve(crv); end
+
+ private
+
+ # source://jwt//lib/jwt/jwk/ec.rb#140
+ def decode_octets(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#144
+ def decode_open_ssl_bn(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#113
+ def ec_pkey(jwk_crv, jwk_x, jwk_y, jwk_d); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#107
+ def jwk_attrs(jwk_data, attrs); end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/ec.rb#13
+JWT::JWK::EC::BINARY = T.let(T.unsafe(nil), Integer)
+
+# source://jwt//lib/jwt/jwk/ec.rb#11
+JWT::JWK::EC::KTY = T.let(T.unsafe(nil), String)
+
+# source://jwt//lib/jwt/jwk/ec.rb#12
+JWT::JWK::EC::KTYS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/hmac.rb#5
+class JWT::JWK::HMAC < ::JWT::JWK::KeyBase
+ # @raise [ArgumentError]
+ # @return [HMAC] a new instance of HMAC
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#9
+ def initialize(keypair, kid = T.unsafe(nil)); end
+
+ # See https://tools.ietf.org/html/rfc7517#appendix-A.3
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#25
+ def export(options = T.unsafe(nil)); end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#16
+ def private?; end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#20
+ def public_key; end
+
+ private
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#40
+ def generate_kid; end
+
+ class << self
+ # @raise [JWT::JWKError]
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#47
+ def import(jwk_data); end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/hmac.rb#6
+JWT::JWK::HMAC::KTY = T.let(T.unsafe(nil), String)
+
+# source://jwt//lib/jwt/jwk/hmac.rb#7
+JWT::JWK::HMAC::KTYS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/key_base.rb#5
+class JWT::JWK::KeyBase
+ # @return [KeyBase] a new instance of KeyBase
+ #
+ # source://jwt//lib/jwt/jwk/key_base.rb#8
+ def initialize(keypair, kid = T.unsafe(nil)); end
+
+ # Returns the value of attribute keypair.
+ #
+ # source://jwt//lib/jwt/jwk/key_base.rb#6
+ def keypair; end
+
+ # Returns the value of attribute kid.
+ #
+ # source://jwt//lib/jwt/jwk/key_base.rb#6
+ def kid; end
+
+ class << self
+ # @private
+ #
+ # source://jwt//lib/jwt/jwk/key_base.rb#13
+ def inherited(klass); end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/key_finder.rb#5
+class JWT::JWK::KeyFinder
+ # @return [KeyFinder] a new instance of KeyFinder
+ #
+ # source://jwt//lib/jwt/jwk/key_finder.rb#6
+ def initialize(options); end
+
+ # @raise [::JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/jwk/key_finder.rb#12
+ def key_for(kid); end
+
+ private
+
+ # source://jwt//lib/jwt/jwk/key_finder.rb#53
+ def find_key(kid); end
+
+ # source://jwt//lib/jwt/jwk/key_finder.rb#38
+ def jwks; end
+
+ # source://jwt//lib/jwt/jwk/key_finder.rb#49
+ def jwks_keys; end
+
+ # source://jwt//lib/jwt/jwk/key_finder.rb#45
+ def load_keys(opts = T.unsafe(nil)); end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwk/key_finder.rb#57
+ def reloadable?; end
+
+ # source://jwt//lib/jwt/jwk/key_finder.rb#25
+ def resolve_key(kid); end
+end
+
+# source://jwt//lib/jwt/jwk/rsa.rb#5
+class JWT::JWK::RSA < ::JWT::JWK::KeyBase
+ # @raise [ArgumentError]
+ # @return [RSA] a new instance of RSA
+ #
+ # source://jwt//lib/jwt/jwk/rsa.rb#11
+ def initialize(keypair, kid = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#24
+ def export(options = T.unsafe(nil)); end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwk/rsa.rb#16
+ def private?; end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#20
+ def public_key; end
+
+ private
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#45
+ def append_private_parts(the_hash); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#56
+ def encode_open_ssl_bn(key_part); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#39
+ def generate_kid(public_key); end
+
+ class << self
+ # source://jwt//lib/jwt/jwk/rsa.rb#61
+ def import(jwk_data); end
+
+ private
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#107
+ def decode_open_ssl_bn(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#71
+ def jwk_attributes(jwk_data, *attributes); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#86
+ def populate_key(rsa_key, rsa_parameters); end
+
+ # @raise [JWT::JWKError]
+ #
+ # source://jwt//lib/jwt/jwk/rsa.rb#79
+ def rsa_pkey(rsa_parameters); end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/rsa.rb#6
+JWT::JWK::RSA::BINARY = T.let(T.unsafe(nil), Integer)
+
+# source://jwt//lib/jwt/jwk/rsa.rb#7
+JWT::JWK::RSA::KTY = T.let(T.unsafe(nil), String)
+
+# source://jwt//lib/jwt/jwk/rsa.rb#8
+JWT::JWK::RSA::KTYS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/rsa.rb#9
+JWT::JWK::RSA::RSA_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/error.rb#19
+class JWT::JWKError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#6
+class JWT::RequiredDependencyError < ::StandardError; end
+
+# Collection of security methods
+#
+# @see: https://github.com/rails/rails/blob/master/activesupport/lib/active_support/security_utils.rb
+#
+# source://jwt//lib/jwt/security_utils.rb#5
+module JWT::SecurityUtils
+ private
+
+ # source://jwt//lib/jwt/security_utils.rb#29
+ def asn1_to_raw(signature, public_key); end
+
+ # source://jwt//lib/jwt/security_utils.rb#34
+ def raw_to_asn1(signature, private_key); end
+
+ # source://jwt//lib/jwt/security_utils.rb#41
+ def rbnacl_fixup(algorithm, key); end
+
+ # source://jwt//lib/jwt/security_utils.rb#8
+ def secure_compare(left, right); end
+
+ # source://jwt//lib/jwt/security_utils.rb#23
+ def verify_ps(algorithm, public_key, signing_input, signature); end
+
+ # source://jwt//lib/jwt/security_utils.rb#19
+ def verify_rsa(algorithm, public_key, signing_input, signature); end
+
+ class << self
+ # source://jwt//lib/jwt/security_utils.rb#29
+ def asn1_to_raw(signature, public_key); end
+
+ # source://jwt//lib/jwt/security_utils.rb#34
+ def raw_to_asn1(signature, private_key); end
+
+ # source://jwt//lib/jwt/security_utils.rb#41
+ def rbnacl_fixup(algorithm, key); end
+
+ # source://jwt//lib/jwt/security_utils.rb#8
+ def secure_compare(left, right); end
+
+ # source://jwt//lib/jwt/security_utils.rb#23
+ def verify_ps(algorithm, public_key, signing_input, signature); end
+
+ # source://jwt//lib/jwt/security_utils.rb#19
+ def verify_rsa(algorithm, public_key, signing_input, signature); end
+ end
+end
+
+# Signature logic for JWT
+#
+# source://jwt//lib/jwt/signature.rb#15
+module JWT::Signature
+ extend ::JWT::Signature
+
+ # source://jwt//lib/jwt/signature.rb#20
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/signature.rb#25
+ def verify(algorithm, key, signing_input, signature); end
+end
+
+# source://jwt//lib/jwt/signature.rb#17
+class JWT::Signature::ToSign < ::Struct
+ # Returns the value of attribute algorithm
+ #
+ # @return [Object] the current value of algorithm
+ def algorithm; end
+
+ # Sets the attribute algorithm
+ #
+ # @param value [Object] the value to set the attribute algorithm to.
+ # @return [Object] the newly set value
+ def algorithm=(_); end
+
+ # Returns the value of attribute key
+ #
+ # @return [Object] the current value of key
+ def key; end
+
+ # Sets the attribute key
+ #
+ # @param value [Object] the value to set the attribute key to.
+ # @return [Object] the newly set value
+ def key=(_); end
+
+ # Returns the value of attribute msg
+ #
+ # @return [Object] the current value of msg
+ def msg; end
+
+ # Sets the attribute msg
+ #
+ # @param value [Object] the value to set the attribute msg to.
+ # @return [Object] the newly set value
+ def msg=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# source://jwt//lib/jwt/signature.rb#18
+class JWT::Signature::ToVerify < ::Struct
+ # Returns the value of attribute algorithm
+ #
+ # @return [Object] the current value of algorithm
+ def algorithm; end
+
+ # Sets the attribute algorithm
+ #
+ # @param value [Object] the value to set the attribute algorithm to.
+ # @return [Object] the newly set value
+ def algorithm=(_); end
+
+ # Returns the value of attribute public_key
+ #
+ # @return [Object] the current value of public_key
+ def public_key; end
+
+ # Sets the attribute public_key
+ #
+ # @param value [Object] the value to set the attribute public_key to.
+ # @return [Object] the newly set value
+ def public_key=(_); end
+
+ # Returns the value of attribute signature
+ #
+ # @return [Object] the current value of signature
+ def signature; end
+
+ # Sets the attribute signature
+ #
+ # @param value [Object] the value to set the attribute signature to.
+ # @return [Object] the newly set value
+ def signature=(_); end
+
+ # Returns the value of attribute signing_input
+ #
+ # @return [Object] the current value of signing_input
+ def signing_input; end
+
+ # Sets the attribute signing_input
+ #
+ # @param value [Object] the value to set the attribute signing_input to.
+ # @return [Object] the newly set value
+ def signing_input=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# source://jwt//lib/jwt/error.rb#8
+class JWT::VerificationError < ::JWT::DecodeError; end
+
+# JWT verify methods
+#
+# source://jwt//lib/jwt/verify.rb#7
+class JWT::Verify
+ # @return [Verify] a new instance of Verify
+ #
+ # source://jwt//lib/jwt/verify.rb#27
+ def initialize(payload, options); end
+
+ # @raise [JWT::InvalidAudError]
+ #
+ # source://jwt//lib/jwt/verify.rb#32
+ def verify_aud; end
+
+ # @raise [JWT::ExpiredSignature]
+ #
+ # source://jwt//lib/jwt/verify.rb#39
+ def verify_expiration; end
+
+ # @raise [JWT::InvalidIatError]
+ #
+ # source://jwt//lib/jwt/verify.rb#44
+ def verify_iat; end
+
+ # @raise [JWT::InvalidIssuerError]
+ #
+ # source://jwt//lib/jwt/verify.rb#51
+ def verify_iss; end
+
+ # source://jwt//lib/jwt/verify.rb#61
+ def verify_jti; end
+
+ # @raise [JWT::ImmatureSignature]
+ #
+ # source://jwt//lib/jwt/verify.rb#73
+ def verify_not_before; end
+
+ # @raise [JWT::InvalidSubError]
+ #
+ # source://jwt//lib/jwt/verify.rb#78
+ def verify_sub; end
+
+ private
+
+ # source://jwt//lib/jwt/verify.rb#90
+ def exp_leeway; end
+
+ # source://jwt//lib/jwt/verify.rb#86
+ def global_leeway; end
+
+ # source://jwt//lib/jwt/verify.rb#94
+ def nbf_leeway; end
+
+ class << self
+ # source://jwt//lib/jwt/verify.rb#14
+ def verify_aud(payload, options); end
+
+ # source://jwt//lib/jwt/verify.rb#19
+ def verify_claims(payload, options); end
+
+ # source://jwt//lib/jwt/verify.rb#14
+ def verify_expiration(payload, options); end
+
+ # source://jwt//lib/jwt/verify.rb#14
+ def verify_iat(payload, options); end
+
+ # source://jwt//lib/jwt/verify.rb#14
+ def verify_iss(payload, options); end
+
+ # source://jwt//lib/jwt/verify.rb#14
+ def verify_jti(payload, options); end
+
+ # source://jwt//lib/jwt/verify.rb#14
+ def verify_not_before(payload, options); end
+
+ # source://jwt//lib/jwt/verify.rb#14
+ def verify_sub(payload, options); end
+ end
+end
+
+# source://jwt//lib/jwt/verify.rb#8
+JWT::Verify::DEFAULTS = T.let(T.unsafe(nil), Hash)
diff --git a/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi b/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
new file mode 100644
index 00000000..f6b1d8ed
--- /dev/null
+++ b/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
@@ -0,0 +1,14237 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `language_server-protocol` gem.
+# Please instead update this file by running `bin/tapioca gem language_server-protocol`.
+
+# source://language_server-protocol//lib/language_server/protocol/version.rb#1
+module LanguageServer; end
+
+# source://language_server-protocol//lib/language_server/protocol/version.rb#2
+module LanguageServer::Protocol; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant.rb#3
+module LanguageServer::Protocol::Constant; end
+
+# The kind of a code action.
+#
+# Kinds are a hierarchical list of identifiers separated by `.`,
+# e.g. `"refactor.extract.function"`.
+#
+# The set of kinds is open and client needs to announce the kinds it supports
+# to the server during initialization.
+# A set of predefined code action kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#14
+module LanguageServer::Protocol::Constant::CodeActionKind; end
+
+# Empty kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#18
+LanguageServer::Protocol::Constant::CodeActionKind::EMPTY = T.let(T.unsafe(nil), String)
+
+# Base kind for quickfix actions: 'quickfix'.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#22
+LanguageServer::Protocol::Constant::CodeActionKind::QUICK_FIX = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring actions: 'refactor'.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#26
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring extraction actions: 'refactor.extract'.
+#
+# Example extract actions:
+#
+# - Extract method
+# - Extract function
+# - Extract variable
+# - Extract interface from class
+# - ...
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#38
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_EXTRACT = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring inline actions: 'refactor.inline'.
+#
+# Example inline actions:
+#
+# - Inline function
+# - Inline variable
+# - Inline constant
+# - ...
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#49
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_INLINE = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring rewrite actions: 'refactor.rewrite'.
+#
+# Example rewrite actions:
+#
+# - Convert JavaScript function to class
+# - Add or remove parameter
+# - Encapsulate field
+# - Make method static
+# - Move method to base class
+# - ...
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#62
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_REWRITE = T.let(T.unsafe(nil), String)
+
+# Base kind for source actions: `source`.
+#
+# Source code actions apply to the entire file.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#68
+LanguageServer::Protocol::Constant::CodeActionKind::SOURCE = T.let(T.unsafe(nil), String)
+
+# Base kind for a 'fix all' source action: `source.fixAll`.
+#
+# 'Fix all' actions automatically fix errors that have a clear fix that
+# do not require user input. They should not suppress errors or perform
+# unsafe fixes such as generating new types or classes.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#81
+LanguageServer::Protocol::Constant::CodeActionKind::SOURCE_FIX_ALL = T.let(T.unsafe(nil), String)
+
+# Base kind for an organize imports source action:
+# `source.organizeImports`.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#73
+LanguageServer::Protocol::Constant::CodeActionKind::SOURCE_ORGANIZE_IMPORTS = T.let(T.unsafe(nil), String)
+
+# The reason why code actions were requested.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#7
+module LanguageServer::Protocol::Constant::CodeActionTriggerKind; end
+
+# Code actions were requested automatically.
+#
+# This typically happens when current selection in a file changes, but can
+# also be triggered when file content changes.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#18
+LanguageServer::Protocol::Constant::CodeActionTriggerKind::AUTOMATIC = T.let(T.unsafe(nil), Integer)
+
+# Code actions were explicitly requested by the user or by an extension.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#11
+LanguageServer::Protocol::Constant::CodeActionTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer)
+
+# The kind of a completion entry.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#7
+module LanguageServer::Protocol::Constant::CompletionItemKind; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#14
+LanguageServer::Protocol::Constant::CompletionItemKind::CLASS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#23
+LanguageServer::Protocol::Constant::CompletionItemKind::COLOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#28
+LanguageServer::Protocol::Constant::CompletionItemKind::CONSTANT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#11
+LanguageServer::Protocol::Constant::CompletionItemKind::CONSTRUCTOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#20
+LanguageServer::Protocol::Constant::CompletionItemKind::ENUM = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#27
+LanguageServer::Protocol::Constant::CompletionItemKind::ENUM_MEMBER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#30
+LanguageServer::Protocol::Constant::CompletionItemKind::EVENT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#12
+LanguageServer::Protocol::Constant::CompletionItemKind::FIELD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#24
+LanguageServer::Protocol::Constant::CompletionItemKind::FILE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#26
+LanguageServer::Protocol::Constant::CompletionItemKind::FOLDER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#10
+LanguageServer::Protocol::Constant::CompletionItemKind::FUNCTION = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#15
+LanguageServer::Protocol::Constant::CompletionItemKind::INTERFACE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#21
+LanguageServer::Protocol::Constant::CompletionItemKind::KEYWORD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#9
+LanguageServer::Protocol::Constant::CompletionItemKind::METHOD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#16
+LanguageServer::Protocol::Constant::CompletionItemKind::MODULE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#31
+LanguageServer::Protocol::Constant::CompletionItemKind::OPERATOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#17
+LanguageServer::Protocol::Constant::CompletionItemKind::PROPERTY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#25
+LanguageServer::Protocol::Constant::CompletionItemKind::REFERENCE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#22
+LanguageServer::Protocol::Constant::CompletionItemKind::SNIPPET = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#29
+LanguageServer::Protocol::Constant::CompletionItemKind::STRUCT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#8
+LanguageServer::Protocol::Constant::CompletionItemKind::TEXT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#32
+LanguageServer::Protocol::Constant::CompletionItemKind::TYPE_PARAMETER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#18
+LanguageServer::Protocol::Constant::CompletionItemKind::UNIT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#19
+LanguageServer::Protocol::Constant::CompletionItemKind::VALUE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#13
+LanguageServer::Protocol::Constant::CompletionItemKind::VARIABLE = T.let(T.unsafe(nil), Integer)
+
+# Completion item tags are extra annotations that tweak the rendering of a
+# completion item.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_tag.rb#8
+module LanguageServer::Protocol::Constant::CompletionItemTag; end
+
+# Render a completion as obsolete, usually using a strike-out.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_tag.rb#12
+LanguageServer::Protocol::Constant::CompletionItemTag::DEPRECATED = T.let(T.unsafe(nil), Integer)
+
+# How a completion was triggered
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#7
+module LanguageServer::Protocol::Constant::CompletionTriggerKind; end
+
+# Completion was triggered by typing an identifier (24x7 code
+# complete), manual invocation (e.g Ctrl+Space) or via API.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#12
+LanguageServer::Protocol::Constant::CompletionTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer)
+
+# Completion was triggered by a trigger character specified by
+# the `triggerCharacters` properties of the
+# `CompletionRegistrationOptions`.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#18
+LanguageServer::Protocol::Constant::CompletionTriggerKind::TRIGGER_CHARACTER = T.let(T.unsafe(nil), Integer)
+
+# Completion was re-triggered as the current completion list is incomplete.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#22
+LanguageServer::Protocol::Constant::CompletionTriggerKind::TRIGGER_FOR_INCOMPLETE_COMPLETIONS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#4
+module LanguageServer::Protocol::Constant::DiagnosticSeverity; end
+
+# Reports an error.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#8
+LanguageServer::Protocol::Constant::DiagnosticSeverity::ERROR = T.let(T.unsafe(nil), Integer)
+
+# Reports a hint.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#20
+LanguageServer::Protocol::Constant::DiagnosticSeverity::HINT = T.let(T.unsafe(nil), Integer)
+
+# Reports an information.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#16
+LanguageServer::Protocol::Constant::DiagnosticSeverity::INFORMATION = T.let(T.unsafe(nil), Integer)
+
+# Reports a warning.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#12
+LanguageServer::Protocol::Constant::DiagnosticSeverity::WARNING = T.let(T.unsafe(nil), Integer)
+
+# The diagnostic tags.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#7
+module LanguageServer::Protocol::Constant::DiagnosticTag; end
+
+# Deprecated or obsolete code.
+#
+# Clients are allowed to rendered diagnostics with this tag strike through.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#20
+LanguageServer::Protocol::Constant::DiagnosticTag::DEPRECATED = T.let(T.unsafe(nil), Integer)
+
+# Unused or unnecessary code.
+#
+# Clients are allowed to render diagnostics with this tag faded out
+# instead of having an error squiggle.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#14
+LanguageServer::Protocol::Constant::DiagnosticTag::UNNECESSARY = T.let(T.unsafe(nil), Integer)
+
+# The document diagnostic report kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#7
+module LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind; end
+
+# A diagnostic report with a full
+# set of problems.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#12
+LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind::FULL = T.let(T.unsafe(nil), String)
+
+# A report indicating that the last
+# returned report is still accurate.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#17
+LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind::UNCHANGED = T.let(T.unsafe(nil), String)
+
+# A document highlight kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#7
+module LanguageServer::Protocol::Constant::DocumentHighlightKind; end
+
+# Read-access of a symbol, like reading a variable.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#15
+LanguageServer::Protocol::Constant::DocumentHighlightKind::READ = T.let(T.unsafe(nil), Integer)
+
+# A textual occurrence.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#11
+LanguageServer::Protocol::Constant::DocumentHighlightKind::TEXT = T.let(T.unsafe(nil), Integer)
+
+# Write-access of a symbol, like writing to a variable.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#19
+LanguageServer::Protocol::Constant::DocumentHighlightKind::WRITE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#4
+module LanguageServer::Protocol::Constant::ErrorCodes; end
+
+# The server detected that the content of a document got
+# modified outside normal conditions. A server should
+# NOT send this error code if it detects a content change
+# in it unprocessed messages. The result even computed
+# on an older state might still be useful for the client.
+#
+# If a client decides that a result is not of any use anymore
+# the client should cancel the request.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#59
+LanguageServer::Protocol::Constant::ErrorCodes::CONTENT_MODIFIED = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#9
+LanguageServer::Protocol::Constant::ErrorCodes::INTERNAL_ERROR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#8
+LanguageServer::Protocol::Constant::ErrorCodes::INVALID_PARAMS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#6
+LanguageServer::Protocol::Constant::ErrorCodes::INVALID_REQUEST = T.let(T.unsafe(nil), Integer)
+
+# This is the end range of JSON-RPC reserved error codes.
+# It doesn't denote a real error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#29
+LanguageServer::Protocol::Constant::ErrorCodes::JSONRPC_RESERVED_ERROR_RANGE_END = T.let(T.unsafe(nil), Integer)
+
+# This is the start range of JSON-RPC reserved error codes.
+# It doesn't denote a real error code. No LSP error codes should
+# be defined between the start and end range. For backwards
+# compatibility the `ServerNotInitialized` and the `UnknownErrorCode`
+# are left in the range.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#17
+LanguageServer::Protocol::Constant::ErrorCodes::JSONRPC_RESERVED_ERROR_RANGE_START = T.let(T.unsafe(nil), Integer)
+
+# This is the end range of LSP reserved error codes.
+# It doesn't denote a real error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#69
+LanguageServer::Protocol::Constant::ErrorCodes::LSP_RESERVED_ERROR_RANGE_END = T.let(T.unsafe(nil), Integer)
+
+# This is the start range of LSP reserved error codes.
+# It doesn't denote a real error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#35
+LanguageServer::Protocol::Constant::ErrorCodes::LSP_RESERVED_ERROR_RANGE_START = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#7
+LanguageServer::Protocol::Constant::ErrorCodes::METHOD_NOT_FOUND = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#5
+LanguageServer::Protocol::Constant::ErrorCodes::PARSE_ERROR = T.let(T.unsafe(nil), Integer)
+
+# The client has canceled a request and a server as detected
+# the cancel.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#64
+LanguageServer::Protocol::Constant::ErrorCodes::REQUEST_CANCELLED = T.let(T.unsafe(nil), Integer)
+
+# A request failed but it was syntactically correct, e.g the
+# method name was known and the parameters were valid. The error
+# message should contain human readable information about why
+# the request failed.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#42
+LanguageServer::Protocol::Constant::ErrorCodes::REQUEST_FAILED = T.let(T.unsafe(nil), Integer)
+
+# The server cancelled the request. This error code should
+# only be used for requests that explicitly support being
+# server cancellable.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#48
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_CANCELLED = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#30
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_ERROR_END = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#18
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_ERROR_START = T.let(T.unsafe(nil), Integer)
+
+# Error code indicating that a server received a notification or
+# request before the server has received the `initialize` request.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#23
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_NOT_INITIALIZED = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#24
+LanguageServer::Protocol::Constant::ErrorCodes::UNKNOWN_ERROR_CODE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#4
+module LanguageServer::Protocol::Constant::FailureHandlingKind; end
+
+# Applying the workspace change is simply aborted if one of the changes
+# provided fails. All operations executed before the failing operation
+# stay executed.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#10
+LanguageServer::Protocol::Constant::FailureHandlingKind::ABORT = T.let(T.unsafe(nil), String)
+
+# If the workspace edit contains only textual file changes they are
+# executed transactional. If resource changes (create, rename or delete
+# file) are part of the change the failure handling strategy is abort.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#21
+LanguageServer::Protocol::Constant::FailureHandlingKind::TEXT_ONLY_TRANSACTIONAL = T.let(T.unsafe(nil), String)
+
+# All operations are executed transactional. That means they either all
+# succeed or no changes at all are applied to the workspace.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#15
+LanguageServer::Protocol::Constant::FailureHandlingKind::TRANSACTIONAL = T.let(T.unsafe(nil), String)
+
+# The client tries to undo the operations already executed. But there is no
+# guarantee that this is succeeding.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#26
+LanguageServer::Protocol::Constant::FailureHandlingKind::UNDO = T.let(T.unsafe(nil), String)
+
+# The file event type.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#7
+module LanguageServer::Protocol::Constant::FileChangeType; end
+
+# The file got changed.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#15
+LanguageServer::Protocol::Constant::FileChangeType::CHANGED = T.let(T.unsafe(nil), Integer)
+
+# The file got created.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#11
+LanguageServer::Protocol::Constant::FileChangeType::CREATED = T.let(T.unsafe(nil), Integer)
+
+# The file got deleted.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#19
+LanguageServer::Protocol::Constant::FileChangeType::DELETED = T.let(T.unsafe(nil), Integer)
+
+# A pattern kind describing if a glob pattern matches a file a folder or
+# both.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#8
+module LanguageServer::Protocol::Constant::FileOperationPatternKind; end
+
+# The pattern matches a file only.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#12
+LanguageServer::Protocol::Constant::FileOperationPatternKind::FILE = T.let(T.unsafe(nil), String)
+
+# The pattern matches a folder only.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#16
+LanguageServer::Protocol::Constant::FileOperationPatternKind::FOLDER = T.let(T.unsafe(nil), String)
+
+# A set of predefined range kinds.
+# The type is a string since the value set is extensible
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#8
+module LanguageServer::Protocol::Constant::FoldingRangeKind; end
+
+# Folding range for a comment
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#12
+LanguageServer::Protocol::Constant::FoldingRangeKind::COMMENT = T.let(T.unsafe(nil), String)
+
+# Folding range for imports or includes
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#16
+LanguageServer::Protocol::Constant::FoldingRangeKind::IMPORTS = T.let(T.unsafe(nil), String)
+
+# Folding range for a region (e.g. `#region`)
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#20
+LanguageServer::Protocol::Constant::FoldingRangeKind::REGION = T.let(T.unsafe(nil), String)
+
+# Known error codes for an `InitializeErrorCodes`;
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/initialize_error_codes.rb#7
+module LanguageServer::Protocol::Constant::InitializeErrorCodes; end
+
+# If the protocol version provided by the client can't be handled by
+# the server.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/initialize_error_codes.rb#12
+LanguageServer::Protocol::Constant::InitializeErrorCodes::UNKNOWN_PROTOCOL_VERSION = T.let(T.unsafe(nil), Integer)
+
+# Inlay hint kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#7
+module LanguageServer::Protocol::Constant::InlayHintKind; end
+
+# An inlay hint that is for a parameter.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#15
+LanguageServer::Protocol::Constant::InlayHintKind::PARAMETER = T.let(T.unsafe(nil), Integer)
+
+# An inlay hint that for a type annotation.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#11
+LanguageServer::Protocol::Constant::InlayHintKind::TYPE = T.let(T.unsafe(nil), Integer)
+
+# Defines whether the insert text in a completion item should be interpreted as
+# plain text or a snippet.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#8
+module LanguageServer::Protocol::Constant::InsertTextFormat; end
+
+# The primary text to be inserted is treated as a plain string.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#12
+LanguageServer::Protocol::Constant::InsertTextFormat::PLAIN_TEXT = T.let(T.unsafe(nil), Integer)
+
+# The primary text to be inserted is treated as a snippet.
+#
+# A snippet can define tab stops and placeholders with `$1`, `$2`
+# and `${3:foo}`. `$0` defines the final tab stop, it defaults to
+# the end of the snippet. Placeholders with equal identifiers are linked,
+# that is typing in one will update others too.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#21
+LanguageServer::Protocol::Constant::InsertTextFormat::SNIPPET = T.let(T.unsafe(nil), Integer)
+
+# How whitespace and indentation is handled during completion
+# item insertion.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#8
+module LanguageServer::Protocol::Constant::InsertTextMode; end
+
+# The editor adjusts leading whitespace of new lines so that
+# they match the indentation up to the cursor of the line for
+# which the item is accepted.
+#
+# Consider a line like this: <2tabs><3tabs>foo. Accepting a
+# multi line completion item is indented using 2 tabs and all
+# following lines inserted will be indented using 2 tabs as well.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#26
+LanguageServer::Protocol::Constant::InsertTextMode::ADJUST_INDENTATION = T.let(T.unsafe(nil), Integer)
+
+# The insertion or replace strings is taken as it is. If the
+# value is multi line the lines below the cursor will be
+# inserted using the indentation defined in the string value.
+# The client will not apply any kind of adjustments to the
+# string.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#16
+LanguageServer::Protocol::Constant::InsertTextMode::AS_IS = T.let(T.unsafe(nil), Integer)
+
+# Describes the content type that a client supports in various
+# result literals like `Hover`, `ParameterInfo` or `CompletionItem`.
+#
+# Please note that `MarkupKinds` must not start with a `$`. This kinds
+# are reserved for internal usage.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#11
+module LanguageServer::Protocol::Constant::MarkupKind; end
+
+# Markdown is supported as a content format
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#19
+LanguageServer::Protocol::Constant::MarkupKind::MARKDOWN = T.let(T.unsafe(nil), String)
+
+# Plain text is supported as a content format
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#15
+LanguageServer::Protocol::Constant::MarkupKind::PLAIN_TEXT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#4
+module LanguageServer::Protocol::Constant::MessageType; end
+
+# An error message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#8
+LanguageServer::Protocol::Constant::MessageType::ERROR = T.let(T.unsafe(nil), Integer)
+
+# An information message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#16
+LanguageServer::Protocol::Constant::MessageType::INFO = T.let(T.unsafe(nil), Integer)
+
+# A log message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#20
+LanguageServer::Protocol::Constant::MessageType::LOG = T.let(T.unsafe(nil), Integer)
+
+# A warning message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#12
+LanguageServer::Protocol::Constant::MessageType::WARNING = T.let(T.unsafe(nil), Integer)
+
+# The moniker kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#7
+module LanguageServer::Protocol::Constant::MonikerKind; end
+
+# The moniker represents a symbol that is exported from a project
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#15
+LanguageServer::Protocol::Constant::MonikerKind::EXPORT = T.let(T.unsafe(nil), String)
+
+# The moniker represent a symbol that is imported into a project
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#11
+LanguageServer::Protocol::Constant::MonikerKind::IMPORT = T.let(T.unsafe(nil), String)
+
+# The moniker represents a symbol that is local to a project (e.g. a local
+# variable of a function, a class not visible outside the project, ...)
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#20
+LanguageServer::Protocol::Constant::MonikerKind::LOCAL = T.let(T.unsafe(nil), String)
+
+# A notebook cell kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#7
+module LanguageServer::Protocol::Constant::NotebookCellKind; end
+
+# A code-cell is source code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#15
+LanguageServer::Protocol::Constant::NotebookCellKind::CODE = T.let(T.unsafe(nil), Integer)
+
+# A markup-cell is formatted source that is used for display.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#11
+LanguageServer::Protocol::Constant::NotebookCellKind::MARKUP = T.let(T.unsafe(nil), Integer)
+
+# A type indicating how positions are encoded,
+# specifically what column offsets mean.
+# A set of predefined position encoding kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#9
+module LanguageServer::Protocol::Constant::PositionEncodingKind; end
+
+# Character offsets count UTF-16 code units.
+#
+# This is the default and must always be supported
+# by servers
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#20
+LanguageServer::Protocol::Constant::PositionEncodingKind::UTF16 = T.let(T.unsafe(nil), String)
+
+# Character offsets count UTF-32 code units.
+#
+# Implementation note: these are the same as Unicode code points,
+# so this `PositionEncodingKind` may also be used for an
+# encoding-agnostic representation of character offsets.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#28
+LanguageServer::Protocol::Constant::PositionEncodingKind::UTF32 = T.let(T.unsafe(nil), String)
+
+# Character offsets count UTF-8 code units (e.g bytes).
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#13
+LanguageServer::Protocol::Constant::PositionEncodingKind::UTF8 = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/prepare_support_default_behavior.rb#4
+module LanguageServer::Protocol::Constant::PrepareSupportDefaultBehavior; end
+
+# The client's default behavior is to select the identifier
+# according to the language's syntax rule.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/prepare_support_default_behavior.rb#9
+LanguageServer::Protocol::Constant::PrepareSupportDefaultBehavior::IDENTIFIER = T.let(T.unsafe(nil), Integer)
+
+# The kind of resource operations supported by the client.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#7
+module LanguageServer::Protocol::Constant::ResourceOperationKind; end
+
+# Supports creating new files and folders.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#11
+LanguageServer::Protocol::Constant::ResourceOperationKind::CREATE = T.let(T.unsafe(nil), String)
+
+# Supports deleting existing files and folders.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#19
+LanguageServer::Protocol::Constant::ResourceOperationKind::DELETE = T.let(T.unsafe(nil), String)
+
+# Supports renaming existing files and folders.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#15
+LanguageServer::Protocol::Constant::ResourceOperationKind::RENAME = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#4
+module LanguageServer::Protocol::Constant::SemanticTokenModifiers; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#10
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::ABSTRACT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#11
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::ASYNC = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#5
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DECLARATION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#14
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEFAULT_LIBRARY = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#6
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEFINITION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#9
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEPRECATED = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#13
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DOCUMENTATION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#12
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::MODIFICATION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#7
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::READONLY = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#8
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::STATIC = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#4
+module LanguageServer::Protocol::Constant::SemanticTokenTypes; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#11
+LanguageServer::Protocol::Constant::SemanticTokenTypes::CLASS = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#26
+LanguageServer::Protocol::Constant::SemanticTokenTypes::COMMENT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#31
+LanguageServer::Protocol::Constant::SemanticTokenTypes::DECORATOR = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#12
+LanguageServer::Protocol::Constant::SemanticTokenTypes::ENUM = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#19
+LanguageServer::Protocol::Constant::SemanticTokenTypes::ENUM_MEMBER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#20
+LanguageServer::Protocol::Constant::SemanticTokenTypes::EVENT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#21
+LanguageServer::Protocol::Constant::SemanticTokenTypes::FUNCTION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#13
+LanguageServer::Protocol::Constant::SemanticTokenTypes::INTERFACE = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#24
+LanguageServer::Protocol::Constant::SemanticTokenTypes::KEYWORD = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#23
+LanguageServer::Protocol::Constant::SemanticTokenTypes::MACRO = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#22
+LanguageServer::Protocol::Constant::SemanticTokenTypes::METHOD = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#25
+LanguageServer::Protocol::Constant::SemanticTokenTypes::MODIFIER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#5
+LanguageServer::Protocol::Constant::SemanticTokenTypes::NAMESPACE = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#28
+LanguageServer::Protocol::Constant::SemanticTokenTypes::NUMBER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#30
+LanguageServer::Protocol::Constant::SemanticTokenTypes::OPERATOR = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#16
+LanguageServer::Protocol::Constant::SemanticTokenTypes::PARAMETER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#18
+LanguageServer::Protocol::Constant::SemanticTokenTypes::PROPERTY = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#29
+LanguageServer::Protocol::Constant::SemanticTokenTypes::REGEXP = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#27
+LanguageServer::Protocol::Constant::SemanticTokenTypes::STRING = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#14
+LanguageServer::Protocol::Constant::SemanticTokenTypes::STRUCT = T.let(T.unsafe(nil), String)
+
+# Represents a generic type. Acts as a fallback for types which
+# can't be mapped to a specific type like class or enum.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#10
+LanguageServer::Protocol::Constant::SemanticTokenTypes::TYPE = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#15
+LanguageServer::Protocol::Constant::SemanticTokenTypes::TYPE_PARAMETER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#17
+LanguageServer::Protocol::Constant::SemanticTokenTypes::VARIABLE = T.let(T.unsafe(nil), String)
+
+# How a signature help was triggered.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#7
+module LanguageServer::Protocol::Constant::SignatureHelpTriggerKind; end
+
+# Signature help was triggered by the cursor moving or by the document
+# content changing.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#20
+LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::CONTENT_CHANGE = T.let(T.unsafe(nil), Integer)
+
+# Signature help was invoked manually by the user or by a command.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#11
+LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer)
+
+# Signature help was triggered by a trigger character.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#15
+LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::TRIGGER_CHARACTER = T.let(T.unsafe(nil), Integer)
+
+# A symbol kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#7
+module LanguageServer::Protocol::Constant::SymbolKind; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#25
+LanguageServer::Protocol::Constant::SymbolKind::ARRAY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#24
+LanguageServer::Protocol::Constant::SymbolKind::BOOLEAN = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#12
+LanguageServer::Protocol::Constant::SymbolKind::CLASS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#21
+LanguageServer::Protocol::Constant::SymbolKind::CONSTANT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#16
+LanguageServer::Protocol::Constant::SymbolKind::CONSTRUCTOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#17
+LanguageServer::Protocol::Constant::SymbolKind::ENUM = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#29
+LanguageServer::Protocol::Constant::SymbolKind::ENUM_MEMBER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#31
+LanguageServer::Protocol::Constant::SymbolKind::EVENT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#15
+LanguageServer::Protocol::Constant::SymbolKind::FIELD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#8
+LanguageServer::Protocol::Constant::SymbolKind::FILE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#19
+LanguageServer::Protocol::Constant::SymbolKind::FUNCTION = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#18
+LanguageServer::Protocol::Constant::SymbolKind::INTERFACE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#27
+LanguageServer::Protocol::Constant::SymbolKind::KEY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#13
+LanguageServer::Protocol::Constant::SymbolKind::METHOD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#9
+LanguageServer::Protocol::Constant::SymbolKind::MODULE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#10
+LanguageServer::Protocol::Constant::SymbolKind::NAMESPACE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#28
+LanguageServer::Protocol::Constant::SymbolKind::NULL = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#23
+LanguageServer::Protocol::Constant::SymbolKind::NUMBER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#26
+LanguageServer::Protocol::Constant::SymbolKind::OBJECT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#32
+LanguageServer::Protocol::Constant::SymbolKind::OPERATOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#11
+LanguageServer::Protocol::Constant::SymbolKind::PACKAGE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#14
+LanguageServer::Protocol::Constant::SymbolKind::PROPERTY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#22
+LanguageServer::Protocol::Constant::SymbolKind::STRING = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#30
+LanguageServer::Protocol::Constant::SymbolKind::STRUCT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#33
+LanguageServer::Protocol::Constant::SymbolKind::TYPE_PARAMETER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#20
+LanguageServer::Protocol::Constant::SymbolKind::VARIABLE = T.let(T.unsafe(nil), Integer)
+
+# Symbol tags are extra annotations that tweak the rendering of a symbol.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_tag.rb#7
+module LanguageServer::Protocol::Constant::SymbolTag; end
+
+# Render a symbol as obsolete, usually using a strike-out.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_tag.rb#11
+LanguageServer::Protocol::Constant::SymbolTag::DEPRECATED = T.let(T.unsafe(nil), Integer)
+
+# Represents reasons why a text document is saved.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#7
+module LanguageServer::Protocol::Constant::TextDocumentSaveReason; end
+
+# Automatic after a delay.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#16
+LanguageServer::Protocol::Constant::TextDocumentSaveReason::AFTER_DELAY = T.let(T.unsafe(nil), Integer)
+
+# When the editor lost focus.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#20
+LanguageServer::Protocol::Constant::TextDocumentSaveReason::FOCUS_OUT = T.let(T.unsafe(nil), Integer)
+
+# Manually triggered, e.g. by the user pressing save, by starting
+# debugging, or by an API call.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#12
+LanguageServer::Protocol::Constant::TextDocumentSaveReason::MANUAL = T.let(T.unsafe(nil), Integer)
+
+# Defines how the host (editor) should sync document changes to the language
+# server.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#8
+module LanguageServer::Protocol::Constant::TextDocumentSyncKind; end
+
+# Documents are synced by always sending the full content
+# of the document.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#17
+LanguageServer::Protocol::Constant::TextDocumentSyncKind::FULL = T.let(T.unsafe(nil), Integer)
+
+# Documents are synced by sending the full content on open.
+# After that only incremental updates to the document are
+# sent.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#23
+LanguageServer::Protocol::Constant::TextDocumentSyncKind::INCREMENTAL = T.let(T.unsafe(nil), Integer)
+
+# Documents should not be synced at all.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#12
+LanguageServer::Protocol::Constant::TextDocumentSyncKind::NONE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/token_format.rb#4
+module LanguageServer::Protocol::Constant::TokenFormat; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/token_format.rb#5
+LanguageServer::Protocol::Constant::TokenFormat::RELATIVE = T.let(T.unsafe(nil), String)
+
+# Moniker uniqueness level to define scope of the moniker.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#7
+module LanguageServer::Protocol::Constant::UniquenessLevel; end
+
+# The moniker is only unique inside a document
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#11
+LanguageServer::Protocol::Constant::UniquenessLevel::DOCUMENT = T.let(T.unsafe(nil), String)
+
+# The moniker is globally unique
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#27
+LanguageServer::Protocol::Constant::UniquenessLevel::GLOBAL = T.let(T.unsafe(nil), String)
+
+# The moniker is unique inside the group to which a project belongs
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#19
+LanguageServer::Protocol::Constant::UniquenessLevel::GROUP = T.let(T.unsafe(nil), String)
+
+# The moniker is unique inside a project for which a dump got created
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#15
+LanguageServer::Protocol::Constant::UniquenessLevel::PROJECT = T.let(T.unsafe(nil), String)
+
+# The moniker is unique inside the moniker scheme.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#23
+LanguageServer::Protocol::Constant::UniquenessLevel::SCHEME = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#4
+module LanguageServer::Protocol::Constant::WatchKind; end
+
+# Interested in change events
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#12
+LanguageServer::Protocol::Constant::WatchKind::CHANGE = T.let(T.unsafe(nil), Integer)
+
+# Interested in create events.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#8
+LanguageServer::Protocol::Constant::WatchKind::CREATE = T.let(T.unsafe(nil), Integer)
+
+# Interested in delete events
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#16
+LanguageServer::Protocol::Constant::WatchKind::DELETE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/interface.rb#3
+module LanguageServer::Protocol::Interface; end
+
+# A special text edit with an additional change annotation.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#7
+class LanguageServer::Protocol::Interface::AnnotatedTextEdit
+ # @return [AnnotatedTextEdit] a new instance of AnnotatedTextEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#8
+ def initialize(range:, new_text:, annotation_id:); end
+
+ # The actual annotation identifier.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#40
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#44
+ def attributes; end
+
+ # The string to be inserted. For delete operations use an
+ # empty string.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#32
+ def new_text; end
+
+ # The range of the text document to be manipulated. To insert
+ # text into a document create a range where start === end.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#23
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#4
+class LanguageServer::Protocol::Interface::ApplyWorkspaceEditParams
+ # @return [ApplyWorkspaceEditParams] a new instance of ApplyWorkspaceEditParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#5
+ def initialize(edit:, label: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#32
+ def attributes; end
+
+ # The edits to apply.
+ #
+ # @return [WorkspaceEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#28
+ def edit; end
+
+ # An optional label of the workspace edit. This label is
+ # presented in the user interface for example on an undo
+ # stack to undo the workspace edit.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#20
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#4
+class LanguageServer::Protocol::Interface::ApplyWorkspaceEditResult
+ # @return [ApplyWorkspaceEditResult] a new instance of ApplyWorkspaceEditResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#5
+ def initialize(applied:, failure_reason: T.unsafe(nil), failed_change: T.unsafe(nil)); end
+
+ # Indicates whether the edit was applied or not.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#19
+ def applied; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#44
+ def attributes; end
+
+ # Depending on the client's failure handling strategy `failedChange`
+ # might contain the index of the change that failed. This property is
+ # only available if the client signals a `failureHandling` strategy
+ # in its client capabilities.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#40
+ def failed_change; end
+
+ # An optional textual description for why the edit was not applied.
+ # This may be used by the server for diagnostic logging or to provide
+ # a suitable error for a request that triggered the edit.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#29
+ def failure_reason; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyClientCapabilities
+ # @return [CallHierarchyClientCapabilities] a new instance of CallHierarchyClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `(TextDocumentRegistrationOptions &
+ # StaticRegistrationOptions)` return value for the corresponding server
+ # capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyIncomingCall
+ # @return [CallHierarchyIncomingCall] a new instance of CallHierarchyIncomingCall
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#5
+ def initialize(from:, from_ranges:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#31
+ def attributes; end
+
+ # The item that makes the call.
+ #
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#18
+ def from; end
+
+ # The ranges at which the calls appear. This is relative to the caller
+ # denoted by [`this.from`](#CallHierarchyIncomingCall.from).
+ #
+ # @return [Range[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#27
+ def from_ranges; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyIncomingCallsParams
+ # @return [CallHierarchyIncomingCallsParams] a new instance of CallHierarchyIncomingCallsParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#37
+ def attributes; end
+
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyItem
+ # @return [CallHierarchyItem] a new instance of CallHierarchyItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#5
+ def initialize(name:, kind:, uri:, range:, selection_range:, tags: T.unsafe(nil), detail: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#88
+ def attributes; end
+
+ # A data entry field that is preserved between a call hierarchy prepare and
+ # incoming calls or outgoing calls requests.
+ #
+ # @return [unknown]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#84
+ def data; end
+
+ # More detail for this item, e.g. the signature of a function.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#48
+ def detail; end
+
+ # The kind of this item.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#32
+ def kind; end
+
+ # The name of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#24
+ def name; end
+
+ # The range enclosing this symbol not including leading/trailing whitespace
+ # but everything else, e.g. comments and code.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#65
+ def range; end
+
+ # The range that should be selected and revealed when this symbol is being
+ # picked, e.g. the name of a function. Must be contained by the
+ # [`range`](#CallHierarchyItem.range).
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#75
+ def selection_range; end
+
+ # Tags for this item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#40
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#90
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#94
+ def to_json(*args); end
+
+ # The resource identifier of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#56
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyOptions
+ # @return [CallHierarchyOptions] a new instance of CallHierarchyOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyOutgoingCall
+ # @return [CallHierarchyOutgoingCall] a new instance of CallHierarchyOutgoingCall
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#5
+ def initialize(to:, from_ranges:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#31
+ def attributes; end
+
+ # The range at which this item is called. This is the range relative to
+ # the caller, e.g the item passed to `callHierarchy/outgoingCalls` request.
+ #
+ # @return [Range[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#27
+ def from_ranges; end
+
+ # The item that is called.
+ #
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#18
+ def to; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyOutgoingCallsParams
+ # @return [CallHierarchyOutgoingCallsParams] a new instance of CallHierarchyOutgoingCallsParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#37
+ def attributes; end
+
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyPrepareParams
+ # @return [CallHierarchyPrepareParams] a new instance of CallHierarchyPrepareParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyRegistrationOptions
+ # @return [CallHierarchyRegistrationOptions] a new instance of CallHierarchyRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#4
+class LanguageServer::Protocol::Interface::CancelParams
+ # @return [CancelParams] a new instance of CancelParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#5
+ def initialize(id:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#21
+ def attributes; end
+
+ # The request id to cancel.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#17
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#27
+ def to_json(*args); end
+end
+
+# Additional information that describes document changes.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#7
+class LanguageServer::Protocol::Interface::ChangeAnnotation
+ # @return [ChangeAnnotation] a new instance of ChangeAnnotation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#8
+ def initialize(label:, needs_confirmation: T.unsafe(nil), description: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#45
+ def attributes; end
+
+ # A human-readable string which is rendered less prominent in
+ # the user interface.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#41
+ def description; end
+
+ # A human-readable string describing the actual change. The string
+ # is rendered prominent in the user interface.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#23
+ def label; end
+
+ # A flag which indicates that user confirmation is needed
+ # before applying the change.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#32
+ def needs_confirmation; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#47
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#51
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ClientCapabilities
+ # @return [ClientCapabilities] a new instance of ClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#5
+ def initialize(workspace: T.unsafe(nil), text_document: T.unsafe(nil), notebook_document: T.unsafe(nil), window: T.unsafe(nil), general: T.unsafe(nil), experimental: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#66
+ def attributes; end
+
+ # Experimental client capabilities.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#62
+ def experimental; end
+
+ # General client capabilities.
+ #
+ # @return [{ staleRequestSupport?: { cancel: boolean; retryOnContentModified: string[]; }; regularExpressions?: RegularExpressionsClientCapabilities; markdown?: any; positionEncodings?: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#54
+ def general; end
+
+ # Capabilities specific to the notebook document support.
+ #
+ # @return [NotebookDocumentClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#38
+ def notebook_document; end
+
+ # Text document specific client capabilities.
+ #
+ # @return [TextDocumentClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#30
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#68
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#72
+ def to_json(*args); end
+
+ # Window specific client capabilities.
+ #
+ # @return [{ workDoneProgress?: boolean; showMessage?: ShowMessageRequestClientCapabilities; showDocument?: ShowDocumentClientCapabilities; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#46
+ def window; end
+
+ # Workspace specific client capabilities.
+ #
+ # @return [{ applyEdit?: boolean; workspaceEdit?: WorkspaceEditClientCapabilities; didChangeConfiguration?: DidChangeConfigurationClientCapabilities; ... 10 more ...; diagnostics?: DiagnosticWorkspaceClientCapabilities; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#22
+ def workspace; end
+end
+
+# A code action represents a change that can be performed in code, e.g. to fix
+# a problem or to refactor code.
+#
+# A CodeAction must set either `edit` and/or a `command`. If both are supplied,
+# the `edit` is applied first, then the `command` is executed.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#11
+class LanguageServer::Protocol::Interface::CodeAction
+ # @return [CodeAction] a new instance of CodeAction
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#12
+ def initialize(title:, kind: T.unsafe(nil), diagnostics: T.unsafe(nil), is_preferred: T.unsafe(nil), disabled: T.unsafe(nil), edit: T.unsafe(nil), command: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#115
+ def attributes; end
+
+ # A command this code action executes. If a code action
+ # provides an edit and a command, first the edit is
+ # executed and then the command.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#102
+ def command; end
+
+ # A data entry field that is preserved on a code action between
+ # a `textDocument/codeAction` and a `codeAction/resolve` request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#111
+ def data; end
+
+ # The diagnostics that this code action resolves.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#49
+ def diagnostics; end
+
+ # Marks that the code action cannot currently be applied.
+ #
+ # Clients should follow the following guidelines regarding disabled code
+ # actions:
+ #
+ # - Disabled code actions are not shown in automatic lightbulbs code
+ # action menus.
+ #
+ # - Disabled actions are shown as faded out in the code action menu when
+ # the user request a more specific type of code action, such as
+ # refactorings.
+ #
+ # - If the user has a keybinding that auto applies a code action and only
+ # a disabled code actions are returned, the client should show the user
+ # an error message with `reason` in the editor.
+ #
+ # @return [{ reason: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#84
+ def disabled; end
+
+ # The workspace edit this code action performs.
+ #
+ # @return [WorkspaceEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#92
+ def edit; end
+
+ # Marks this as a preferred action. Preferred actions are used by the
+ # `auto fix` command and can be targeted by keybindings.
+ #
+ # A quick fix should be marked preferred if it properly addresses the
+ # underlying error. A refactoring should be marked preferred if it is the
+ # most reasonable choice of actions to take.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#62
+ def is_preferred; end
+
+ # The kind of the code action.
+ #
+ # Used to filter code actions.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#41
+ def kind; end
+
+ # A short, human-readable, title for this code action.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#31
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#117
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#121
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CodeActionClientCapabilities
+ # @return [CodeActionClientCapabilities] a new instance of CodeActionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), code_action_literal_support: T.unsafe(nil), is_preferred_support: T.unsafe(nil), disabled_support: T.unsafe(nil), data_support: T.unsafe(nil), resolve_support: T.unsafe(nil), honors_change_annotations: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#83
+ def attributes; end
+
+ # The client supports code action literals as a valid
+ # response of the `textDocument/codeAction` request.
+ #
+ # @return [{ codeActionKind: { valueSet: string[]; }; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#32
+ def code_action_literal_support; end
+
+ # Whether code action supports the `data` property which is
+ # preserved between a `textDocument/codeAction` and a
+ # `codeAction/resolve` request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#58
+ def data_support; end
+
+ # Whether code action supports the `disabled` property.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#48
+ def disabled_support; end
+
+ # Whether code action supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#23
+ def dynamic_registration; end
+
+ # Whether the client honors the change annotations in
+ # text edits and resource operations returned via the
+ # `CodeAction#edit` property by for example presenting
+ # the workspace edit in the user interface and asking
+ # for confirmation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#79
+ def honors_change_annotations; end
+
+ # Whether code action supports the `isPreferred` property.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#40
+ def is_preferred_support; end
+
+ # Whether the client supports resolving additional code action
+ # properties via a separate `codeAction/resolve` request.
+ #
+ # @return [{ properties: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#67
+ def resolve_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#85
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#89
+ def to_json(*args); end
+end
+
+# Contains additional diagnostic information about the context in which
+# a code action is run.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#8
+class LanguageServer::Protocol::Interface::CodeActionContext
+ # @return [CodeActionContext] a new instance of CodeActionContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#9
+ def initialize(diagnostics:, only: T.unsafe(nil), trigger_kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#51
+ def attributes; end
+
+ # An array of diagnostics known on the client side overlapping the range
+ # provided to the `textDocument/codeAction` request. They are provided so
+ # that the server knows which errors are currently presented to the user
+ # for the given range. There is no guarantee that these accurately reflect
+ # the error state of the resource. The primary parameter
+ # to compute code actions is the provided range.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#28
+ def diagnostics; end
+
+ # Requested kind of actions to return.
+ #
+ # Actions not of this kind are filtered out by the client before being
+ # shown. So servers can omit computing them.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#39
+ def only; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#57
+ def to_json(*args); end
+
+ # The reason why code actions were requested.
+ #
+ # @return [CodeActionTriggerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#47
+ def trigger_kind; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#4
+class LanguageServer::Protocol::Interface::CodeActionOptions
+ # @return [CodeActionOptions] a new instance of CodeActionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), code_action_kinds: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#40
+ def attributes; end
+
+ # CodeActionKinds that this server may return.
+ #
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`,
+ # or the server may list out every specific kind they provide.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#27
+ def code_action_kinds; end
+
+ # The server provides support to resolve additional
+ # information for a code action.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#36
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#46
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#16
+ def work_done_progress; end
+end
+
+# Params for the CodeActionRequest
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#7
+class LanguageServer::Protocol::Interface::CodeActionParams
+ # @return [CodeActionParams] a new instance of CodeActionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#8
+ def initialize(text_document:, range:, context:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#61
+ def attributes; end
+
+ # Context carrying additional information.
+ #
+ # @return [CodeActionContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#57
+ def context; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#33
+ def partial_result_token; end
+
+ # The range for which the command was invoked.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#49
+ def range; end
+
+ # The document in which the command was invoked.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#41
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#67
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#24
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CodeActionRegistrationOptions
+ # @return [CodeActionRegistrationOptions] a new instance of CodeActionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), code_action_kinds: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#50
+ def attributes; end
+
+ # CodeActionKinds that this server may return.
+ #
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`,
+ # or the server may list out every specific kind they provide.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#37
+ def code_action_kinds; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#21
+ def document_selector; end
+
+ # The server provides support to resolve additional
+ # information for a code action.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#46
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#56
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#26
+ def work_done_progress; end
+end
+
+# Structure to capture a description for an error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#7
+class LanguageServer::Protocol::Interface::CodeDescription
+ # @return [CodeDescription] a new instance of CodeDescription
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#8
+ def initialize(href:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#24
+ def attributes; end
+
+ # An URI to open with more information about the diagnostic error.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#20
+ def href; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#30
+ def to_json(*args); end
+end
+
+# A code lens represents a command that should be shown along with
+# source text, like the number of references, a way to run tests, etc.
+#
+# A code lens is _unresolved_ when no command is associated to it. For
+# performance reasons the creation of a code lens and resolving should be done
+# in two stages.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#12
+class LanguageServer::Protocol::Interface::CodeLens
+ # @return [CodeLens] a new instance of CodeLens
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#13
+ def initialize(range:, command: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#49
+ def attributes; end
+
+ # The command this code lens represents.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#36
+ def command; end
+
+ # A data entry field that is preserved on a code lens item between
+ # a code lens and a code lens resolve request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#45
+ def data; end
+
+ # The range in which this code lens is valid. Should only span a single
+ # line.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#28
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#55
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CodeLensClientCapabilities
+ # @return [CodeLensClientCapabilities] a new instance of CodeLensClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether code lens supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#4
+class LanguageServer::Protocol::Interface::CodeLensOptions
+ # @return [CodeLensOptions] a new instance of CodeLensOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#27
+ def attributes; end
+
+ # Code lens has a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#23
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#4
+class LanguageServer::Protocol::Interface::CodeLensParams
+ # @return [CodeLensParams] a new instance of CodeLensParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#28
+ def partial_result_token; end
+
+ # The document to request code lens for.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CodeLensRegistrationOptions
+ # @return [CodeLensRegistrationOptions] a new instance of CodeLensRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#37
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#20
+ def document_selector; end
+
+ # Code lens has a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#33
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#43
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CodeLensWorkspaceClientCapabilities
+ # @return [CodeLensWorkspaceClientCapabilities] a new instance of CodeLensWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#5
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#27
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from the
+ # server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # code lenses currently shown. It should be used with absolute care and is
+ # useful for situation where a server for example detect a project wide
+ # change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#23
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#33
+ def to_json(*args); end
+end
+
+# Represents a color in RGBA space.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/color.rb#7
+class LanguageServer::Protocol::Interface::Color
+ # @return [Color] a new instance of Color
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#8
+ def initialize(red:, green:, blue:, alpha:); end
+
+ # The alpha component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#47
+ def alpha; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#51
+ def attributes; end
+
+ # The blue component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#39
+ def blue; end
+
+ # The green component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#31
+ def green; end
+
+ # The red component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#23
+ def red; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#57
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#4
+class LanguageServer::Protocol::Interface::ColorInformation
+ # @return [ColorInformation] a new instance of ColorInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#5
+ def initialize(range:, color:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#30
+ def attributes; end
+
+ # The actual color value for this color range.
+ #
+ # @return [Color]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#26
+ def color; end
+
+ # The range in the document where this color appears.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#18
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#4
+class LanguageServer::Protocol::Interface::ColorPresentation
+ # @return [ColorPresentation] a new instance of ColorPresentation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#5
+ def initialize(label:, text_edit: T.unsafe(nil), additional_text_edits: T.unsafe(nil)); end
+
+ # An optional array of additional [text edits](#TextEdit) that are applied
+ # when selecting this color presentation. Edits must not overlap with the
+ # main [edit](#ColorPresentation.textEdit) nor with themselves.
+ #
+ # @return [TextEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#41
+ def additional_text_edits; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#45
+ def attributes; end
+
+ # The label of this color presentation. It will be shown on the color
+ # picker header. By default this is also the text that is inserted when
+ # selecting this color presentation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#21
+ def label; end
+
+ # An [edit](#TextEdit) which is applied to a document when selecting
+ # this presentation for the color. When `falsy` the
+ # [label](#ColorPresentation.label) is used.
+ #
+ # @return [TextEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#31
+ def text_edit; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#47
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#51
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#4
+class LanguageServer::Protocol::Interface::ColorPresentationParams
+ # @return [ColorPresentationParams] a new instance of ColorPresentationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#5
+ def initialize(text_document:, color:, range:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#58
+ def attributes; end
+
+ # The color information to request presentations for.
+ #
+ # @return [Color]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#46
+ def color; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#30
+ def partial_result_token; end
+
+ # The range where the color would be inserted. Serves as a context.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#54
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#38
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#60
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#64
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#21
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/command.rb#4
+class LanguageServer::Protocol::Interface::Command
+ # @return [Command] a new instance of Command
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#5
+ def initialize(title:, command:, arguments: T.unsafe(nil)); end
+
+ # Arguments that the command handler should be
+ # invoked with.
+ #
+ # @return [LSPAny[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#36
+ def arguments; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#40
+ def attributes; end
+
+ # The identifier of the actual command handler.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#27
+ def command; end
+
+ # Title of the command, like `save`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#19
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#46
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CompletionClientCapabilities
+ # @return [CompletionClientCapabilities] a new instance of CompletionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), completion_item: T.unsafe(nil), completion_item_kind: T.unsafe(nil), context_support: T.unsafe(nil), insert_text_mode: T.unsafe(nil), completion_list: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#67
+ def attributes; end
+
+ # The client supports the following `CompletionItem` specific
+ # capabilities.
+ #
+ # @return [{ snippetSupport?: boolean; commitCharactersSupport?: boolean; documentationFormat?: MarkupKind[]; deprecatedSupport?: boolean; preselectSupport?: boolean; tagSupport?: { valueSet: 1[]; }; insertReplaceSupport?: boolean; resolveSupport?: { ...; }; insertTextModeSupport?: { ...; }; labelDetailsSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#31
+ def completion_item; end
+
+ # @return [{ valueSet?: CompletionItemKind[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#36
+ def completion_item_kind; end
+
+ # The client supports the following `CompletionList` specific
+ # capabilities.
+ #
+ # @return [{ itemDefaults?: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#63
+ def completion_list; end
+
+ # The client supports to send additional context information for a
+ # `textDocument/completion` request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#45
+ def context_support; end
+
+ # Whether completion supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#22
+ def dynamic_registration; end
+
+ # The client's default when the completion item doesn't provide a
+ # `insertTextMode` property.
+ #
+ # @return [InsertTextMode]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#54
+ def insert_text_mode; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#69
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#73
+ def to_json(*args); end
+end
+
+# Contains additional information about the context in which a completion
+# request is triggered.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#8
+class LanguageServer::Protocol::Interface::CompletionContext
+ # @return [CompletionContext] a new instance of CompletionContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#9
+ def initialize(trigger_kind:, trigger_character: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#36
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#42
+ def to_json(*args); end
+
+ # The trigger character (a single character) that has trigger code
+ # complete. Is undefined if
+ # `triggerKind !== CompletionTriggerKind.TriggerCharacter`
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#32
+ def trigger_character; end
+
+ # How the completion was triggered.
+ #
+ # @return [CompletionTriggerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#22
+ def trigger_kind; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#4
+class LanguageServer::Protocol::Interface::CompletionItem
+ # @return [CompletionItem] a new instance of CompletionItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#5
+ def initialize(label:, label_details: T.unsafe(nil), kind: T.unsafe(nil), tags: T.unsafe(nil), detail: T.unsafe(nil), documentation: T.unsafe(nil), deprecated: T.unsafe(nil), preselect: T.unsafe(nil), sort_text: T.unsafe(nil), filter_text: T.unsafe(nil), insert_text: T.unsafe(nil), insert_text_format: T.unsafe(nil), insert_text_mode: T.unsafe(nil), text_edit: T.unsafe(nil), text_edit_text: T.unsafe(nil), additional_text_edits: T.unsafe(nil), commit_characters: T.unsafe(nil), command: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # An optional array of additional text edits that are applied when
+ # selecting this completion. Edits must not overlap (including the same
+ # insert position) with the main edit nor with themselves.
+ #
+ # Additional text edits should be used to change text unrelated to the
+ # current cursor position (for example adding an import statement at the
+ # top of the file if the completion item will insert an unqualified type).
+ #
+ # @return [TextEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#221
+ def additional_text_edits; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#255
+ def attributes; end
+
+ # An optional command that is executed *after* inserting this completion.
+ # *Note* that additional modifications to the current document should be
+ # described with the additionalTextEdits-property.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#242
+ def command; end
+
+ # An optional set of characters that when pressed while this completion is
+ # active will accept it first and then type that character. *Note* that all
+ # commit characters should have `length=1` and that superfluous characters
+ # will be ignored.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#232
+ def commit_characters; end
+
+ # A data entry field that is preserved on a completion item between
+ # a completion and a completion resolve request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#251
+ def data; end
+
+ # Indicates if this item is deprecated.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#92
+ def deprecated; end
+
+ # A human-readable string with additional information
+ # about this item, like type or symbol information.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#76
+ def detail; end
+
+ # A human-readable string that represents a doc-comment.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#84
+ def documentation; end
+
+ # A string that should be used when filtering a set of
+ # completion items. When `falsy` the label is used as the
+ # filter text for this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#124
+ def filter_text; end
+
+ # A string that should be inserted into a document when selecting
+ # this completion. When `falsy` the label is used as the insert text
+ # for this item.
+ #
+ # The `insertText` is subject to interpretation by the client side.
+ # Some tools might not take the string literally. For example
+ # VS Code when code complete is requested in this example
+ # `con` and a completion item with an `insertText` of
+ # `console` is provided it will only insert `sole`. Therefore it is
+ # recommended to use `textEdit` instead since it avoids additional client
+ # side interpretation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#142
+ def insert_text; end
+
+ # The format of the insert text. The format applies to both the
+ # `insertText` property and the `newText` property of a provided
+ # `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`.
+ #
+ # Please note that the insertTextFormat doesn't apply to
+ # `additionalTextEdits`.
+ #
+ # @return [InsertTextFormat]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#155
+ def insert_text_format; end
+
+ # How whitespace and indentation is handled during completion
+ # item insertion. If not provided the client's default value depends on
+ # the `textDocument.completion.insertTextMode` client capability.
+ #
+ # @return [InsertTextMode]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#165
+ def insert_text_mode; end
+
+ # The kind of this completion item. Based of the kind
+ # an icon is chosen by the editor. The standardized set
+ # of available values is defined in `CompletionItemKind`.
+ #
+ # @return [CompletionItemKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#59
+ def kind; end
+
+ # The label of this completion item.
+ #
+ # The label property is also by default the text that
+ # is inserted when selecting this completion.
+ #
+ # If label details are provided the label itself should
+ # be an unqualified name of the completion item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#41
+ def label; end
+
+ # Additional details for the label
+ #
+ # @return [CompletionItemLabelDetails]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#49
+ def label_details; end
+
+ # Select this item when showing.
+ #
+ # *Note* that only one completion item can be selected and that the
+ # tool / client decides which item that is. The rule is that the *first*
+ # item of those that match best is selected.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#104
+ def preselect; end
+
+ # A string that should be used when comparing this item
+ # with other items. When `falsy` the label is used
+ # as the sort text for this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#114
+ def sort_text; end
+
+ # Tags for this completion item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#67
+ def tags; end
+
+ # An edit which is applied to a document when selecting this completion.
+ # When an edit is provided the value of `insertText` is ignored.
+ #
+ # *Note:* The range of the edit must be a single line range and it must
+ # contain the position at which completion has been requested.
+ #
+ # Most editors support two different operations when accepting a completion
+ # item. One is to insert a completion text and the other is to replace an
+ # existing text with a completion text. Since this can usually not be
+ # predetermined by a server it can report both ranges. Clients need to
+ # signal support for `InsertReplaceEdit`s via the
+ # `textDocument.completion.completionItem.insertReplaceSupport` client
+ # capability property.
+ #
+ # *Note 1:* The text edit's range as well as both ranges from an insert
+ # replace edit must be a [single line] and they must contain the position
+ # at which completion has been requested.
+ # *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range
+ # must be a prefix of the edit's replace range, that means it must be
+ # contained and starting at the same position.
+ #
+ # @return [TextEdit | InsertReplaceEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#192
+ def text_edit; end
+
+ # The edit text used if the completion item is part of a CompletionList and
+ # CompletionList defines an item default for the text edit range.
+ #
+ # Clients will only honor this property if they opt into completion list
+ # item defaults using the capability `completionList.itemDefaults`.
+ #
+ # If not provided and a list's default range is provided the label
+ # property is used as a text.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#207
+ def text_edit_text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#257
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#261
+ def to_json(*args); end
+end
+
+# Additional details for a completion item label.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#7
+class LanguageServer::Protocol::Interface::CompletionItemLabelDetails
+ # @return [CompletionItemLabelDetails] a new instance of CompletionItemLabelDetails
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#8
+ def initialize(detail: T.unsafe(nil), description: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#37
+ def attributes; end
+
+ # An optional string which is rendered less prominently after
+ # {@link CompletionItemLabelDetails.detail}. Should be used for fully qualified
+ # names or file path.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#33
+ def description; end
+
+ # An optional string which is rendered less prominently directly after
+ # {@link CompletionItem.label label}, without any spacing. Should be
+ # used for function signatures or type annotations.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#23
+ def detail; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#43
+ def to_json(*args); end
+end
+
+# Represents a collection of [completion items](#CompletionItem) to be
+# presented in the editor.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#8
+class LanguageServer::Protocol::Interface::CompletionList
+ # @return [CompletionList] a new instance of CompletionList
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#9
+ def initialize(is_incomplete:, items:, item_defaults: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#57
+ def attributes; end
+
+ # This list is not complete. Further typing should result in recomputing
+ # this list.
+ #
+ # Recomputed lists have all their items replaced (not appended) in the
+ # incomplete completion sessions.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#27
+ def is_incomplete; end
+
+ # In many cases the items of an actual completion result share the same
+ # value for properties like `commitCharacters` or the range of a text
+ # edit. A completion list can therefore define item defaults which will
+ # be used if a completion item itself doesn't specify the value.
+ #
+ # If a completion list specifies a default value and a completion item
+ # also specifies a corresponding value the one from the item is used.
+ #
+ # Servers are only allowed to return default values if the client
+ # signals support for this via the `completionList.itemDefaults`
+ # capability.
+ #
+ # @return [{ commitCharacters?: string[]; editRange?: Range | { insert: Range; replace: Range; }; insertTextFormat?: InsertTextFormat; insertTextMode?: InsertTextMode; data?: LSPAny; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#45
+ def item_defaults; end
+
+ # The completion items.
+ #
+ # @return [CompletionItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#53
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#63
+ def to_json(*args); end
+end
+
+# Completion options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#7
+class LanguageServer::Protocol::Interface::CompletionOptions
+ # @return [CompletionOptions] a new instance of CompletionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#8
+ def initialize(work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), all_commit_characters: T.unsafe(nil), resolve_provider: T.unsafe(nil), completion_item: T.unsafe(nil)); end
+
+ # The list of all possible characters that commit a completion. This field
+ # can be used if clients don't support individual commit characters per
+ # completion item. See client capability
+ # `completion.completionItem.commitCharactersSupport`.
+ #
+ # If a server provides both `allCommitCharacters` and commit characters on
+ # an individual completion item the ones on the completion item win.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#53
+ def all_commit_characters; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#75
+ def attributes; end
+
+ # The server supports the following `CompletionItem` specific
+ # capabilities.
+ #
+ # @return [{ labelDetailsSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#71
+ def completion_item; end
+
+ # The server provides support to resolve additional
+ # information for a completion item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#62
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#77
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#81
+ def to_json(*args); end
+
+ # The additional characters, beyond the defaults provided by the client (typically
+ # [a-zA-Z]), that should automatically trigger a completion request. For example
+ # `.` in JavaScript represents the beginning of an object property or method and is
+ # thus a good candidate for triggering a completion request.
+ #
+ # Most tools trigger a completion request automatically without explicitly
+ # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they
+ # do so when the user starts to type an identifier. For example if the user
+ # types `c` in a JavaScript file code complete will automatically pop up
+ # present `console` besides others as a completion item. Characters that
+ # make up identifiers don't need to be listed here.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#39
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#21
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#4
+class LanguageServer::Protocol::Interface::CompletionParams
+ # @return [CompletionParams] a new instance of CompletionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), context: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#60
+ def attributes; end
+
+ # The completion context. This is only available if the client specifies
+ # to send this using the client capability
+ # `completion.contextSupport === true`
+ #
+ # @return [CompletionContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#56
+ def context; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#46
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#29
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#21
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#62
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#66
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#37
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CompletionRegistrationOptions
+ # @return [CompletionRegistrationOptions] a new instance of CompletionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), all_commit_characters: T.unsafe(nil), resolve_provider: T.unsafe(nil), completion_item: T.unsafe(nil)); end
+
+ # The list of all possible characters that commit a completion. This field
+ # can be used if clients don't support individual commit characters per
+ # completion item. See client capability
+ # `completion.completionItem.commitCharactersSupport`.
+ #
+ # If a server provides both `allCommitCharacters` and commit characters on
+ # an individual completion item the ones on the completion item win.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#60
+ def all_commit_characters; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#82
+ def attributes; end
+
+ # The server supports the following `CompletionItem` specific
+ # capabilities.
+ #
+ # @return [{ labelDetailsSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#78
+ def completion_item; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#23
+ def document_selector; end
+
+ # The server provides support to resolve additional
+ # information for a completion item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#69
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#84
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#88
+ def to_json(*args); end
+
+ # The additional characters, beyond the defaults provided by the client (typically
+ # [a-zA-Z]), that should automatically trigger a completion request. For example
+ # `.` in JavaScript represents the beginning of an object property or method and is
+ # thus a good candidate for triggering a completion request.
+ #
+ # Most tools trigger a completion request automatically without explicitly
+ # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they
+ # do so when the user starts to type an identifier. For example if the user
+ # types `c` in a JavaScript file code complete will automatically pop up
+ # present `console` besides others as a completion item. Characters that
+ # make up identifiers don't need to be listed here.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#46
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#28
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#4
+class LanguageServer::Protocol::Interface::ConfigurationItem
+ # @return [ConfigurationItem] a new instance of ConfigurationItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#5
+ def initialize(scope_uri: T.unsafe(nil), section: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#30
+ def attributes; end
+
+ # The scope to get the configuration section for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#18
+ def scope_uri; end
+
+ # The configuration section asked for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#26
+ def section; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#4
+class LanguageServer::Protocol::Interface::ConfigurationParams
+ # @return [ConfigurationParams] a new instance of ConfigurationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#5
+ def initialize(items:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#18
+ def attributes; end
+
+ # @return [ConfigurationItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#14
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#24
+ def to_json(*args); end
+end
+
+# Create file operation
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#7
+class LanguageServer::Protocol::Interface::CreateFile
+ # @return [CreateFile] a new instance of CreateFile
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#8
+ def initialize(kind:, uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end
+
+ # An optional annotation identifier describing the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#47
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#51
+ def attributes; end
+
+ # A create
+ #
+ # @return ["create"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#23
+ def kind; end
+
+ # Additional options
+ #
+ # @return [CreateFileOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#39
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#57
+ def to_json(*args); end
+
+ # The resource to create.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#31
+ def uri; end
+end
+
+# Options to create a file.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#7
+class LanguageServer::Protocol::Interface::CreateFileOptions
+ # @return [CreateFileOptions] a new instance of CreateFileOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#8
+ def initialize(overwrite: T.unsafe(nil), ignore_if_exists: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#33
+ def attributes; end
+
+ # Ignore if exists.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#29
+ def ignore_if_exists; end
+
+ # Overwrite existing file. Overwrite wins over `ignoreIfExists`
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#21
+ def overwrite; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#39
+ def to_json(*args); end
+end
+
+# The parameters sent in notifications/requests for user-initiated creation
+# of files.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#8
+class LanguageServer::Protocol::Interface::CreateFilesParams
+ # @return [CreateFilesParams] a new instance of CreateFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#9
+ def initialize(files:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#25
+ def attributes; end
+
+ # An array of all files/folders created in this operation.
+ #
+ # @return [FileCreate[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#21
+ def files; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DeclarationClientCapabilities
+ # @return [DeclarationClientCapabilities] a new instance of DeclarationClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#32
+ def attributes; end
+
+ # Whether declaration supports dynamic registration. If this is set to
+ # `true` the client supports the new `DeclarationRegistrationOptions`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of declaration links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#28
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#4
+class LanguageServer::Protocol::Interface::DeclarationOptions
+ # @return [DeclarationOptions] a new instance of DeclarationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#4
+class LanguageServer::Protocol::Interface::DeclarationParams
+ # @return [DeclarationParams] a new instance of DeclarationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DeclarationRegistrationOptions
+ # @return [DeclarationRegistrationOptions] a new instance of DeclarationRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#25
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#16
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DefinitionClientCapabilities
+ # @return [DefinitionClientCapabilities] a new instance of DefinitionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether definition supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#18
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of definition links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#26
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#4
+class LanguageServer::Protocol::Interface::DefinitionOptions
+ # @return [DefinitionOptions] a new instance of DefinitionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#4
+class LanguageServer::Protocol::Interface::DefinitionParams
+ # @return [DefinitionParams] a new instance of DefinitionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DefinitionRegistrationOptions
+ # @return [DefinitionRegistrationOptions] a new instance of DefinitionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# Delete file operation
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#7
+class LanguageServer::Protocol::Interface::DeleteFile
+ # @return [DeleteFile] a new instance of DeleteFile
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#8
+ def initialize(kind:, uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end
+
+ # An optional annotation identifier describing the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#47
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#51
+ def attributes; end
+
+ # A delete
+ #
+ # @return ["delete"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#23
+ def kind; end
+
+ # Delete options.
+ #
+ # @return [DeleteFileOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#39
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#57
+ def to_json(*args); end
+
+ # The file to delete.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#31
+ def uri; end
+end
+
+# Delete file options
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#7
+class LanguageServer::Protocol::Interface::DeleteFileOptions
+ # @return [DeleteFileOptions] a new instance of DeleteFileOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#8
+ def initialize(recursive: T.unsafe(nil), ignore_if_not_exists: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#33
+ def attributes; end
+
+ # Ignore the operation if the file doesn't exist.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#29
+ def ignore_if_not_exists; end
+
+ # Delete the content recursively if a folder is denoted.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#21
+ def recursive; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#39
+ def to_json(*args); end
+end
+
+# The parameters sent in notifications/requests for user-initiated deletes
+# of files.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#8
+class LanguageServer::Protocol::Interface::DeleteFilesParams
+ # @return [DeleteFilesParams] a new instance of DeleteFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#9
+ def initialize(files:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#25
+ def attributes; end
+
+ # An array of all files/folders deleted in this operation.
+ #
+ # @return [FileDelete[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#21
+ def files; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#4
+class LanguageServer::Protocol::Interface::Diagnostic
+ # @return [Diagnostic] a new instance of Diagnostic
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#5
+ def initialize(range:, message:, severity: T.unsafe(nil), code: T.unsafe(nil), code_description: T.unsafe(nil), source: T.unsafe(nil), tags: T.unsafe(nil), related_information: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#98
+ def attributes; end
+
+ # The diagnostic's code, which might appear in the user interface.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#42
+ def code; end
+
+ # An optional property to describe the error code.
+ #
+ # @return [CodeDescription]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#50
+ def code_description; end
+
+ # A data entry field that is preserved between a
+ # `textDocument/publishDiagnostics` notification and
+ # `textDocument/codeAction` request.
+ #
+ # @return [unknown]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#94
+ def data; end
+
+ # The diagnostic's message.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#67
+ def message; end
+
+ # The range at which the message applies.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#25
+ def range; end
+
+ # An array of related diagnostic information, e.g. when symbol-names within
+ # a scope collide all definitions can be marked via this property.
+ #
+ # @return [DiagnosticRelatedInformation[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#84
+ def related_information; end
+
+ # The diagnostic's severity. Can be omitted. If omitted it is up to the
+ # client to interpret diagnostics as error, warning, info or hint.
+ #
+ # @return [DiagnosticSeverity]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#34
+ def severity; end
+
+ # A human-readable string describing the source of this
+ # diagnostic, e.g. 'typescript' or 'super lint'.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#59
+ def source; end
+
+ # Additional metadata about the diagnostic.
+ #
+ # @return [DiagnosticTag[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#75
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#100
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#104
+ def to_json(*args); end
+end
+
+# Client capabilities specific to diagnostic pull requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticClientCapabilities
+ # @return [DiagnosticClientCapabilities] a new instance of DiagnosticClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil), related_document_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#37
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new
+ # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#24
+ def dynamic_registration; end
+
+ # Whether the clients supports related documents for document diagnostic
+ # pulls.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#33
+ def related_document_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#43
+ def to_json(*args); end
+end
+
+# Diagnostic options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticOptions
+ # @return [DiagnosticOptions] a new instance of DiagnosticOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#8
+ def initialize(inter_file_dependencies:, workspace_diagnostics:, work_done_progress: T.unsafe(nil), identifier: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#52
+ def attributes; end
+
+ # An optional identifier under which the diagnostics are
+ # managed by the client.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#29
+ def identifier; end
+
+ # Whether the language has inter file dependencies meaning that
+ # editing code in one file can result in a different diagnostic
+ # set in another file. Inter file dependencies are common for
+ # most programming languages and typically uncommon for linters.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#40
+ def inter_file_dependencies; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#58
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#20
+ def work_done_progress; end
+
+ # The server provides support for workspace diagnostics as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#48
+ def workspace_diagnostics; end
+end
+
+# Diagnostic registration options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticRegistrationOptions
+ # @return [DiagnosticRegistrationOptions] a new instance of DiagnosticRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#8
+ def initialize(document_selector:, inter_file_dependencies:, workspace_diagnostics:, work_done_progress: T.unsafe(nil), identifier: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#72
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#26
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#68
+ def id; end
+
+ # An optional identifier under which the diagnostics are
+ # managed by the client.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#40
+ def identifier; end
+
+ # Whether the language has inter file dependencies meaning that
+ # editing code in one file can result in a different diagnostic
+ # set in another file. Inter file dependencies are common for
+ # most programming languages and typically uncommon for linters.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#51
+ def inter_file_dependencies; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#74
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#78
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#31
+ def work_done_progress; end
+
+ # The server provides support for workspace diagnostics as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#59
+ def workspace_diagnostics; end
+end
+
+# Represents a related message and source code location for a diagnostic.
+# This should be used to point to code locations that cause or are related to
+# a diagnostics, e.g when duplicating a symbol in a scope.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#9
+class LanguageServer::Protocol::Interface::DiagnosticRelatedInformation
+ # @return [DiagnosticRelatedInformation] a new instance of DiagnosticRelatedInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#10
+ def initialize(location:, message:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#35
+ def attributes; end
+
+ # The location of this related diagnostic information.
+ #
+ # @return [Location]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#23
+ def location; end
+
+ # The message of this related diagnostic information.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#31
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#37
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#41
+ def to_json(*args); end
+end
+
+# Cancellation data returned from a diagnostic request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticServerCancellationData
+ # @return [DiagnosticServerCancellationData] a new instance of DiagnosticServerCancellationData
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#8
+ def initialize(retrigger_request:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#21
+ def attributes; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#17
+ def retrigger_request; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#27
+ def to_json(*args); end
+end
+
+# Workspace client capabilities specific to diagnostic pull requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticWorkspaceClientCapabilities
+ # @return [DiagnosticWorkspaceClientCapabilities] a new instance of DiagnosticWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#8
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # pulled diagnostics currently shown. It should be used with absolute care
+ # and is useful for situation where a server for example detects a project
+ # wide change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#26
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DidChangeConfigurationClientCapabilities
+ # @return [DidChangeConfigurationClientCapabilities] a new instance of DidChangeConfigurationClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#21
+ def attributes; end
+
+ # Did change configuration notification supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeConfigurationParams
+ # @return [DidChangeConfigurationParams] a new instance of DidChangeConfigurationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#5
+ def initialize(settings:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#21
+ def attributes; end
+
+ # The actual changed settings
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#17
+ def settings; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in a change notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidChangeNotebookDocumentParams
+ # @return [DidChangeNotebookDocumentParams] a new instance of DidChangeNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#8
+ def initialize(notebook_document:, change:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#44
+ def attributes; end
+
+ # The actual changes to the notebook document.
+ #
+ # The change describes single state change to the notebook document.
+ # So it moves a notebook document, its cells and its cell text document
+ # contents from state S to S'.
+ #
+ # To mirror the content of a notebook using change events use the
+ # following approach:
+ # - start with the same initial content
+ # - apply the 'notebookDocument/didChange' notifications in the order
+ # you receive them.
+ #
+ # @return [NotebookDocumentChangeEvent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#40
+ def change; end
+
+ # The notebook document that did change. The version number points
+ # to the version after all provided changes have been applied.
+ #
+ # @return [VersionedNotebookDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#22
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeTextDocumentParams
+ # @return [DidChangeTextDocumentParams] a new instance of DidChangeTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#5
+ def initialize(text_document:, content_changes:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#44
+ def attributes; end
+
+ # The actual content changes. The content changes describe single state
+ # changes to the document. So if there are two content changes c1 (at
+ # array index 0) and c2 (at array index 1) for a document in state S then
+ # c1 moves the document from S to S' and c2 from S' to S''. So c1 is
+ # computed on the state S and c2 is computed on the state S'.
+ #
+ # To mirror the content of a document using change events use the following
+ # approach:
+ # - start with the same initial content
+ # - apply the 'textDocument/didChange' notifications in the order you
+ # receive them.
+ # - apply the `TextDocumentContentChangeEvent`s in a single notification
+ # in the order you receive them.
+ #
+ # @return [TextDocumentContentChangeEvent[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#40
+ def content_changes; end
+
+ # The document that did change. The version number points
+ # to the version after all provided content changes have
+ # been applied.
+ #
+ # @return [VersionedTextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DidChangeWatchedFilesClientCapabilities
+ # @return [DidChangeWatchedFilesClientCapabilities] a new instance of DidChangeWatchedFilesClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), relative_pattern_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#33
+ def attributes; end
+
+ # Did change watched files notification supports dynamic registration.
+ # Please note that the current protocol doesn't support static
+ # configuration for file changes from the server side.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # Whether the client has support for relative patterns
+ # or not.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#29
+ def relative_pattern_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeWatchedFilesParams
+ # @return [DidChangeWatchedFilesParams] a new instance of DidChangeWatchedFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#5
+ def initialize(changes:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#21
+ def attributes; end
+
+ # The actual file events.
+ #
+ # @return [FileEvent[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#17
+ def changes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#27
+ def to_json(*args); end
+end
+
+# Describe options to be used when registering for file system change events.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#7
+class LanguageServer::Protocol::Interface::DidChangeWatchedFilesRegistrationOptions
+ # @return [DidChangeWatchedFilesRegistrationOptions] a new instance of DidChangeWatchedFilesRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#8
+ def initialize(watchers:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#30
+ def to_json(*args); end
+
+ # The watchers to register.
+ #
+ # @return [FileSystemWatcher[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#20
+ def watchers; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeWorkspaceFoldersParams
+ # @return [DidChangeWorkspaceFoldersParams] a new instance of DidChangeWorkspaceFoldersParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#5
+ def initialize(event:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#21
+ def attributes; end
+
+ # The actual workspace folder change event.
+ #
+ # @return [WorkspaceFoldersChangeEvent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#17
+ def event; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in a close notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidCloseNotebookDocumentParams
+ # @return [DidCloseNotebookDocumentParams] a new instance of DidCloseNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#8
+ def initialize(notebook_document:, cell_text_documents:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#34
+ def attributes; end
+
+ # The text documents that represent the content
+ # of a notebook cell that got closed.
+ #
+ # @return [TextDocumentIdentifier[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#30
+ def cell_text_documents; end
+
+ # The notebook document that got closed.
+ #
+ # @return [NotebookDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#21
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidCloseTextDocumentParams
+ # @return [DidCloseTextDocumentParams] a new instance of DidCloseTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#5
+ def initialize(text_document:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#21
+ def attributes; end
+
+ # The document that was closed.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#17
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in an open notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidOpenNotebookDocumentParams
+ # @return [DidOpenNotebookDocumentParams] a new instance of DidOpenNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#8
+ def initialize(notebook_document:, cell_text_documents:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#34
+ def attributes; end
+
+ # The text documents that represent the content
+ # of a notebook cell.
+ #
+ # @return [TextDocumentItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#30
+ def cell_text_documents; end
+
+ # The notebook document that got opened.
+ #
+ # @return [NotebookDocument]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#21
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidOpenTextDocumentParams
+ # @return [DidOpenTextDocumentParams] a new instance of DidOpenTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#5
+ def initialize(text_document:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#21
+ def attributes; end
+
+ # The document that was opened.
+ #
+ # @return [TextDocumentItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#17
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in a save notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidSaveNotebookDocumentParams
+ # @return [DidSaveNotebookDocumentParams] a new instance of DidSaveNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#8
+ def initialize(notebook_document:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#24
+ def attributes; end
+
+ # The notebook document that got saved.
+ #
+ # @return [NotebookDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#20
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidSaveTextDocumentParams
+ # @return [DidSaveTextDocumentParams] a new instance of DidSaveTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#5
+ def initialize(text_document:, text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#31
+ def attributes; end
+
+ # Optional the content when saved. Depends on the includeText value
+ # when the save notification was requested.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#27
+ def text; end
+
+ # The document that was saved.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#18
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorClientCapabilities
+ # @return [DocumentColorClientCapabilities] a new instance of DocumentColorClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether document color supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorOptions
+ # @return [DocumentColorOptions] a new instance of DocumentColorOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorParams
+ # @return [DocumentColorParams] a new instance of DocumentColorParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorRegistrationOptions
+ # @return [DocumentColorRegistrationOptions] a new instance of DocumentColorRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#5
+ def initialize(document_selector:, id: T.unsafe(nil), work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#29
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#34
+ def work_done_progress; end
+end
+
+# Parameters of the document diagnostic request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#7
+class LanguageServer::Protocol::Interface::DocumentDiagnosticParams
+ # @return [DocumentDiagnosticParams] a new instance of DocumentDiagnosticParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#8
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), identifier: T.unsafe(nil), previous_result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#61
+ def attributes; end
+
+ # The additional identifier provided during registration.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#49
+ def identifier; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#33
+ def partial_result_token; end
+
+ # The result id of a previous response if provided.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#57
+ def previous_result_id; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#41
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#67
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#24
+ def work_done_token; end
+end
+
+# A partial result for a document diagnostic report.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#7
+class LanguageServer::Protocol::Interface::DocumentDiagnosticReportPartialResult
+ # @return [DocumentDiagnosticReportPartialResult] a new instance of DocumentDiagnosticReportPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#8
+ def initialize(related_documents:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#21
+ def attributes; end
+
+ # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#17
+ def related_documents; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#4
+class LanguageServer::Protocol::Interface::DocumentFilter
+ # @return [DocumentFilter] a new instance of DocumentFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#5
+ def initialize(language: T.unsafe(nil), scheme: T.unsafe(nil), pattern: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#51
+ def attributes; end
+
+ # A language id, like `typescript`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#19
+ def language; end
+
+ # A glob pattern, like `*.{ts,js}`.
+ #
+ # Glob patterns can have the following syntax:
+ # - `*` to match one or more characters in a path segment
+ # - `?` to match on one character in a path segment
+ # - `**` to match any number of path segments, including none
+ # - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}`
+ # matches all TypeScript and JavaScript files)
+ # - `[]` to declare a range of characters to match in a path segment
+ # (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
+ # - `[!...]` to negate a range of characters to match in a path segment
+ # (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but
+ # not `example.0`)
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#47
+ def pattern; end
+
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#27
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#57
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingClientCapabilities
+ # @return [DocumentFormattingClientCapabilities] a new instance of DocumentFormattingClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether formatting supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingOptions
+ # @return [DocumentFormattingOptions] a new instance of DocumentFormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingParams
+ # @return [DocumentFormattingParams] a new instance of DocumentFormattingParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#5
+ def initialize(text_document:, options:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#39
+ def attributes; end
+
+ # The format options.
+ #
+ # @return [FormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#35
+ def options; end
+
+ # The document to format.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#27
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingRegistrationOptions
+ # @return [DocumentFormattingRegistrationOptions] a new instance of DocumentFormattingRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# A document highlight is a range inside a text document which deserves
+# special attention. Usually a document highlight is visualized by changing
+# the background color of its range.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#9
+class LanguageServer::Protocol::Interface::DocumentHighlight
+ # @return [DocumentHighlight] a new instance of DocumentHighlight
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#10
+ def initialize(range:, kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#35
+ def attributes; end
+
+ # The highlight kind, default is DocumentHighlightKind.Text.
+ #
+ # @return [DocumentHighlightKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#31
+ def kind; end
+
+ # The range this highlight applies to.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#23
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#37
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#41
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightClientCapabilities
+ # @return [DocumentHighlightClientCapabilities] a new instance of DocumentHighlightClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether document highlight supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightOptions
+ # @return [DocumentHighlightOptions] a new instance of DocumentHighlightOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightParams
+ # @return [DocumentHighlightParams] a new instance of DocumentHighlightParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightRegistrationOptions
+ # @return [DocumentHighlightRegistrationOptions] a new instance of DocumentHighlightRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# A document link is a range in a text document that links to an internal or
+# external resource, like another text document or a web site.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#8
+class LanguageServer::Protocol::Interface::DocumentLink
+ # @return [DocumentLink] a new instance of DocumentLink
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#9
+ def initialize(range:, target: T.unsafe(nil), tooltip: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#58
+ def attributes; end
+
+ # A data entry field that is preserved on a document link between a
+ # DocumentLinkRequest and a DocumentLinkResolveRequest.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#54
+ def data; end
+
+ # The range this link applies to.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#24
+ def range; end
+
+ # The uri this link points to. If missing a resolve request is sent later.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#32
+ def target; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#60
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#64
+ def to_json(*args); end
+
+ # The tooltip text when you hover over this link.
+ #
+ # If a tooltip is provided, is will be displayed in a string that includes
+ # instructions on how to trigger the link, such as `{0} (ctrl + click)`.
+ # The specific instructions vary depending on OS, user settings, and
+ # localization.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#45
+ def tooltip; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkClientCapabilities
+ # @return [DocumentLinkClientCapabilities] a new instance of DocumentLinkClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), tooltip_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether document link supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#18
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#36
+ def to_json(*args); end
+
+ # Whether the client supports the `tooltip` property on `DocumentLink`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#26
+ def tooltip_support; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkOptions
+ # @return [DocumentLinkOptions] a new instance of DocumentLinkOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#27
+ def attributes; end
+
+ # Document links have a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#23
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkParams
+ # @return [DocumentLinkParams] a new instance of DocumentLinkParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#28
+ def partial_result_token; end
+
+ # The document to provide document links for.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkRegistrationOptions
+ # @return [DocumentLinkRegistrationOptions] a new instance of DocumentLinkRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#37
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#20
+ def document_selector; end
+
+ # Document links have a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#33
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#43
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingClientCapabilities
+ # @return [DocumentOnTypeFormattingClientCapabilities] a new instance of DocumentOnTypeFormattingClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether on type formatting supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingOptions
+ # @return [DocumentOnTypeFormattingOptions] a new instance of DocumentOnTypeFormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#5
+ def initialize(first_trigger_character:, more_trigger_character: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#30
+ def attributes; end
+
+ # A character on which formatting should be triggered, like `{`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#18
+ def first_trigger_character; end
+
+ # More trigger characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#26
+ def more_trigger_character; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingParams
+ # @return [DocumentOnTypeFormattingParams] a new instance of DocumentOnTypeFormattingParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#5
+ def initialize(text_document:, position:, ch:, options:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#53
+ def attributes; end
+
+ # The character that has been typed that triggered the formatting
+ # on type request. That is not necessarily the last character that
+ # got inserted into the document since the client could auto insert
+ # characters as well (e.g. like automatic brace completion).
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#41
+ def ch; end
+
+ # The formatting options.
+ #
+ # @return [FormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#49
+ def options; end
+
+ # The position around which the on type formatting should happen.
+ # This is not necessarily the exact position where the character denoted
+ # by the property `ch` got typed.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#30
+ def position; end
+
+ # The document to format.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#55
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#59
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingRegistrationOptions
+ # @return [DocumentOnTypeFormattingRegistrationOptions] a new instance of DocumentOnTypeFormattingRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#5
+ def initialize(document_selector:, first_trigger_character:, more_trigger_character: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#40
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#20
+ def document_selector; end
+
+ # A character on which formatting should be triggered, like `{`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#28
+ def first_trigger_character; end
+
+ # More trigger characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#36
+ def more_trigger_character; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#46
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingClientCapabilities
+ # @return [DocumentRangeFormattingClientCapabilities] a new instance of DocumentRangeFormattingClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether formatting supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingOptions
+ # @return [DocumentRangeFormattingOptions] a new instance of DocumentRangeFormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingParams
+ # @return [DocumentRangeFormattingParams] a new instance of DocumentRangeFormattingParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#5
+ def initialize(text_document:, range:, options:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#48
+ def attributes; end
+
+ # The format options
+ #
+ # @return [FormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#44
+ def options; end
+
+ # The range to format
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#36
+ def range; end
+
+ # The document to format.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#28
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#50
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#54
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingRegistrationOptions
+ # @return [DocumentRangeFormattingRegistrationOptions] a new instance of DocumentRangeFormattingRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# Represents programming constructs like variables, classes, interfaces etc.
+# that appear in a document. Document symbols can be hierarchical and they
+# have two ranges: one that encloses its definition and one that points to its
+# most interesting range, e.g. the range of an identifier.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#10
+class LanguageServer::Protocol::Interface::DocumentSymbol
+ # @return [DocumentSymbol] a new instance of DocumentSymbol
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#11
+ def initialize(name:, kind:, range:, selection_range:, detail: T.unsafe(nil), tags: T.unsafe(nil), deprecated: T.unsafe(nil), children: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#96
+ def attributes; end
+
+ # Children of this symbol, e.g. properties of a class.
+ #
+ # @return [DocumentSymbol[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#92
+ def children; end
+
+ # Indicates if this symbol is deprecated.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#64
+ def deprecated; end
+
+ # More detail for this symbol, e.g the signature of a function.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#40
+ def detail; end
+
+ # The kind of this symbol.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#48
+ def kind; end
+
+ # The name of this symbol. Will be displayed in the user interface and
+ # therefore must not be an empty string or a string only consisting of
+ # white spaces.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#32
+ def name; end
+
+ # The range enclosing this symbol not including leading/trailing whitespace
+ # but everything else like comments. This information is typically used to
+ # determine if the clients cursor is inside the symbol to reveal in the
+ # symbol in the UI.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#75
+ def range; end
+
+ # The range that should be selected and revealed when this symbol is being
+ # picked, e.g. the name of a function. Must be contained by the `range`.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#84
+ def selection_range; end
+
+ # Tags for this document symbol.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#56
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#98
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#102
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolClientCapabilities
+ # @return [DocumentSymbolClientCapabilities] a new instance of DocumentSymbolClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), symbol_kind: T.unsafe(nil), hierarchical_document_symbol_support: T.unsafe(nil), tag_support: T.unsafe(nil), label_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#61
+ def attributes; end
+
+ # Whether document symbol supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#21
+ def dynamic_registration; end
+
+ # The client supports hierarchical document symbols.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#38
+ def hierarchical_document_symbol_support; end
+
+ # The client supports an additional label presented in the UI when
+ # registering a document symbol provider.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#57
+ def label_support; end
+
+ # Specific capabilities for the `SymbolKind` in the
+ # `textDocument/documentSymbol` request.
+ #
+ # @return [{ valueSet?: SymbolKind[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#30
+ def symbol_kind; end
+
+ # The client supports tags on `SymbolInformation`. Tags are supported on
+ # `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
+ # Clients supporting tags have to handle unknown tags gracefully.
+ #
+ # @return [{ valueSet: 1[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#48
+ def tag_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#67
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolOptions
+ # @return [DocumentSymbolOptions] a new instance of DocumentSymbolOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), label: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#28
+ def attributes; end
+
+ # A human-readable string that is shown when multiple outlines trees
+ # are shown for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#24
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolParams
+ # @return [DocumentSymbolParams] a new instance of DocumentSymbolParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolRegistrationOptions
+ # @return [DocumentSymbolRegistrationOptions] a new instance of DocumentSymbolRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), label: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#20
+ def document_selector; end
+
+ # A human-readable string that is shown when multiple outlines trees
+ # are shown for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#34
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ExecuteCommandClientCapabilities
+ # @return [ExecuteCommandClientCapabilities] a new instance of ExecuteCommandClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#21
+ def attributes; end
+
+ # Execute command supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#4
+class LanguageServer::Protocol::Interface::ExecuteCommandOptions
+ # @return [ExecuteCommandOptions] a new instance of ExecuteCommandOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#5
+ def initialize(commands:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#27
+ def attributes; end
+
+ # The commands to be executed on the server
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#23
+ def commands; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#4
+class LanguageServer::Protocol::Interface::ExecuteCommandParams
+ # @return [ExecuteCommandParams] a new instance of ExecuteCommandParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#5
+ def initialize(command:, work_done_token: T.unsafe(nil), arguments: T.unsafe(nil)); end
+
+ # Arguments that the command should be invoked with.
+ #
+ # @return [LSPAny[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#35
+ def arguments; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#39
+ def attributes; end
+
+ # The identifier of the actual command handler.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#27
+ def command; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#19
+ def work_done_token; end
+end
+
+# Execute command registration options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#7
+class LanguageServer::Protocol::Interface::ExecuteCommandRegistrationOptions
+ # @return [ExecuteCommandRegistrationOptions] a new instance of ExecuteCommandRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#8
+ def initialize(commands:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#30
+ def attributes; end
+
+ # The commands to be executed on the server
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#26
+ def commands; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#36
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#18
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#4
+class LanguageServer::Protocol::Interface::ExecutionSummary
+ # @return [ExecutionSummary] a new instance of ExecutionSummary
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#5
+ def initialize(execution_order:, success: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#33
+ def attributes; end
+
+ # A strict monotonically increasing value
+ # indicating the execution order of a cell
+ # inside a notebook.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#20
+ def execution_order; end
+
+ # Whether the execution was successful or
+ # not if known by the client.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#29
+ def success; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#39
+ def to_json(*args); end
+end
+
+# Represents information on a file/folder create.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#7
+class LanguageServer::Protocol::Interface::FileCreate
+ # @return [FileCreate] a new instance of FileCreate
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#8
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#30
+ def to_json(*args); end
+
+ # A file:// URI for the location of the file/folder being created.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#20
+ def uri; end
+end
+
+# Represents information on a file/folder delete.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#7
+class LanguageServer::Protocol::Interface::FileDelete
+ # @return [FileDelete] a new instance of FileDelete
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#8
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#30
+ def to_json(*args); end
+
+ # A file:// URI for the location of the file/folder being deleted.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#20
+ def uri; end
+end
+
+# An event describing a file change.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#7
+class LanguageServer::Protocol::Interface::FileEvent
+ # @return [FileEvent] a new instance of FileEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#8
+ def initialize(uri:, type:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#33
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#39
+ def to_json(*args); end
+
+ # The change type.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#29
+ def type; end
+
+ # The file's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#21
+ def uri; end
+end
+
+# A filter to describe in which file operation requests or notifications
+# the server is interested in.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#8
+class LanguageServer::Protocol::Interface::FileOperationFilter
+ # @return [FileOperationFilter] a new instance of FileOperationFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#9
+ def initialize(pattern:, scheme: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#34
+ def attributes; end
+
+ # The actual file operation pattern.
+ #
+ # @return [FileOperationPattern]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#30
+ def pattern; end
+
+ # A Uri like `file` or `untitled`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#22
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#40
+ def to_json(*args); end
+end
+
+# A pattern to describe in which file operation requests or notifications
+# the server is interested in.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#8
+class LanguageServer::Protocol::Interface::FileOperationPattern
+ # @return [FileOperationPattern] a new instance of FileOperationPattern
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#9
+ def initialize(glob:, matches: T.unsafe(nil), options: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#55
+ def attributes; end
+
+ # The glob pattern to match. Glob patterns can have the following syntax:
+ # - `*` to match one or more characters in a path segment
+ # - `?` to match on one character in a path segment
+ # - `**` to match any number of path segments, including none
+ # - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}`
+ # matches all TypeScript and JavaScript files)
+ # - `[]` to declare a range of characters to match in a path segment
+ # (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
+ # - `[!...]` to negate a range of characters to match in a path segment
+ # (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but
+ # not `example.0`)
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#33
+ def glob; end
+
+ # Whether to match files or folders with this pattern.
+ #
+ # Matches both if undefined.
+ #
+ # @return [FileOperationPatternKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#43
+ def matches; end
+
+ # Additional options used during matching.
+ #
+ # @return [FileOperationPatternOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#51
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#57
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#61
+ def to_json(*args); end
+end
+
+# Matching options for the file operation pattern.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#7
+class LanguageServer::Protocol::Interface::FileOperationPatternOptions
+ # @return [FileOperationPatternOptions] a new instance of FileOperationPatternOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#8
+ def initialize(ignore_case: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#24
+ def attributes; end
+
+ # The pattern should be matched ignoring casing.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#20
+ def ignore_case; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#30
+ def to_json(*args); end
+end
+
+# The options to register for file operations.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#7
+class LanguageServer::Protocol::Interface::FileOperationRegistrationOptions
+ # @return [FileOperationRegistrationOptions] a new instance of FileOperationRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#8
+ def initialize(filters:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#24
+ def attributes; end
+
+ # The actual filters.
+ #
+ # @return [FileOperationFilter[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#20
+ def filters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#30
+ def to_json(*args); end
+end
+
+# Represents information on a file/folder rename.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#7
+class LanguageServer::Protocol::Interface::FileRename
+ # @return [FileRename] a new instance of FileRename
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#8
+ def initialize(old_uri:, new_uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#33
+ def attributes; end
+
+ # A file:// URI for the new location of the file/folder being renamed.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#29
+ def new_uri; end
+
+ # A file:// URI for the original location of the file/folder being renamed.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#21
+ def old_uri; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#4
+class LanguageServer::Protocol::Interface::FileSystemWatcher
+ # @return [FileSystemWatcher] a new instance of FileSystemWatcher
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#5
+ def initialize(glob_pattern:, kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#33
+ def attributes; end
+
+ # The glob pattern to watch. See {@link GlobPattern glob pattern}
+ # for more detail.
+ #
+ # @return [GlobPattern]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#19
+ def glob_pattern; end
+
+ # The kind of events of interest. If omitted it defaults
+ # to WatchKind.Create | WatchKind.Change | WatchKind.Delete
+ # which is 7.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#29
+ def kind; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#39
+ def to_json(*args); end
+end
+
+# Represents a folding range. To be valid, start and end line must be bigger
+# than zero and smaller than the number of lines in the document. Clients
+# are free to ignore invalid ranges.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#9
+class LanguageServer::Protocol::Interface::FoldingRange
+ # @return [FoldingRange] a new instance of FoldingRange
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#10
+ def initialize(start_line:, end_line:, start_character: T.unsafe(nil), end_character: T.unsafe(nil), kind: T.unsafe(nil), collapsed_text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#82
+ def attributes; end
+
+ # The text that the client should show when the specified range is
+ # collapsed. If not defined or not supported by the client, a default
+ # will be chosen by the client.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#78
+ def collapsed_text; end
+
+ # The zero-based character offset before the folded range ends. If not
+ # defined, defaults to the length of the end line.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#57
+ def end_character; end
+
+ # The zero-based end line of the range to fold. The folded area ends with
+ # the line's last character. To be valid, the end must be zero or larger
+ # and smaller than the number of lines in the document.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#48
+ def end_line; end
+
+ # Describes the kind of the folding range such as `comment` or `region`.
+ # The kind is used to categorize folding ranges and used by commands like
+ # 'Fold all comments'. See [FoldingRangeKind](#FoldingRangeKind) for an
+ # enumeration of standardized kinds.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#68
+ def kind; end
+
+ # The zero-based character offset from where the folded range starts. If
+ # not defined, defaults to the length of the start line.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#38
+ def start_character; end
+
+ # The zero-based start line of the range to fold. The folded area starts
+ # after the line's last character. To be valid, the end must be zero or
+ # larger and smaller than the number of lines in the document.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#29
+ def start_line; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#84
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#88
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeClientCapabilities
+ # @return [FoldingRangeClientCapabilities] a new instance of FoldingRangeClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), range_limit: T.unsafe(nil), line_folding_only: T.unsafe(nil), folding_range_kind: T.unsafe(nil), folding_range: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#64
+ def attributes; end
+
+ # Whether implementation supports dynamic registration for folding range
+ # providers. If this is set to `true` the client supports the new
+ # `FoldingRangeRegistrationOptions` return value for the corresponding
+ # server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#24
+ def dynamic_registration; end
+
+ # Specific options for the folding range.
+ #
+ # @return [{ collapsedText?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#60
+ def folding_range; end
+
+ # Specific options for the folding range kind.
+ #
+ # @return [{ valueSet?: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#52
+ def folding_range_kind; end
+
+ # If set, the client signals that it only supports folding complete lines.
+ # If set, client will ignore specified `startCharacter` and `endCharacter`
+ # properties in a FoldingRange.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#44
+ def line_folding_only; end
+
+ # The maximum number of folding ranges that the client prefers to receive
+ # per document. The value serves as a hint, servers are free to follow the
+ # limit.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#34
+ def range_limit; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#66
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#70
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeOptions
+ # @return [FoldingRangeOptions] a new instance of FoldingRangeOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeParams
+ # @return [FoldingRangeParams] a new instance of FoldingRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeRegistrationOptions
+ # @return [FoldingRangeRegistrationOptions] a new instance of FoldingRangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# Value-object describing what options formatting should use.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#7
+class LanguageServer::Protocol::Interface::FormattingOptions
+ # @return [FormattingOptions] a new instance of FormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#8
+ def initialize(tab_size:, insert_spaces:, trim_trailing_whitespace: T.unsafe(nil), insert_final_newline: T.unsafe(nil), trim_final_newlines: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#60
+ def attributes; end
+
+ # Insert a newline character at the end of the file if one does not exist.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#48
+ def insert_final_newline; end
+
+ # Prefer spaces over tabs.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#32
+ def insert_spaces; end
+
+ # Size of a tab in spaces.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#24
+ def tab_size; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#62
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#66
+ def to_json(*args); end
+
+ # Trim all newlines after the final newline at the end of the file.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#56
+ def trim_final_newlines; end
+
+ # Trim trailing whitespace on a line.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#40
+ def trim_trailing_whitespace; end
+end
+
+# A diagnostic report with a full set of problems.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::FullDocumentDiagnosticReport
+ # @return [FullDocumentDiagnosticReport] a new instance of FullDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#8
+ def initialize(kind:, items:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#44
+ def attributes; end
+
+ # The actual items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#40
+ def items; end
+
+ # A full document diagnostic report.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#22
+ def kind; end
+
+ # An optional result id. If provided it will
+ # be sent on the next diagnostic request for the
+ # same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#32
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#50
+ def to_json(*args); end
+end
+
+# The result of a hover request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#7
+class LanguageServer::Protocol::Interface::Hover
+ # @return [Hover] a new instance of Hover
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#8
+ def initialize(contents:, range: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#34
+ def attributes; end
+
+ # The hover's content
+ #
+ # @return [MarkupContent | MarkedString | MarkedString[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#21
+ def contents; end
+
+ # An optional range is a range inside a text document
+ # that is used to visualize a hover, e.g. by changing the background color.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#30
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::HoverClientCapabilities
+ # @return [HoverClientCapabilities] a new instance of HoverClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), content_format: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#32
+ def attributes; end
+
+ # Client supports the follow content formats if the content
+ # property refers to a `literal of type MarkupContent`.
+ # The order describes the preferred format of the client.
+ #
+ # @return [MarkupKind[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#28
+ def content_format; end
+
+ # Whether hover supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#18
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#4
+class LanguageServer::Protocol::Interface::HoverOptions
+ # @return [HoverOptions] a new instance of HoverOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#4
+class LanguageServer::Protocol::Interface::HoverParams
+ # @return [HoverParams] a new instance of HoverParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#4
+class LanguageServer::Protocol::Interface::HoverRegistrationOptions
+ # @return [HoverRegistrationOptions] a new instance of HoverRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#4
+class LanguageServer::Protocol::Interface::HoverResult
+ # @return [HoverResult] a new instance of HoverResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#5
+ def initialize(value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#24
+ def to_json(*args); end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#14
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ImplementationClientCapabilities
+ # @return [ImplementationClientCapabilities] a new instance of ImplementationClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#32
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `ImplementationRegistrationOptions`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of definition links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#28
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#4
+class LanguageServer::Protocol::Interface::ImplementationOptions
+ # @return [ImplementationOptions] a new instance of ImplementationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#4
+class LanguageServer::Protocol::Interface::ImplementationParams
+ # @return [ImplementationParams] a new instance of ImplementationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#4
+class LanguageServer::Protocol::Interface::ImplementationRegistrationOptions
+ # @return [ImplementationRegistrationOptions] a new instance of ImplementationRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#4
+class LanguageServer::Protocol::Interface::InitializeError
+ # @return [InitializeError] a new instance of InitializeError
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#5
+ def initialize(retry:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#24
+ def attributes; end
+
+ # Indicates whether the client execute the following retry logic:
+ # (1) show the message provided by the ResponseError to the user
+ # (2) user selects retry or cancel
+ # (3) if user selected retry the initialize method is sent again.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#20
+ def retry; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#4
+class LanguageServer::Protocol::Interface::InitializeParams
+ # @return [InitializeParams] a new instance of InitializeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#5
+ def initialize(process_id:, root_uri:, capabilities:, work_done_token: T.unsafe(nil), client_info: T.unsafe(nil), locale: T.unsafe(nil), root_path: T.unsafe(nil), initialization_options: T.unsafe(nil), trace: T.unsafe(nil), workspace_folders: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#116
+ def attributes; end
+
+ # The capabilities provided by the client (editor or tool)
+ #
+ # @return [ClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#93
+ def capabilities; end
+
+ # Information about the client
+ #
+ # @return [{ name: string; version?: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#45
+ def client_info; end
+
+ # User provided initialization options.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#85
+ def initialization_options; end
+
+ # The locale the client is currently showing the user interface
+ # in. This must not necessarily be the locale of the operating
+ # system.
+ #
+ # Uses IETF language tags as the value's syntax
+ # (See https://en.wikipedia.org/wiki/IETF_language_tag)
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#58
+ def locale; end
+
+ # The process Id of the parent process that started the server. Is null if
+ # the process has not been started by another process. If the parent
+ # process is not alive then the server should exit (see exit notification)
+ # its process.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#37
+ def process_id; end
+
+ # The rootPath of the workspace. Is null
+ # if no folder is open.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#67
+ def root_path; end
+
+ # The rootUri of the workspace. Is null if no
+ # folder is open. If both `rootPath` and `rootUri` are set
+ # `rootUri` wins.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#77
+ def root_uri; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#118
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#122
+ def to_json(*args); end
+
+ # The initial trace setting. If omitted trace is disabled ('off').
+ #
+ # @return [TraceValue]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#101
+ def trace; end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#26
+ def work_done_token; end
+
+ # The workspace folders configured in the client when the server starts.
+ # This property is only available if the client supports workspace folders.
+ # It can be `null` if the client supports workspace folders but none are
+ # configured.
+ #
+ # @return [WorkspaceFolder[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#112
+ def workspace_folders; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#4
+class LanguageServer::Protocol::Interface::InitializeResult
+ # @return [InitializeResult] a new instance of InitializeResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#5
+ def initialize(capabilities:, server_info: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#30
+ def attributes; end
+
+ # The capabilities the language server provides.
+ #
+ # @return [ServerCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#18
+ def capabilities; end
+
+ # Information about the server.
+ #
+ # @return [{ name: string; version?: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#26
+ def server_info; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#4
+class LanguageServer::Protocol::Interface::InitializedParams
+ # @return [InitializedParams] a new instance of InitializedParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#5
+ def initialize; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#12
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#14
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#18
+ def to_json(*args); end
+end
+
+# Inlay hint information.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#7
+class LanguageServer::Protocol::Interface::InlayHint
+ # @return [InlayHint] a new instance of InlayHint
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#8
+ def initialize(position:, label:, kind: T.unsafe(nil), text_edits: T.unsafe(nil), tooltip: T.unsafe(nil), padding_left: T.unsafe(nil), padding_right: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#110
+ def attributes; end
+
+ # A data entry field that is preserved on an inlay hint between
+ # a `textDocument/inlayHint` and a `inlayHint/resolve` request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#106
+ def data; end
+
+ # The kind of this hint. Can be omitted in which case the client
+ # should fall back to a reasonable default.
+ #
+ # @return [InlayHintKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#47
+ def kind; end
+
+ # The label of this hint. A human readable string or an array of
+ # InlayHintLabelPart label parts.
+ #
+ # *Note* that neither the string nor the label part can be empty.
+ #
+ # @return [string | InlayHintLabelPart[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#38
+ def label; end
+
+ # Render padding before the hint.
+ #
+ # Note: Padding should use the editor's background color, not the
+ # background color of the hint itself. That means padding can be used
+ # to visually align/separate an inlay hint.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#85
+ def padding_left; end
+
+ # Render padding after the hint.
+ #
+ # Note: Padding should use the editor's background color, not the
+ # background color of the hint itself. That means padding can be used
+ # to visually align/separate an inlay hint.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#97
+ def padding_right; end
+
+ # The position of this hint.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#27
+ def position; end
+
+ # Optional text edits that are performed when accepting this inlay hint.
+ #
+ # *Note* that edits are expected to change the document so that the inlay
+ # hint (or its nearest variant) is now part of the document and the inlay
+ # hint itself is now obsolete.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [TextEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#62
+ def text_edits; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#112
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#116
+ def to_json(*args); end
+
+ # The tooltip text when you hover over this item.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#73
+ def tooltip; end
+end
+
+# Inlay hint client capabilities.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlayHintClientCapabilities
+ # @return [InlayHintClientCapabilities] a new instance of InlayHintClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil), resolve_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#34
+ def attributes; end
+
+ # Whether inlay hints support dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#21
+ def dynamic_registration; end
+
+ # Indicates which properties a client can resolve lazily on an inlay
+ # hint.
+ #
+ # @return [{ properties: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#30
+ def resolve_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#40
+ def to_json(*args); end
+end
+
+# An inlay hint label part allows for interactive and composite labels
+# of inlay hints.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#8
+class LanguageServer::Protocol::Interface::InlayHintLabelPart
+ # @return [InlayHintLabelPart] a new instance of InlayHintLabelPart
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#9
+ def initialize(value:, tooltip: T.unsafe(nil), location: T.unsafe(nil), command: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#67
+ def attributes; end
+
+ # An optional command for this label part.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#63
+ def command; end
+
+ # An optional source code location that represents this
+ # label part.
+ #
+ # The editor will use this location for the hover and for code navigation
+ # features: This part will become a clickable link that resolves to the
+ # definition of the symbol at the given location (not necessarily the
+ # location itself), it shows the hover that shows at the given location,
+ # and it shows a context menu with further code navigation commands.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [Location]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#52
+ def location; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#69
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#73
+ def to_json(*args); end
+
+ # The tooltip text when you hover over this label part. Depending on
+ # the client capability `inlayHint.resolveSupport` clients might resolve
+ # this property late using the resolve request.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#34
+ def tooltip; end
+
+ # The value of this label part.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#24
+ def value; end
+end
+
+# Inlay hint options used during static registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#7
+class LanguageServer::Protocol::Interface::InlayHintOptions
+ # @return [InlayHintOptions] a new instance of InlayHintOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#8
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#31
+ def attributes; end
+
+ # The server provides support to resolve additional
+ # information for an inlay hint item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#27
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#37
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#18
+ def work_done_progress; end
+end
+
+# A parameter literal used in inlay hint requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#7
+class LanguageServer::Protocol::Interface::InlayHintParams
+ # @return [InlayHintParams] a new instance of InlayHintParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#8
+ def initialize(text_document:, range:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#42
+ def attributes; end
+
+ # The visible document range for which inlay hints should be computed.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#38
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#30
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#44
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#48
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#22
+ def work_done_token; end
+end
+
+# Inlay hint options used during static or dynamic registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#7
+class LanguageServer::Protocol::Interface::InlayHintRegistrationOptions
+ # @return [InlayHintRegistrationOptions] a new instance of InlayHintRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#8
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#51
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#38
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#47
+ def id; end
+
+ # The server provides support to resolve additional
+ # information for an inlay hint item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#29
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#57
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#20
+ def work_done_progress; end
+end
+
+# Client workspace capabilities specific to inlay hints.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlayHintWorkspaceClientCapabilities
+ # @return [InlayHintWorkspaceClientCapabilities] a new instance of InlayHintWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#8
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # inlay hints currently shown. It should be used with absolute care and
+ # is useful for situation where a server for example detects a project wide
+ # change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#26
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# Client capabilities specific to inline values.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlineValueClientCapabilities
+ # @return [InlineValueClientCapabilities] a new instance of InlineValueClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#25
+ def attributes; end
+
+ # Whether implementation supports dynamic registration for inline
+ # value providers.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#21
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#4
+class LanguageServer::Protocol::Interface::InlineValueContext
+ # @return [InlineValueContext] a new instance of InlineValueContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#5
+ def initialize(frame_id:, stopped_location:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#32
+ def attributes; end
+
+ # The stack frame (as a DAP Id) where the execution has stopped.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#18
+ def frame_id; end
+
+ # The document range where execution has stopped.
+ # Typically the end position of the range denotes the line where the
+ # inline values are shown.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#28
+ def stopped_location; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#38
+ def to_json(*args); end
+end
+
+# Provide an inline value through an expression evaluation.
+#
+# If only a range is specified, the expression will be extracted from the
+# underlying document.
+#
+# An optional expression can be used to override the extracted expression.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#12
+class LanguageServer::Protocol::Interface::InlineValueEvaluatableExpression
+ # @return [InlineValueEvaluatableExpression] a new instance of InlineValueEvaluatableExpression
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#13
+ def initialize(range:, expression: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#40
+ def attributes; end
+
+ # If specified the expression overrides the extracted expression.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#36
+ def expression; end
+
+ # The document range for which the inline value applies.
+ # The range is used to extract the evaluatable expression from the
+ # underlying document.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#28
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#46
+ def to_json(*args); end
+end
+
+# Inline value options used during static registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#7
+class LanguageServer::Protocol::Interface::InlineValueOptions
+ # @return [InlineValueOptions] a new instance of InlineValueOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#8
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#27
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#17
+ def work_done_progress; end
+end
+
+# A parameter literal used in inline value requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#7
+class LanguageServer::Protocol::Interface::InlineValueParams
+ # @return [InlineValueParams] a new instance of InlineValueParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#8
+ def initialize(text_document:, range:, context:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#52
+ def attributes; end
+
+ # Additional information about the context in which inline values were
+ # requested.
+ #
+ # @return [InlineValueContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#48
+ def context; end
+
+ # The document range for which inline values should be computed.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#39
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#31
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#58
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#23
+ def work_done_token; end
+end
+
+# Inline value options used during static or dynamic registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#7
+class LanguageServer::Protocol::Interface::InlineValueRegistrationOptions
+ # @return [InlineValueRegistrationOptions] a new instance of InlineValueRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#8
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#41
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#28
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#37
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#43
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#47
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#19
+ def work_done_progress; end
+end
+
+# Provide inline value as text.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#7
+class LanguageServer::Protocol::Interface::InlineValueText
+ # @return [InlineValueText] a new instance of InlineValueText
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#8
+ def initialize(range:, text:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#33
+ def attributes; end
+
+ # The document range for which the inline value applies.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#21
+ def range; end
+
+ # The text of the inline value.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#29
+ def text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#39
+ def to_json(*args); end
+end
+
+# Provide inline value through a variable lookup.
+#
+# If only a range is specified, the variable name will be extracted from
+# the underlying document.
+#
+# An optional variable name can be used to override the extracted name.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#12
+class LanguageServer::Protocol::Interface::InlineValueVariableLookup
+ # @return [InlineValueVariableLookup] a new instance of InlineValueVariableLookup
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#13
+ def initialize(range:, case_sensitive_lookup:, variable_name: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#49
+ def attributes; end
+
+ # How to perform the lookup.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#45
+ def case_sensitive_lookup; end
+
+ # The document range for which the inline value applies.
+ # The range is used to extract the variable name from the underlying
+ # document.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#29
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#55
+ def to_json(*args); end
+
+ # If specified the name of the variable to look up.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#37
+ def variable_name; end
+end
+
+# Client workspace capabilities specific to inline values.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlineValueWorkspaceClientCapabilities
+ # @return [InlineValueWorkspaceClientCapabilities] a new instance of InlineValueWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#8
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # inline values currently shown. It should be used with absolute care and
+ # is useful for situation where a server for example detect a project wide
+ # change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#26
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# A special text edit to provide an insert and a replace operation.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#7
+class LanguageServer::Protocol::Interface::InsertReplaceEdit
+ # @return [InsertReplaceEdit] a new instance of InsertReplaceEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#8
+ def initialize(new_text:, insert:, replace:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#42
+ def attributes; end
+
+ # The range if the insert is requested
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#30
+ def insert; end
+
+ # The string to be inserted.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#22
+ def new_text; end
+
+ # The range if the replace is requested.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#38
+ def replace; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#44
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#48
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeClientCapabilities
+ # @return [LinkedEditingRangeClientCapabilities] a new instance of LinkedEditingRangeClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether the implementation supports dynamic registration.
+ # If this is set to `true` the client supports the new
+ # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeOptions
+ # @return [LinkedEditingRangeOptions] a new instance of LinkedEditingRangeOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeParams
+ # @return [LinkedEditingRangeParams] a new instance of LinkedEditingRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeRegistrationOptions
+ # @return [LinkedEditingRangeRegistrationOptions] a new instance of LinkedEditingRangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRanges
+ # @return [LinkedEditingRanges] a new instance of LinkedEditingRanges
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#5
+ def initialize(ranges:, word_pattern: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#34
+ def attributes; end
+
+ # A list of ranges that can be renamed together. The ranges must have
+ # identical length and contain identical text content. The ranges cannot
+ # overlap.
+ #
+ # @return [Range[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#20
+ def ranges; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#40
+ def to_json(*args); end
+
+ # An optional word pattern (regular expression) that describes valid
+ # contents for the given ranges. If no pattern is provided, the client
+ # configuration's word pattern will be used.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#30
+ def word_pattern; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/location.rb#4
+class LanguageServer::Protocol::Interface::Location
+ # @return [Location] a new instance of Location
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#5
+ def initialize(uri:, range:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#24
+ def attributes; end
+
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#20
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#30
+ def to_json(*args); end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#15
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#4
+class LanguageServer::Protocol::Interface::LocationLink
+ # @return [LocationLink] a new instance of LocationLink
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#5
+ def initialize(target_uri:, target_range:, target_selection_range:, origin_selection_range: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#56
+ def attributes; end
+
+ # Span of the origin of this link.
+ #
+ # Used as the underlined span for mouse interaction. Defaults to the word
+ # range at the mouse position.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#23
+ def origin_selection_range; end
+
+ # The full target range of this link. If the target for example is a symbol
+ # then target range is the range enclosing this symbol not including
+ # leading/trailing whitespace but everything else like comments. This
+ # information is typically used to highlight the range in the editor.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#42
+ def target_range; end
+
+ # The range that should be selected and revealed when this link is being
+ # followed, e.g the name of a function. Must be contained by the
+ # `targetRange`. See also `DocumentSymbol#range`
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#52
+ def target_selection_range; end
+
+ # The target resource identifier of this link.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#31
+ def target_uri; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#62
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#4
+class LanguageServer::Protocol::Interface::LogMessageParams
+ # @return [LogMessageParams] a new instance of LogMessageParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#5
+ def initialize(type:, message:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#30
+ def attributes; end
+
+ # The actual message
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#26
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#36
+ def to_json(*args); end
+
+ # The message type. See {@link MessageType}
+ #
+ # @return [MessageType]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#18
+ def type; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#4
+class LanguageServer::Protocol::Interface::LogTraceParams
+ # @return [LogTraceParams] a new instance of LogTraceParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#5
+ def initialize(message:, verbose: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#31
+ def attributes; end
+
+ # The message to be logged.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#18
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#37
+ def to_json(*args); end
+
+ # Additional information that can be computed if the `trace` configuration
+ # is set to `'verbose'`
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#27
+ def verbose; end
+end
+
+# A `MarkupContent` literal represents a string value which content is
+# interpreted base on its kind flag. Currently the protocol supports
+# `plaintext` and `markdown` as markup kinds.
+#
+# If the kind is `markdown` then the value can contain fenced code blocks like
+# in GitHub issues.
+#
+# Here is an example how such a string can be constructed using
+# JavaScript / TypeScript:
+# ```typescript
+# let markdown: MarkdownContent = {
+# kind: MarkupKind.Markdown,
+# value: [
+# '# Header',
+# 'Some text',
+# '```typescript',
+# 'someCode();',
+# '```'
+# ].join('\n')
+# };
+# ```
+#
+# *Please Note* that clients might sanitize the return markdown. A client could
+# decide to remove HTML from the markdown to avoid script execution.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#30
+class LanguageServer::Protocol::Interface::MarkupContent
+ # @return [MarkupContent] a new instance of MarkupContent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#31
+ def initialize(kind:, value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#56
+ def attributes; end
+
+ # The type of the Markup
+ #
+ # @return [MarkupKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#44
+ def kind; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#62
+ def to_json(*args); end
+
+ # The content itself
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#52
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/message.rb#4
+class LanguageServer::Protocol::Interface::Message
+ # @return [Message] a new instance of Message
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#5
+ def initialize(jsonrpc:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#18
+ def attributes; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#14
+ def jsonrpc; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#24
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#4
+class LanguageServer::Protocol::Interface::MessageActionItem
+ # @return [MessageActionItem] a new instance of MessageActionItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#5
+ def initialize(title:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#21
+ def attributes; end
+
+ # A short title like 'Retry', 'Open Log' etc.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#17
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#27
+ def to_json(*args); end
+end
+
+# Moniker definition to match LSIF 0.5 moniker definition.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#7
+class LanguageServer::Protocol::Interface::Moniker
+ # @return [Moniker] a new instance of Moniker
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#8
+ def initialize(scheme:, identifier:, unique:, kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#52
+ def attributes; end
+
+ # The identifier of the moniker. The value is opaque in LSIF however
+ # schema owners are allowed to define the structure if they want.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#32
+ def identifier; end
+
+ # The moniker kind if known.
+ #
+ # @return [MonikerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#48
+ def kind; end
+
+ # The scheme of the moniker. For example tsc or .Net
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#23
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#58
+ def to_json(*args); end
+
+ # The scope in which the moniker is unique
+ #
+ # @return [UniquenessLevel]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#40
+ def unique; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::MonikerClientCapabilities
+ # @return [MonikerClientCapabilities] a new instance of MonikerClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `(TextDocumentRegistrationOptions &
+ # StaticRegistrationOptions)` return value for the corresponding server
+ # capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#4
+class LanguageServer::Protocol::Interface::MonikerOptions
+ # @return [MonikerOptions] a new instance of MonikerOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#4
+class LanguageServer::Protocol::Interface::MonikerParams
+ # @return [MonikerParams] a new instance of MonikerParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#4
+class LanguageServer::Protocol::Interface::MonikerRegistrationOptions
+ # @return [MonikerRegistrationOptions] a new instance of MonikerRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# A notebook cell.
+#
+# A cell's document URI must be unique across ALL notebook
+# cells and can therefore be used to uniquely identify a
+# notebook cell or the cell's text document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#11
+class LanguageServer::Protocol::Interface::NotebookCell
+ # @return [NotebookCell] a new instance of NotebookCell
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#12
+ def initialize(kind:, document:, metadata: T.unsafe(nil), execution_summary: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#57
+ def attributes; end
+
+ # The URI of the cell's text document
+ # content.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#36
+ def document; end
+
+ # Additional execution summary information
+ # if supported by the client.
+ #
+ # @return [ExecutionSummary]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#53
+ def execution_summary; end
+
+ # The cell's kind
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#27
+ def kind; end
+
+ # Additional metadata stored with the cell.
+ #
+ # @return [LSPObject]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#44
+ def metadata; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#63
+ def to_json(*args); end
+end
+
+# A change describing how to move a `NotebookCell`
+# array from state S to S'.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#8
+class LanguageServer::Protocol::Interface::NotebookCellArrayChange
+ # @return [NotebookCellArrayChange] a new instance of NotebookCellArrayChange
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#9
+ def initialize(start:, delete_count:, cells: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#43
+ def attributes; end
+
+ # The new cells, if any
+ #
+ # @return [NotebookCell[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#39
+ def cells; end
+
+ # The deleted cells
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#31
+ def delete_count; end
+
+ # The start offset of the cell that changed.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#23
+ def start; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#45
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#49
+ def to_json(*args); end
+end
+
+# A notebook cell text document filter denotes a cell text
+# document by different properties.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#8
+class LanguageServer::Protocol::Interface::NotebookCellTextDocumentFilter
+ # @return [NotebookCellTextDocumentFilter] a new instance of NotebookCellTextDocumentFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#9
+ def initialize(notebook:, language: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#40
+ def attributes; end
+
+ # A language id like `python`.
+ #
+ # Will be matched against the language id of the
+ # notebook cell document. '*' matches every language.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#36
+ def language; end
+
+ # A filter that matches against the notebook
+ # containing the notebook cell. If a string
+ # value is provided it matches against the
+ # notebook type. '*' matches every notebook.
+ #
+ # @return [string | NotebookDocumentFilter]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#25
+ def notebook; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#46
+ def to_json(*args); end
+end
+
+# A notebook document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocument
+ # @return [NotebookDocument] a new instance of NotebookDocument
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#8
+ def initialize(uri:, notebook_type:, version:, cells:, metadata: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#62
+ def attributes; end
+
+ # The cells of a notebook.
+ #
+ # @return [NotebookCell[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#58
+ def cells; end
+
+ # Additional metadata stored with the notebook
+ # document.
+ #
+ # @return [LSPObject]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#50
+ def metadata; end
+
+ # The type of the notebook.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#32
+ def notebook_type; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#64
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#68
+ def to_json(*args); end
+
+ # The notebook document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#24
+ def uri; end
+
+ # The version number of this document (it will increase after each
+ # change, including undo/redo).
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#41
+ def version; end
+end
+
+# A change event for a notebook document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentChangeEvent
+ # @return [NotebookDocumentChangeEvent] a new instance of NotebookDocumentChangeEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#8
+ def initialize(metadata: T.unsafe(nil), cells: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#33
+ def attributes; end
+
+ # Changes to cells
+ #
+ # @return [{ structure?: { array: NotebookCellArrayChange; didOpen?: TextDocumentItem[]; didClose?: TextDocumentIdentifier[]; }; data?: NotebookCell[]; textContent?: { ...; }[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#29
+ def cells; end
+
+ # The changed meta data if any.
+ #
+ # @return [LSPObject]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#21
+ def metadata; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#39
+ def to_json(*args); end
+end
+
+# Capabilities specific to the notebook document support.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentClientCapabilities
+ # @return [NotebookDocumentClientCapabilities] a new instance of NotebookDocumentClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#8
+ def initialize(synchronization:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#24
+ def attributes; end
+
+ # Capabilities specific to notebook document synchronization
+ #
+ # @return [NotebookDocumentSyncClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#20
+ def synchronization; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# A notebook document filter denotes a notebook document by
+# different properties.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#8
+class LanguageServer::Protocol::Interface::NotebookDocumentFilter
+ # @return [NotebookDocumentFilter] a new instance of NotebookDocumentFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#9
+ def initialize(notebook_type: T.unsafe(nil), scheme: T.unsafe(nil), pattern: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#67
+ def attributes; end
+
+ # The type of the enclosing notebook.
+ #
+ # --- OR ---
+ #
+ # The type of the enclosing notebook.
+ #
+ # --- OR ---
+ #
+ # The type of the enclosing notebook.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#31
+ def notebook_type; end
+
+ # A glob pattern.
+ #
+ # --- OR ---
+ #
+ # A glob pattern.
+ #
+ # --- OR ---
+ #
+ # A glob pattern.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#63
+ def pattern; end
+
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # --- OR ---
+ #
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # --- OR ---
+ #
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#47
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#69
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#73
+ def to_json(*args); end
+end
+
+# A literal to identify a notebook document in the client.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentIdentifier
+ # @return [NotebookDocumentIdentifier] a new instance of NotebookDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#8
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#30
+ def to_json(*args); end
+
+ # The notebook document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#20
+ def uri; end
+end
+
+# Notebook specific client capabilities.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentSyncClientCapabilities
+ # @return [NotebookDocumentSyncClientCapabilities] a new instance of NotebookDocumentSyncClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil), execution_summary_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#36
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is
+ # set to `true` the client supports the new
+ # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#24
+ def dynamic_registration; end
+
+ # The client supports sending execution summary data per cell.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#32
+ def execution_summary_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#42
+ def to_json(*args); end
+end
+
+# Options specific to a notebook plus its cells
+# to be synced to the server.
+#
+# If a selector provides a notebook document
+# filter but no cell selector all cells of a
+# matching notebook document will be synced.
+#
+# If a selector provides no notebook document
+# filter but only a cell selector all notebook
+# documents that contain at least one matching
+# cell will be synced.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#17
+class LanguageServer::Protocol::Interface::NotebookDocumentSyncOptions
+ # @return [NotebookDocumentSyncOptions] a new instance of NotebookDocumentSyncOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#18
+ def initialize(notebook_selector:, save: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#44
+ def attributes; end
+
+ # The notebooks to be synced
+ #
+ # @return [({ notebook: string | NotebookDocumentFilter; cells?: { language: string; }[]; } | { notebook?: string | NotebookDocumentFilter; cells: { ...; }[]; })[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#31
+ def notebook_selector; end
+
+ # Whether save notification should be forwarded to
+ # the server. Will only be honored if mode === `notebook`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#40
+ def save; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#50
+ def to_json(*args); end
+end
+
+# Registration options specific to a notebook.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentSyncRegistrationOptions
+ # @return [NotebookDocumentSyncRegistrationOptions] a new instance of NotebookDocumentSyncRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#8
+ def initialize(notebook_selector:, save: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#44
+ def attributes; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#40
+ def id; end
+
+ # The notebooks to be synced
+ #
+ # @return [({ notebook: string | NotebookDocumentFilter; cells?: { language: string; }[]; } | { notebook?: string | NotebookDocumentFilter; cells: { ...; }[]; })[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#22
+ def notebook_selector; end
+
+ # Whether save notification should be forwarded to
+ # the server. Will only be honored if mode === `notebook`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#31
+ def save; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#4
+class LanguageServer::Protocol::Interface::NotificationMessage
+ # @return [NotificationMessage] a new instance of NotificationMessage
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#5
+ def initialize(jsonrpc:, method:, params: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#36
+ def attributes; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#16
+ def jsonrpc; end
+
+ # The method to be invoked.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#24
+ def method; end
+
+ # The notification's params.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#32
+ def params; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#42
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#4
+class LanguageServer::Protocol::Interface::OptionalVersionedTextDocumentIdentifier
+ # @return [OptionalVersionedTextDocumentIdentifier] a new instance of OptionalVersionedTextDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#5
+ def initialize(uri:, version:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#38
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#44
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#18
+ def uri; end
+
+ # The version number of this document. If an optional versioned text document
+ # identifier is sent from the server to the client and the file is not
+ # open in the editor (the server has not received an open notification
+ # before) the server can send `null` to indicate that the version is
+ # known and the content on disk is the master (as specified with document
+ # content ownership).
+ #
+ # The version number of a document will increase after each change,
+ # including undo/redo. The number doesn't need to be consecutive.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#34
+ def version; end
+end
+
+# Represents a parameter of a callable-signature. A parameter can
+# have a label and a doc-comment.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#8
+class LanguageServer::Protocol::Interface::ParameterInformation
+ # @return [ParameterInformation] a new instance of ParameterInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#9
+ def initialize(label:, documentation: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#44
+ def attributes; end
+
+ # The human-readable doc-comment of this parameter. Will be shown
+ # in the UI but can be omitted.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#40
+ def documentation; end
+
+ # The label of this parameter information.
+ #
+ # Either a string or an inclusive start and exclusive end offsets within
+ # its containing signature label. (see SignatureInformation.label). The
+ # offsets are based on a UTF-16 string representation as `Position` and
+ # `Range` does.
+ #
+ # *Note*: a label of type string should be a substring of its containing
+ # signature label. Its intended use case is to highlight the parameter
+ # label part in the `SignatureInformation.label`.
+ #
+ # @return [string | [number, number]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#31
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#4
+class LanguageServer::Protocol::Interface::PartialResultParams
+ # @return [PartialResultParams] a new instance of PartialResultParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#5
+ def initialize(partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#22
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#18
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#24
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#28
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/position.rb#4
+class LanguageServer::Protocol::Interface::Position
+ # @return [Position] a new instance of Position
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#5
+ def initialize(line:, character:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#34
+ def attributes; end
+
+ # Character offset on a line in a document (zero-based). The meaning of this
+ # offset is determined by the negotiated `PositionEncodingKind`.
+ #
+ # If the character value is greater than the line length it defaults back
+ # to the line length.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#30
+ def character; end
+
+ # Line position in a document (zero-based).
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#18
+ def line; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#4
+class LanguageServer::Protocol::Interface::PrepareRenameParams
+ # @return [PrepareRenameParams] a new instance of PrepareRenameParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#35
+ def work_done_token; end
+end
+
+# A previous result id in a workspace pull request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#7
+class LanguageServer::Protocol::Interface::PreviousResultId
+ # @return [PreviousResultId] a new instance of PreviousResultId
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#8
+ def initialize(uri:, value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#34
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#40
+ def to_json(*args); end
+
+ # The URI for which the client knows a
+ # result id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#22
+ def uri; end
+
+ # The value of the previous result id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#30
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#4
+class LanguageServer::Protocol::Interface::ProgressParams
+ # @return [ProgressParams] a new instance of ProgressParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#5
+ def initialize(token:, value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#30
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#36
+ def to_json(*args); end
+
+ # The progress token provided by the client or server.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#18
+ def token; end
+
+ # The progress data.
+ #
+ # @return [T]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#26
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::PublishDiagnosticsClientCapabilities
+ # @return [PublishDiagnosticsClientCapabilities] a new instance of PublishDiagnosticsClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#5
+ def initialize(related_information: T.unsafe(nil), tag_support: T.unsafe(nil), version_support: T.unsafe(nil), code_description_support: T.unsafe(nil), data_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#61
+ def attributes; end
+
+ # Client supports a codeDescription property
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#47
+ def code_description_support; end
+
+ # Whether code action supports the `data` property which is
+ # preserved between a `textDocument/publishDiagnostics` and
+ # `textDocument/codeAction` request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#57
+ def data_support; end
+
+ # Whether the clients accepts diagnostics with related information.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#21
+ def related_information; end
+
+ # Client supports the tag property to provide meta data about a diagnostic.
+ # Clients supporting tags have to handle unknown tags gracefully.
+ #
+ # @return [{ valueSet: DiagnosticTag[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#30
+ def tag_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#67
+ def to_json(*args); end
+
+ # Whether the client interprets the version property of the
+ # `textDocument/publishDiagnostics` notification's parameter.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#39
+ def version_support; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#4
+class LanguageServer::Protocol::Interface::PublishDiagnosticsParams
+ # @return [PublishDiagnosticsParams] a new instance of PublishDiagnosticsParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#5
+ def initialize(uri:, diagnostics:, version: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#40
+ def attributes; end
+
+ # An array of diagnostic information items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#36
+ def diagnostics; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#46
+ def to_json(*args); end
+
+ # The URI for which diagnostic information is reported.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#19
+ def uri; end
+
+ # Optional the version number of the document the diagnostics are published
+ # for.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#28
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/range.rb#4
+class LanguageServer::Protocol::Interface::Range
+ # @return [Range] a new instance of Range
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#5
+ def initialize(start:, end:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#30
+ def attributes; end
+
+ # The range's end position.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#26
+ def end; end
+
+ # The range's start position.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#18
+ def start; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ReferenceClientCapabilities
+ # @return [ReferenceClientCapabilities] a new instance of ReferenceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether references supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#4
+class LanguageServer::Protocol::Interface::ReferenceContext
+ # @return [ReferenceContext] a new instance of ReferenceContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#5
+ def initialize(include_declaration:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#21
+ def attributes; end
+
+ # Include the declaration of the current symbol.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#17
+ def include_declaration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#4
+class LanguageServer::Protocol::Interface::ReferenceOptions
+ # @return [ReferenceOptions] a new instance of ReferenceOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#4
+class LanguageServer::Protocol::Interface::ReferenceParams
+ # @return [ReferenceParams] a new instance of ReferenceParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#5
+ def initialize(text_document:, position:, context:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#55
+ def attributes; end
+
+ # @return [ReferenceContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#51
+ def context; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#46
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#29
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#21
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#57
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#61
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#37
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#4
+class LanguageServer::Protocol::Interface::ReferenceRegistrationOptions
+ # @return [ReferenceRegistrationOptions] a new instance of ReferenceRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# General parameters to register for a capability.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#7
+class LanguageServer::Protocol::Interface::Registration
+ # @return [Registration] a new instance of Registration
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#8
+ def initialize(id:, method:, register_options: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#43
+ def attributes; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#23
+ def id; end
+
+ # The method / capability to register for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#31
+ def method; end
+
+ # Options necessary for the registration.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#39
+ def register_options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#45
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#49
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#4
+class LanguageServer::Protocol::Interface::RegistrationParams
+ # @return [RegistrationParams] a new instance of RegistrationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#5
+ def initialize(registrations:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#18
+ def attributes; end
+
+ # @return [Registration[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#14
+ def registrations; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#24
+ def to_json(*args); end
+end
+
+# Client capabilities specific to regular expressions.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::RegularExpressionsClientCapabilities
+ # @return [RegularExpressionsClientCapabilities] a new instance of RegularExpressionsClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#8
+ def initialize(engine:, version: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#33
+ def attributes; end
+
+ # The engine's name.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#21
+ def engine; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#39
+ def to_json(*args); end
+
+ # The engine's version.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#29
+ def version; end
+end
+
+# A full diagnostic report with a set of related documents.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::RelatedFullDocumentDiagnosticReport
+ # @return [RelatedFullDocumentDiagnosticReport] a new instance of RelatedFullDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#8
+ def initialize(kind:, items:, result_id: T.unsafe(nil), related_documents: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#57
+ def attributes; end
+
+ # The actual items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#41
+ def items; end
+
+ # A full document diagnostic report.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#23
+ def kind; end
+
+ # Diagnostics of related documents. This information is useful
+ # in programming languages where code in a file A can generate
+ # diagnostics in a file B which A depends on. An example of
+ # such a language is C/C++ where marco definitions in a file
+ # a.cpp and result in errors in a header file b.hpp.
+ #
+ # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#53
+ def related_documents; end
+
+ # An optional result id. If provided it will
+ # be sent on the next diagnostic request for the
+ # same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#33
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#63
+ def to_json(*args); end
+end
+
+# An unchanged diagnostic report with a set of related documents.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::RelatedUnchangedDocumentDiagnosticReport
+ # @return [RelatedUnchangedDocumentDiagnosticReport] a new instance of RelatedUnchangedDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#8
+ def initialize(kind:, result_id:, related_documents: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#50
+ def attributes; end
+
+ # A document diagnostic report indicating
+ # no changes to the last result. A server can
+ # only return `unchanged` if result ids are
+ # provided.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#25
+ def kind; end
+
+ # Diagnostics of related documents. This information is useful
+ # in programming languages where code in a file A can generate
+ # diagnostics in a file B which A depends on. An example of
+ # such a language is C/C++ where marco definitions in a file
+ # a.cpp and result in errors in a header file b.hpp.
+ #
+ # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#46
+ def related_documents; end
+
+ # A result id which will be sent on the next
+ # diagnostic request for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#34
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#56
+ def to_json(*args); end
+end
+
+# A relative pattern is a helper to construct glob patterns that are matched
+# relatively to a base URI. The common value for a `baseUri` is a workspace
+# folder root, but it can be another absolute URI as well.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#9
+class LanguageServer::Protocol::Interface::RelativePattern
+ # @return [RelativePattern] a new instance of RelativePattern
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#10
+ def initialize(base_uri:, pattern:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#36
+ def attributes; end
+
+ # A workspace folder or a base URI to which this pattern will be matched
+ # against relatively.
+ #
+ # @return [string | WorkspaceFolder]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#24
+ def base_uri; end
+
+ # The actual glob pattern;
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#32
+ def pattern; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#42
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::RenameClientCapabilities
+ # @return [RenameClientCapabilities] a new instance of RenameClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), prepare_support: T.unsafe(nil), prepare_support_default_behavior: T.unsafe(nil), honors_change_annotations: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#57
+ def attributes; end
+
+ # Whether rename supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # Whether the client honors the change annotations in
+ # text edits and resource operations returned via the
+ # rename request's workspace edit by for example presenting
+ # the workspace edit in the user interface and asking
+ # for confirmation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#53
+ def honors_change_annotations; end
+
+ # Client supports testing for validity of rename operations
+ # before execution.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#29
+ def prepare_support; end
+
+ # Client supports the default behavior result
+ # (`{ defaultBehavior: boolean }`).
+ #
+ # The value indicates the default behavior used by the
+ # client.
+ #
+ # @return [1]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#41
+ def prepare_support_default_behavior; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#63
+ def to_json(*args); end
+end
+
+# Rename file operation
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#7
+class LanguageServer::Protocol::Interface::RenameFile
+ # @return [RenameFile] a new instance of RenameFile
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#8
+ def initialize(kind:, old_uri:, new_uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end
+
+ # An optional annotation identifier describing the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#56
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#60
+ def attributes; end
+
+ # A rename
+ #
+ # @return ["rename"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#24
+ def kind; end
+
+ # The new location.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#40
+ def new_uri; end
+
+ # The old (existing) location.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#32
+ def old_uri; end
+
+ # Rename options.
+ #
+ # @return [RenameFileOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#48
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#62
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#66
+ def to_json(*args); end
+end
+
+# Rename file options
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#7
+class LanguageServer::Protocol::Interface::RenameFileOptions
+ # @return [RenameFileOptions] a new instance of RenameFileOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#8
+ def initialize(overwrite: T.unsafe(nil), ignore_if_exists: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#33
+ def attributes; end
+
+ # Ignores if target exists.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#29
+ def ignore_if_exists; end
+
+ # Overwrite target if existing. Overwrite wins over `ignoreIfExists`
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#21
+ def overwrite; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#39
+ def to_json(*args); end
+end
+
+# The parameters sent in notifications/requests for user-initiated renames
+# of files.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#8
+class LanguageServer::Protocol::Interface::RenameFilesParams
+ # @return [RenameFilesParams] a new instance of RenameFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#9
+ def initialize(files:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#26
+ def attributes; end
+
+ # An array of all files/folders renamed in this operation. When a folder
+ # is renamed, only the folder will be included, and not its children.
+ #
+ # @return [FileRename[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#22
+ def files; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#28
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#32
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#4
+class LanguageServer::Protocol::Interface::RenameOptions
+ # @return [RenameOptions] a new instance of RenameOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), prepare_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#27
+ def attributes; end
+
+ # Renames should be checked and tested before being executed.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#23
+ def prepare_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#4
+class LanguageServer::Protocol::Interface::RenameParams
+ # @return [RenameParams] a new instance of RenameParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#5
+ def initialize(text_document:, position:, new_name:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#50
+ def attributes; end
+
+ # The new name of the symbol. If the given name is not valid the
+ # request must return a [ResponseError](#ResponseError) with an
+ # appropriate message set.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#46
+ def new_name; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#56
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#4
+class LanguageServer::Protocol::Interface::RenameRegistrationOptions
+ # @return [RenameRegistrationOptions] a new instance of RenameRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), prepare_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#37
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#20
+ def document_selector; end
+
+ # Renames should be checked and tested before being executed.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#33
+ def prepare_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#43
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#4
+class LanguageServer::Protocol::Interface::RequestMessage
+ # @return [RequestMessage] a new instance of RequestMessage
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#5
+ def initialize(jsonrpc:, id:, method:, params: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#45
+ def attributes; end
+
+ # The request id.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#25
+ def id; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#17
+ def jsonrpc; end
+
+ # The method to be invoked.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#33
+ def method; end
+
+ # The method's params.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#41
+ def params; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#47
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#51
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#4
+class LanguageServer::Protocol::Interface::ResponseError
+ # @return [ResponseError] a new instance of ResponseError
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#5
+ def initialize(code:, message:, data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#40
+ def attributes; end
+
+ # A number indicating the error type that occurred.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#19
+ def code; end
+
+ # A primitive or structured value that contains additional
+ # information about the error. Can be omitted.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#36
+ def data; end
+
+ # A string providing a short description of the error.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#27
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#46
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#4
+class LanguageServer::Protocol::Interface::ResponseMessage
+ # @return [ResponseMessage] a new instance of ResponseMessage
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#5
+ def initialize(jsonrpc:, id:, result: T.unsafe(nil), error: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#46
+ def attributes; end
+
+ # The error object in case a request fails.
+ #
+ # @return [ResponseError]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#42
+ def error; end
+
+ # The request id.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#25
+ def id; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#17
+ def jsonrpc; end
+
+ # The result of a request. This member is REQUIRED on success.
+ # This member MUST NOT exist if there was an error invoking the method.
+ #
+ # @return [string | number | boolean | object]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#34
+ def result; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#48
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#52
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#4
+class LanguageServer::Protocol::Interface::SaveOptions
+ # @return [SaveOptions] a new instance of SaveOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#5
+ def initialize(include_text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#21
+ def attributes; end
+
+ # The client is supposed to include the content on save.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#17
+ def include_text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#4
+class LanguageServer::Protocol::Interface::SelectionRange
+ # @return [SelectionRange] a new instance of SelectionRange
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#5
+ def initialize(range:, parent: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#31
+ def attributes; end
+
+ # The parent selection range containing this range. Therefore
+ # `parent.range` must contain `this.range`.
+ #
+ # @return [SelectionRange]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#27
+ def parent; end
+
+ # The [range](#Range) of this selection range.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#18
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeClientCapabilities
+ # @return [SelectionRangeClientCapabilities] a new instance of SelectionRangeClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether implementation supports dynamic registration for selection range
+ # providers. If this is set to `true` the client supports the new
+ # `SelectionRangeRegistrationOptions` return value for the corresponding
+ # server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeOptions
+ # @return [SelectionRangeOptions] a new instance of SelectionRangeOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeParams
+ # @return [SelectionRangeParams] a new instance of SelectionRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#5
+ def initialize(text_document:, positions:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#29
+ def partial_result_token; end
+
+ # The positions inside the text document.
+ #
+ # @return [Position[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#45
+ def positions; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#37
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeRegistrationOptions
+ # @return [SelectionRangeRegistrationOptions] a new instance of SelectionRangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#25
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#16
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokens
+ # @return [SemanticTokens] a new instance of SemanticTokens
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#5
+ def initialize(data:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#33
+ def attributes; end
+
+ # The actual tokens.
+ #
+ # @return [number[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#29
+ def data; end
+
+ # An optional result id. If provided and clients support delta updating
+ # the client will include the result id in the next semantic token request.
+ # A server can then instead of computing all semantic tokens again simply
+ # send a delta.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#21
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensClientCapabilities
+ # @return [SemanticTokensClientCapabilities] a new instance of SemanticTokensClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#5
+ def initialize(requests:, token_types:, token_modifiers:, formats:, dynamic_registration: T.unsafe(nil), overlapping_token_support: T.unsafe(nil), multiline_token_support: T.unsafe(nil), server_cancel_support: T.unsafe(nil), augments_syntax_tokens: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#113
+ def attributes; end
+
+ # Whether the client uses semantic tokens to augment existing
+ # syntax tokens. If set to `true` client side created syntax
+ # tokens and semantic tokens are both used for colorization. If
+ # set to `false` the client only uses the returned semantic tokens
+ # for colorization.
+ #
+ # If the value is `undefined` then the client behavior is not
+ # specified.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#109
+ def augments_syntax_tokens; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `(TextDocumentRegistrationOptions &
+ # StaticRegistrationOptions)` return value for the corresponding server
+ # capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#28
+ def dynamic_registration; end
+
+ # The formats the clients supports.
+ #
+ # @return ["relative"[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#67
+ def formats; end
+
+ # Whether the client supports tokens that can span multiple lines.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#83
+ def multiline_token_support; end
+
+ # Whether the client supports tokens that can overlap each other.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#75
+ def overlapping_token_support; end
+
+ # Which requests the client supports and might send to the server
+ # depending on the server's capability. Please note that clients might not
+ # show semantic tokens or degrade some of the user experience if a range
+ # or full request is advertised by the client but not provided by the
+ # server. If for example the client capability `requests.full` and
+ # `request.range` are both set to true but the server only provides a
+ # range provider the client might not render a minimap correctly or might
+ # even decide to not show any semantic tokens at all.
+ #
+ # @return [{ range?: boolean | {}; full?: boolean | { delta?: boolean; }; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#43
+ def requests; end
+
+ # Whether the client allows the server to actively cancel a
+ # semantic token request, e.g. supports returning
+ # ErrorCodes.ServerCancelled. If a server does the client
+ # needs to retrigger the request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#94
+ def server_cancel_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#115
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#119
+ def to_json(*args); end
+
+ # The token modifiers that the client supports.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#59
+ def token_modifiers; end
+
+ # The token types that the client supports.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#51
+ def token_types; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensDelta
+ # @return [SemanticTokensDelta] a new instance of SemanticTokensDelta
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#5
+ def initialize(edits:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#28
+ def attributes; end
+
+ # The semantic token edits to transform a previous result into a new
+ # result.
+ #
+ # @return [SemanticTokensEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#24
+ def edits; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#15
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#34
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensDeltaParams
+ # @return [SemanticTokensDeltaParams] a new instance of SemanticTokensDeltaParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#5
+ def initialize(text_document:, previous_result_id:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#50
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#29
+ def partial_result_token; end
+
+ # The result id of a previous response. The result Id can either point to
+ # a full response or a delta response depending on what was received last.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#46
+ def previous_result_id; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#37
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#56
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensDeltaPartialResult
+ # @return [SemanticTokensDeltaPartialResult] a new instance of SemanticTokensDeltaPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#5
+ def initialize(edits:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#18
+ def attributes; end
+
+ # @return [SemanticTokensEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#14
+ def edits; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#24
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensEdit
+ # @return [SemanticTokensEdit] a new instance of SemanticTokensEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#5
+ def initialize(start:, delete_count:, data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#39
+ def attributes; end
+
+ # The elements to insert.
+ #
+ # @return [number[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#35
+ def data; end
+
+ # The count of elements to remove.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#27
+ def delete_count; end
+
+ # The start offset of the edit.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#19
+ def start; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#45
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensLegend
+ # @return [SemanticTokensLegend] a new instance of SemanticTokensLegend
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#5
+ def initialize(token_types:, token_modifiers:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#30
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#36
+ def to_json(*args); end
+
+ # The token modifiers a server uses.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#26
+ def token_modifiers; end
+
+ # The token types a server uses.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#18
+ def token_types; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensOptions
+ # @return [SemanticTokensOptions] a new instance of SemanticTokensOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#5
+ def initialize(legend:, work_done_progress: T.unsafe(nil), range: T.unsafe(nil), full: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#46
+ def attributes; end
+
+ # Server supports providing semantic tokens for a full document.
+ #
+ # @return [boolean | { delta?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#42
+ def full; end
+
+ # The legend used by the server
+ #
+ # @return [SemanticTokensLegend]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#25
+ def legend; end
+
+ # Server supports providing semantic tokens for a specific range
+ # of a document.
+ #
+ # @return [boolean | {}]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#34
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#48
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#52
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#17
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensParams
+ # @return [SemanticTokensParams] a new instance of SemanticTokensParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensPartialResult
+ # @return [SemanticTokensPartialResult] a new instance of SemanticTokensPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#5
+ def initialize(data:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#18
+ def attributes; end
+
+ # @return [number[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#14
+ def data; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#24
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensRangeParams
+ # @return [SemanticTokensRangeParams] a new instance of SemanticTokensRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#5
+ def initialize(text_document:, range:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#29
+ def partial_result_token; end
+
+ # The range the semantic tokens are requested for.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#45
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#37
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensRegistrationOptions
+ # @return [SemanticTokensRegistrationOptions] a new instance of SemanticTokensRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#5
+ def initialize(document_selector:, legend:, work_done_progress: T.unsafe(nil), range: T.unsafe(nil), full: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#66
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#23
+ def document_selector; end
+
+ # Server supports providing semantic tokens for a full document.
+ #
+ # @return [boolean | { delta?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#53
+ def full; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#62
+ def id; end
+
+ # The legend used by the server
+ #
+ # @return [SemanticTokensLegend]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#36
+ def legend; end
+
+ # Server supports providing semantic tokens for a specific range
+ # of a document.
+ #
+ # @return [boolean | {}]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#45
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#68
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#72
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#28
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensWorkspaceClientCapabilities
+ # @return [SemanticTokensWorkspaceClientCapabilities] a new instance of SemanticTokensWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#5
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#27
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # semantic tokens currently shown. It should be used with absolute care
+ # and is useful for situation where a server for example detect a project
+ # wide change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#23
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#33
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ServerCapabilities
+ # @return [ServerCapabilities] a new instance of ServerCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#5
+ def initialize(position_encoding: T.unsafe(nil), text_document_sync: T.unsafe(nil), notebook_document_sync: T.unsafe(nil), completion_provider: T.unsafe(nil), hover_provider: T.unsafe(nil), signature_help_provider: T.unsafe(nil), declaration_provider: T.unsafe(nil), definition_provider: T.unsafe(nil), type_definition_provider: T.unsafe(nil), implementation_provider: T.unsafe(nil), references_provider: T.unsafe(nil), document_highlight_provider: T.unsafe(nil), document_symbol_provider: T.unsafe(nil), code_action_provider: T.unsafe(nil), code_lens_provider: T.unsafe(nil), document_link_provider: T.unsafe(nil), color_provider: T.unsafe(nil), document_formatting_provider: T.unsafe(nil), document_range_formatting_provider: T.unsafe(nil), document_on_type_formatting_provider: T.unsafe(nil), rename_provider: T.unsafe(nil), folding_range_provider: T.unsafe(nil), execute_command_provider: T.unsafe(nil), selection_range_provider: T.unsafe(nil), linked_editing_range_provider: T.unsafe(nil), call_hierarchy_provider: T.unsafe(nil), semantic_tokens_provider: T.unsafe(nil), moniker_provider: T.unsafe(nil), type_hierarchy_provider: T.unsafe(nil), inline_value_provider: T.unsafe(nil), inlay_hint_provider: T.unsafe(nil), diagnostic_provider: T.unsafe(nil), workspace_symbol_provider: T.unsafe(nil), workspace: T.unsafe(nil), experimental: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#340
+ def attributes; end
+
+ # The server provides call hierarchy support.
+ #
+ # @return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#264
+ def call_hierarchy_provider; end
+
+ # The server provides code actions. The `CodeActionOptions` return type is
+ # only valid if the client signals code action literal support via the
+ # property `textDocument.codeAction.codeActionLiteralSupport`.
+ #
+ # @return [boolean | CodeActionOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#166
+ def code_action_provider; end
+
+ # The server provides code lens.
+ #
+ # @return [CodeLensOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#174
+ def code_lens_provider; end
+
+ # The server provides color provider support.
+ #
+ # @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#190
+ def color_provider; end
+
+ # The server provides completion support.
+ #
+ # @return [CompletionOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#84
+ def completion_provider; end
+
+ # The server provides go to declaration support.
+ #
+ # @return [boolean | DeclarationOptions | DeclarationRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#108
+ def declaration_provider; end
+
+ # The server provides goto definition support.
+ #
+ # @return [boolean | DefinitionOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#116
+ def definition_provider; end
+
+ # The server has support for pull model diagnostics.
+ #
+ # @return [DiagnosticOptions | DiagnosticRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#312
+ def diagnostic_provider; end
+
+ # The server provides document formatting.
+ #
+ # @return [boolean | DocumentFormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#198
+ def document_formatting_provider; end
+
+ # The server provides document highlight support.
+ #
+ # @return [boolean | DocumentHighlightOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#148
+ def document_highlight_provider; end
+
+ # The server provides document link support.
+ #
+ # @return [DocumentLinkOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#182
+ def document_link_provider; end
+
+ # The server provides document formatting on typing.
+ #
+ # @return [DocumentOnTypeFormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#214
+ def document_on_type_formatting_provider; end
+
+ # The server provides document range formatting.
+ #
+ # @return [boolean | DocumentRangeFormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#206
+ def document_range_formatting_provider; end
+
+ # The server provides document symbol support.
+ #
+ # @return [boolean | DocumentSymbolOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#156
+ def document_symbol_provider; end
+
+ # The server provides execute command support.
+ #
+ # @return [ExecuteCommandOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#240
+ def execute_command_provider; end
+
+ # Experimental server capabilities.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#336
+ def experimental; end
+
+ # The server provides folding provider support.
+ #
+ # @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#232
+ def folding_range_provider; end
+
+ # The server provides hover support.
+ #
+ # @return [boolean | HoverOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#92
+ def hover_provider; end
+
+ # The server provides goto implementation support.
+ #
+ # @return [boolean | ImplementationOptions | ImplementationRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#132
+ def implementation_provider; end
+
+ # The server provides inlay hints.
+ #
+ # @return [boolean | InlayHintOptions | InlayHintRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#304
+ def inlay_hint_provider; end
+
+ # The server provides inline values.
+ #
+ # @return [boolean | InlineValueOptions | InlineValueRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#296
+ def inline_value_provider; end
+
+ # The server provides linked editing range support.
+ #
+ # @return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#256
+ def linked_editing_range_provider; end
+
+ # Whether server provides moniker support.
+ #
+ # @return [boolean | MonikerOptions | MonikerRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#280
+ def moniker_provider; end
+
+ # Defines how notebook documents are synced.
+ #
+ # @return [NotebookDocumentSyncOptions | NotebookDocumentSyncRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#76
+ def notebook_document_sync; end
+
+ # The position encoding the server picked from the encodings offered
+ # by the client via the client capability `general.positionEncodings`.
+ #
+ # If the client didn't provide any position encodings the only valid
+ # value that a server can return is 'utf-16'.
+ #
+ # If omitted it defaults to 'utf-16'.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#57
+ def position_encoding; end
+
+ # The server provides find references support.
+ #
+ # @return [boolean | ReferenceOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#140
+ def references_provider; end
+
+ # The server provides rename support. RenameOptions may only be
+ # specified if the client states that it supports
+ # `prepareSupport` in its initial `initialize` request.
+ #
+ # @return [boolean | RenameOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#224
+ def rename_provider; end
+
+ # The server provides selection range support.
+ #
+ # @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#248
+ def selection_range_provider; end
+
+ # The server provides semantic tokens support.
+ #
+ # @return [SemanticTokensOptions | SemanticTokensRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#272
+ def semantic_tokens_provider; end
+
+ # The server provides signature help support.
+ #
+ # @return [SignatureHelpOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#100
+ def signature_help_provider; end
+
+ # Defines how text documents are synced. Is either a detailed structure
+ # defining each notification or for backwards compatibility the
+ # TextDocumentSyncKind number. If omitted it defaults to
+ # `TextDocumentSyncKind.None`.
+ #
+ # @return [TextDocumentSyncOptions | TextDocumentSyncKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#68
+ def text_document_sync; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#342
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#346
+ def to_json(*args); end
+
+ # The server provides goto type definition support.
+ #
+ # @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#124
+ def type_definition_provider; end
+
+ # The server provides type hierarchy support.
+ #
+ # @return [boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#288
+ def type_hierarchy_provider; end
+
+ # Workspace specific server capabilities
+ #
+ # @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: { didCreate?: FileOperationRegistrationOptions; ... 4 more ...; willDelete?: FileOperationRegistrationOptions; }; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#328
+ def workspace; end
+
+ # The server provides workspace symbol support.
+ #
+ # @return [boolean | WorkspaceSymbolOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#320
+ def workspace_symbol_provider; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#4
+class LanguageServer::Protocol::Interface::SetTraceParams
+ # @return [SetTraceParams] a new instance of SetTraceParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#5
+ def initialize(value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#27
+ def to_json(*args); end
+
+ # The new value that should be assigned to the trace setting.
+ #
+ # @return [TraceValue]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#17
+ def value; end
+end
+
+# Client capabilities for the show document request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::ShowDocumentClientCapabilities
+ # @return [ShowDocumentClientCapabilities] a new instance of ShowDocumentClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#8
+ def initialize(support:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#25
+ def attributes; end
+
+ # The client has support for the show document
+ # request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#21
+ def support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#31
+ def to_json(*args); end
+end
+
+# Params to show a resource.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#7
+class LanguageServer::Protocol::Interface::ShowDocumentParams
+ # @return [ShowDocumentParams] a new instance of ShowDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#8
+ def initialize(uri:, external: T.unsafe(nil), take_focus: T.unsafe(nil), selection: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#59
+ def attributes; end
+
+ # Indicates to show the resource in an external program.
+ # To show, for example, `https://code.visualstudio.com/`
+ # in the default WEB browser set `external` to `true`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#33
+ def external; end
+
+ # An optional selection range if the document is a text
+ # document. Clients might ignore the property if an
+ # external program is started or the file is not a text
+ # file.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#55
+ def selection; end
+
+ # An optional property to indicate whether the editor
+ # showing the document should take focus or not.
+ # Clients might ignore this property if an external
+ # program is started.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#44
+ def take_focus; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#61
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#65
+ def to_json(*args); end
+
+ # The uri to show.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#23
+ def uri; end
+end
+
+# The result of an show document request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#7
+class LanguageServer::Protocol::Interface::ShowDocumentResult
+ # @return [ShowDocumentResult] a new instance of ShowDocumentResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#8
+ def initialize(success:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#24
+ def attributes; end
+
+ # A boolean indicating if the show was successful.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#20
+ def success; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#4
+class LanguageServer::Protocol::Interface::ShowMessageParams
+ # @return [ShowMessageParams] a new instance of ShowMessageParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#5
+ def initialize(type:, message:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#30
+ def attributes; end
+
+ # The actual message.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#26
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#36
+ def to_json(*args); end
+
+ # The message type. See {@link MessageType}.
+ #
+ # @return [MessageType]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#18
+ def type; end
+end
+
+# Show message request client capabilities
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::ShowMessageRequestClientCapabilities
+ # @return [ShowMessageRequestClientCapabilities] a new instance of ShowMessageRequestClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#8
+ def initialize(message_action_item: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#24
+ def attributes; end
+
+ # Capabilities specific to the `MessageActionItem` type.
+ #
+ # @return [{ additionalPropertiesSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#20
+ def message_action_item; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#4
+class LanguageServer::Protocol::Interface::ShowMessageRequestParams
+ # @return [ShowMessageRequestParams] a new instance of ShowMessageRequestParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#5
+ def initialize(type:, message:, actions: T.unsafe(nil)); end
+
+ # The message action items to present.
+ #
+ # @return [MessageActionItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#35
+ def actions; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#39
+ def attributes; end
+
+ # The actual message
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#27
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#45
+ def to_json(*args); end
+
+ # The message type. See {@link MessageType}
+ #
+ # @return [MessageType]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#19
+ def type; end
+end
+
+# Signature help represents the signature of something
+# callable. There can be multiple signature but only one
+# active and only one active parameter.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#9
+class LanguageServer::Protocol::Interface::SignatureHelp
+ # @return [SignatureHelp] a new instance of SignatureHelp
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#10
+ def initialize(signatures:, active_signature: T.unsafe(nil), active_parameter: T.unsafe(nil)); end
+
+ # The active parameter of the active signature. If omitted or the value
+ # lies outside the range of `signatures[activeSignature].parameters`
+ # defaults to 0 if the active signature has parameters. If
+ # the active signature has no parameters it is ignored.
+ # In future version of the protocol this property might become
+ # mandatory to better express the active parameter if the
+ # active signature does have any.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#55
+ def active_parameter; end
+
+ # The active signature. If omitted or the value lies outside the
+ # range of `signatures` the value defaults to zero or is ignore if
+ # the `SignatureHelp` as no signatures.
+ #
+ # Whenever possible implementors should make an active decision about
+ # the active signature and shouldn't rely on a default value.
+ #
+ # In future version of the protocol this property might become
+ # mandatory to better express this.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#41
+ def active_signature; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#59
+ def attributes; end
+
+ # One or more signatures. If no signatures are available the signature help
+ # request should return `null`.
+ #
+ # @return [SignatureInformation[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#25
+ def signatures; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#61
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#65
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpClientCapabilities
+ # @return [SignatureHelpClientCapabilities] a new instance of SignatureHelpClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), signature_information: T.unsafe(nil), context_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#43
+ def attributes; end
+
+ # The client supports to send additional context information for a
+ # `textDocument/signatureHelp` request. A client that opts into
+ # contextSupport will also support the `retriggerCharacters` on
+ # `SignatureHelpOptions`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#39
+ def context_support; end
+
+ # Whether signature help supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#19
+ def dynamic_registration; end
+
+ # The client supports the following `SignatureInformation`
+ # specific properties.
+ #
+ # @return [{ documentationFormat?: MarkupKind[]; parameterInformation?: { labelOffsetSupport?: boolean; }; activeParameterSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#28
+ def signature_information; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#45
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#49
+ def to_json(*args); end
+end
+
+# Additional information about the context in which a signature help request
+# was triggered.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#8
+class LanguageServer::Protocol::Interface::SignatureHelpContext
+ # @return [SignatureHelpContext] a new instance of SignatureHelpContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#9
+ def initialize(trigger_kind:, is_retrigger:, trigger_character: T.unsafe(nil), active_signature_help: T.unsafe(nil)); end
+
+ # The currently active `SignatureHelp`.
+ #
+ # The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field
+ # updated based on the user navigating through available signatures.
+ #
+ # @return [SignatureHelp]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#58
+ def active_signature_help; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#62
+ def attributes; end
+
+ # `true` if signature help was already showing when it was triggered.
+ #
+ # Retriggers occur when the signature help is already active and can be
+ # caused by actions such as typing a trigger character, a cursor move, or
+ # document content changes.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#47
+ def is_retrigger; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#64
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#68
+ def to_json(*args); end
+
+ # Character that caused signature help to be triggered.
+ #
+ # This is undefined when triggerKind !==
+ # SignatureHelpTriggerKind.TriggerCharacter
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#35
+ def trigger_character; end
+
+ # Action that caused signature help to be triggered.
+ #
+ # @return [SignatureHelpTriggerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#24
+ def trigger_kind; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpOptions
+ # @return [SignatureHelpOptions] a new instance of SignatureHelpOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), retrigger_characters: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#41
+ def attributes; end
+
+ # List of characters that re-trigger signature help.
+ #
+ # These trigger characters are only active when signature help is already
+ # showing. All trigger characters are also counted as re-trigger
+ # characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#37
+ def retrigger_characters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#43
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#47
+ def to_json(*args); end
+
+ # The characters that trigger signature help
+ # automatically.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#25
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#16
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpParams
+ # @return [SignatureHelpParams] a new instance of SignatureHelpParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), context: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#50
+ def attributes; end
+
+ # The signature help context. This is only available if the client
+ # specifies to send this using the client capability
+ # `textDocument.signatureHelp.contextSupport === true`
+ #
+ # @return [SignatureHelpContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#46
+ def context; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#56
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpRegistrationOptions
+ # @return [SignatureHelpRegistrationOptions] a new instance of SignatureHelpRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), retrigger_characters: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#51
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#21
+ def document_selector; end
+
+ # List of characters that re-trigger signature help.
+ #
+ # These trigger characters are only active when signature help is already
+ # showing. All trigger characters are also counted as re-trigger
+ # characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#47
+ def retrigger_characters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#57
+ def to_json(*args); end
+
+ # The characters that trigger signature help
+ # automatically.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#35
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#26
+ def work_done_progress; end
+end
+
+# Represents the signature of something callable. A signature
+# can have a label, like a function-name, a doc-comment, and
+# a set of parameters.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#9
+class LanguageServer::Protocol::Interface::SignatureInformation
+ # @return [SignatureInformation] a new instance of SignatureInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#10
+ def initialize(label:, documentation: T.unsafe(nil), parameters: T.unsafe(nil), active_parameter: T.unsafe(nil)); end
+
+ # The index of the active parameter.
+ #
+ # If provided, this is used in place of `SignatureHelp.activeParameter`.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#53
+ def active_parameter; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#57
+ def attributes; end
+
+ # The human-readable doc-comment of this signature. Will be shown
+ # in the UI but can be omitted.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#35
+ def documentation; end
+
+ # The label of this signature. Will be shown in
+ # the UI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#26
+ def label; end
+
+ # The parameters of this signature.
+ #
+ # @return [ParameterInformation[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#43
+ def parameters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#63
+ def to_json(*args); end
+end
+
+# Static registration options to be returned in the initialize request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#7
+class LanguageServer::Protocol::Interface::StaticRegistrationOptions
+ # @return [StaticRegistrationOptions] a new instance of StaticRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#8
+ def initialize(id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#25
+ def attributes; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#21
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#31
+ def to_json(*args); end
+end
+
+# Represents information about programming constructs like variables, classes,
+# interfaces etc.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#8
+class LanguageServer::Protocol::Interface::SymbolInformation
+ # @return [SymbolInformation] a new instance of SymbolInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#9
+ def initialize(name:, kind:, location:, tags: T.unsafe(nil), deprecated: T.unsafe(nil), container_name: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#81
+ def attributes; end
+
+ # The name of the symbol containing this symbol. This information is for
+ # user interface purposes (e.g. to render a qualifier in the user interface
+ # if necessary). It can't be used to re-infer a hierarchy for the document
+ # symbols.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#77
+ def container_name; end
+
+ # Indicates if this symbol is deprecated.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#50
+ def deprecated; end
+
+ # The kind of this symbol.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#34
+ def kind; end
+
+ # The location of this symbol. The location's range is used by a tool
+ # to reveal the location in the editor. If the symbol is selected in the
+ # tool the range's start information is used to position the cursor. So
+ # the range usually spans more then the actual symbol's name and does
+ # normally include things like visibility modifiers.
+ #
+ # The range doesn't have to denote a node range in the sense of an abstract
+ # syntax tree. It can therefore not be used to re-construct a hierarchy of
+ # the symbols.
+ #
+ # @return [Location]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#66
+ def location; end
+
+ # The name of this symbol.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#26
+ def name; end
+
+ # Tags for this symbol.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#42
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#83
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#87
+ def to_json(*args); end
+end
+
+# Describe options to be used when registering for text document change events.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#7
+class LanguageServer::Protocol::Interface::TextDocumentChangeRegistrationOptions
+ # @return [TextDocumentChangeRegistrationOptions] a new instance of TextDocumentChangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#8
+ def initialize(document_selector:, sync_kind:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#35
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#22
+ def document_selector; end
+
+ # How documents are synced to the server. See TextDocumentSyncKind.Full
+ # and TextDocumentSyncKind.Incremental.
+ #
+ # @return [TextDocumentSyncKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#31
+ def sync_kind; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#37
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#41
+ def to_json(*args); end
+end
+
+# Text document specific client capabilities.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::TextDocumentClientCapabilities
+ # @return [TextDocumentClientCapabilities] a new instance of TextDocumentClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#8
+ def initialize(synchronization: T.unsafe(nil), completion: T.unsafe(nil), hover: T.unsafe(nil), signature_help: T.unsafe(nil), declaration: T.unsafe(nil), definition: T.unsafe(nil), type_definition: T.unsafe(nil), implementation: T.unsafe(nil), references: T.unsafe(nil), document_highlight: T.unsafe(nil), document_symbol: T.unsafe(nil), code_action: T.unsafe(nil), code_lens: T.unsafe(nil), document_link: T.unsafe(nil), color_provider: T.unsafe(nil), formatting: T.unsafe(nil), range_formatting: T.unsafe(nil), on_type_formatting: T.unsafe(nil), rename: T.unsafe(nil), publish_diagnostics: T.unsafe(nil), folding_range: T.unsafe(nil), selection_range: T.unsafe(nil), linked_editing_range: T.unsafe(nil), call_hierarchy: T.unsafe(nil), semantic_tokens: T.unsafe(nil), moniker: T.unsafe(nil), type_hierarchy: T.unsafe(nil), inline_value: T.unsafe(nil), inlay_hint: T.unsafe(nil), diagnostic: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#285
+ def attributes; end
+
+ # Capabilities specific to the various call hierarchy requests.
+ #
+ # @return [CallHierarchyClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#233
+ def call_hierarchy; end
+
+ # Capabilities specific to the `textDocument/codeAction` request.
+ #
+ # @return [CodeActionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#134
+ def code_action; end
+
+ # Capabilities specific to the `textDocument/codeLens` request.
+ #
+ # @return [CodeLensClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#142
+ def code_lens; end
+
+ # Capabilities specific to the `textDocument/documentColor` and the
+ # `textDocument/colorPresentation` request.
+ #
+ # @return [DocumentColorClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#159
+ def color_provider; end
+
+ # Capabilities specific to the `textDocument/completion` request.
+ #
+ # @return [CompletionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#54
+ def completion; end
+
+ # Capabilities specific to the `textDocument/declaration` request.
+ #
+ # @return [DeclarationClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#78
+ def declaration; end
+
+ # Capabilities specific to the `textDocument/definition` request.
+ #
+ # @return [DefinitionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#86
+ def definition; end
+
+ # Capabilities specific to the diagnostic pull model.
+ #
+ # @return [DiagnosticClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#281
+ def diagnostic; end
+
+ # Capabilities specific to the `textDocument/documentHighlight` request.
+ #
+ # @return [DocumentHighlightClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#118
+ def document_highlight; end
+
+ # Capabilities specific to the `textDocument/documentLink` request.
+ #
+ # @return [DocumentLinkClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#150
+ def document_link; end
+
+ # Capabilities specific to the `textDocument/documentSymbol` request.
+ #
+ # @return [DocumentSymbolClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#126
+ def document_symbol; end
+
+ # Capabilities specific to the `textDocument/foldingRange` request.
+ #
+ # @return [FoldingRangeClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#209
+ def folding_range; end
+
+ # Capabilities specific to the `textDocument/formatting` request.
+ #
+ # @return [DocumentFormattingClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#167
+ def formatting; end
+
+ # Capabilities specific to the `textDocument/hover` request.
+ #
+ # @return [HoverClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#62
+ def hover; end
+
+ # Capabilities specific to the `textDocument/implementation` request.
+ #
+ # @return [ImplementationClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#102
+ def implementation; end
+
+ # Capabilities specific to the `textDocument/inlayHint` request.
+ #
+ # @return [InlayHintClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#273
+ def inlay_hint; end
+
+ # Capabilities specific to the `textDocument/inlineValue` request.
+ #
+ # @return [InlineValueClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#265
+ def inline_value; end
+
+ # Capabilities specific to the `textDocument/linkedEditingRange` request.
+ #
+ # @return [LinkedEditingRangeClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#225
+ def linked_editing_range; end
+
+ # Capabilities specific to the `textDocument/moniker` request.
+ #
+ # @return [MonikerClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#249
+ def moniker; end
+
+ # request.
+ # Capabilities specific to the `textDocument/onTypeFormatting` request.
+ #
+ # @return [DocumentOnTypeFormattingClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#184
+ def on_type_formatting; end
+
+ # Capabilities specific to the `textDocument/publishDiagnostics`
+ # notification.
+ #
+ # @return [PublishDiagnosticsClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#201
+ def publish_diagnostics; end
+
+ # Capabilities specific to the `textDocument/rangeFormatting` request.
+ #
+ # @return [DocumentRangeFormattingClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#175
+ def range_formatting; end
+
+ # Capabilities specific to the `textDocument/references` request.
+ #
+ # @return [ReferenceClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#110
+ def references; end
+
+ # Capabilities specific to the `textDocument/rename` request.
+ #
+ # @return [RenameClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#192
+ def rename; end
+
+ # Capabilities specific to the `textDocument/selectionRange` request.
+ #
+ # @return [SelectionRangeClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#217
+ def selection_range; end
+
+ # Capabilities specific to the various semantic token requests.
+ #
+ # @return [SemanticTokensClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#241
+ def semantic_tokens; end
+
+ # Capabilities specific to the `textDocument/signatureHelp` request.
+ #
+ # @return [SignatureHelpClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#70
+ def signature_help; end
+
+ # @return [TextDocumentSyncClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#46
+ def synchronization; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#287
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#291
+ def to_json(*args); end
+
+ # Capabilities specific to the `textDocument/typeDefinition` request.
+ #
+ # @return [TypeDefinitionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#94
+ def type_definition; end
+
+ # Capabilities specific to the various type hierarchy requests.
+ #
+ # @return [TypeHierarchyClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#257
+ def type_hierarchy; end
+end
+
+# An event describing a change to a text document. If only a text is provided
+# it is considered to be the full content of the document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#8
+class LanguageServer::Protocol::Interface::TextDocumentContentChangeEvent
+ # @return [TextDocumentContentChangeEvent] a new instance of TextDocumentContentChangeEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#9
+ def initialize(text:, range: T.unsafe(nil), range_length: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#47
+ def attributes; end
+
+ # The range of the document that changed.
+ #
+ # @return [Range, nil]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#23
+ def range; end
+
+ # The optional length of the range that got replaced.
+ #
+ # @return [number, nil]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#31
+ def range_length; end
+
+ # The new text for the provided range.
+ #
+ # --- OR ---
+ #
+ # The new text of the whole document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#43
+ def text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#49
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#53
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentEdit
+ # @return [TextDocumentEdit] a new instance of TextDocumentEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#5
+ def initialize(text_document:, edits:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#30
+ def attributes; end
+
+ # The edits to be applied.
+ #
+ # @return [(TextEdit | AnnotatedTextEdit)[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#26
+ def edits; end
+
+ # The text document to change.
+ #
+ # @return [OptionalVersionedTextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#18
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentIdentifier
+ # @return [TextDocumentIdentifier] a new instance of TextDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#5
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#27
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#17
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentItem
+ # @return [TextDocumentItem] a new instance of TextDocumentItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#5
+ def initialize(uri:, language_id:, version:, text:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#49
+ def attributes; end
+
+ # The text document's language identifier.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#28
+ def language_id; end
+
+ # The content of the opened text document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#45
+ def text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#55
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#20
+ def uri; end
+
+ # The version number of this document (it will increase after each
+ # change, including undo/redo).
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#37
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentPositionParams
+ # @return [TextDocumentPositionParams] a new instance of TextDocumentPositionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#5
+ def initialize(text_document:, position:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#30
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#26
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#18
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#36
+ def to_json(*args); end
+end
+
+# General text document registration options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#7
+class LanguageServer::Protocol::Interface::TextDocumentRegistrationOptions
+ # @return [TextDocumentRegistrationOptions] a new instance of TextDocumentRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#8
+ def initialize(document_selector:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#25
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#21
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentSaveRegistrationOptions
+ # @return [TextDocumentSaveRegistrationOptions] a new instance of TextDocumentSaveRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#5
+ def initialize(document_selector:, include_text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#31
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#19
+ def document_selector; end
+
+ # The client is supposed to include the content on save.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#27
+ def include_text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentSyncClientCapabilities
+ # @return [TextDocumentSyncClientCapabilities] a new instance of TextDocumentSyncClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), will_save: T.unsafe(nil), will_save_wait_until: T.unsafe(nil), did_save: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#50
+ def attributes; end
+
+ # The client supports did save notifications.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#46
+ def did_save; end
+
+ # Whether text document synchronization supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#56
+ def to_json(*args); end
+
+ # The client supports sending will save notifications.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#28
+ def will_save; end
+
+ # The client supports sending a will save request and
+ # waits for a response providing text edits which will
+ # be applied to the document before it is saved.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#38
+ def will_save_wait_until; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentSyncOptions
+ # @return [TextDocumentSyncOptions] a new instance of TextDocumentSyncOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#5
+ def initialize(open_close: T.unsafe(nil), change: T.unsafe(nil), will_save: T.unsafe(nil), will_save_wait_until: T.unsafe(nil), save: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#66
+ def attributes; end
+
+ # Change notifications are sent to the server. See
+ # TextDocumentSyncKind.None, TextDocumentSyncKind.Full and
+ # TextDocumentSyncKind.Incremental. If omitted it defaults to
+ # TextDocumentSyncKind.None.
+ #
+ # @return [TextDocumentSyncKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#35
+ def change; end
+
+ # Open and close notifications are sent to the server. If omitted open
+ # close notifications should not be sent.
+ # Open and close notifications are sent to the server. If omitted open
+ # close notification should not be sent.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#24
+ def open_close; end
+
+ # If present save notifications are sent to the server. If omitted the
+ # notification should not be sent.
+ #
+ # @return [boolean | SaveOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#62
+ def save; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#68
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#72
+ def to_json(*args); end
+
+ # If present will save notifications are sent to the server. If omitted
+ # the notification should not be sent.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#44
+ def will_save; end
+
+ # If present will save wait until requests are sent to the server. If
+ # omitted the request should not be sent.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#53
+ def will_save_wait_until; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#4
+class LanguageServer::Protocol::Interface::TextEdit
+ # @return [TextEdit] a new instance of TextEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#5
+ def initialize(range:, new_text:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#32
+ def attributes; end
+
+ # The string to be inserted. For delete operations use an
+ # empty string.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#28
+ def new_text; end
+
+ # The range of the text document to be manipulated. To insert
+ # text into a document create a range where start === end.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#19
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionClientCapabilities
+ # @return [TypeDefinitionClientCapabilities] a new instance of TypeDefinitionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#32
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `TypeDefinitionRegistrationOptions`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of definition links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#28
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionOptions
+ # @return [TypeDefinitionOptions] a new instance of TypeDefinitionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionParams
+ # @return [TypeDefinitionParams] a new instance of TypeDefinitionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionRegistrationOptions
+ # @return [TypeDefinitionRegistrationOptions] a new instance of TypeDefinitionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyItem
+ # @return [TypeHierarchyItem] a new instance of TypeHierarchyItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#5
+ def initialize(name:, kind:, uri:, range:, selection_range:, tags: T.unsafe(nil), detail: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#90
+ def attributes; end
+
+ # A data entry field that is preserved between a type hierarchy prepare and
+ # supertypes or subtypes requests. It could also be used to identify the
+ # type hierarchy in the server, helping improve the performance on
+ # resolving supertypes and subtypes.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#86
+ def data; end
+
+ # More detail for this item, e.g. the signature of a function.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#48
+ def detail; end
+
+ # The kind of this item.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#32
+ def kind; end
+
+ # The name of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#24
+ def name; end
+
+ # The range enclosing this symbol not including leading/trailing whitespace
+ # but everything else, e.g. comments and code.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#65
+ def range; end
+
+ # The range that should be selected and revealed when this symbol is being
+ # picked, e.g. the name of a function. Must be contained by the
+ # [`range`](#TypeHierarchyItem.range).
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#75
+ def selection_range; end
+
+ # Tags for this item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#40
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#92
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#96
+ def to_json(*args); end
+
+ # The resource identifier of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#56
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyOptions
+ # @return [TypeHierarchyOptions] a new instance of TypeHierarchyOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyPrepareParams
+ # @return [TypeHierarchyPrepareParams] a new instance of TypeHierarchyPrepareParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyRegistrationOptions
+ # @return [TypeHierarchyRegistrationOptions] a new instance of TypeHierarchyRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchySubtypesParams
+ # @return [TypeHierarchySubtypesParams] a new instance of TypeHierarchySubtypesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#37
+ def attributes; end
+
+ # @return [TypeHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchySupertypesParams
+ # @return [TypeHierarchySupertypesParams] a new instance of TypeHierarchySupertypesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#37
+ def attributes; end
+
+ # @return [TypeHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#19
+ def work_done_token; end
+end
+
+# A diagnostic report indicating that the last returned
+# report is still accurate.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#8
+class LanguageServer::Protocol::Interface::UnchangedDocumentDiagnosticReport
+ # @return [UnchangedDocumentDiagnosticReport] a new instance of UnchangedDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#9
+ def initialize(kind:, result_id:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#38
+ def attributes; end
+
+ # A document diagnostic report indicating
+ # no changes to the last result. A server can
+ # only return `unchanged` if result ids are
+ # provided.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#25
+ def kind; end
+
+ # A result id which will be sent on the next
+ # diagnostic request for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#34
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#44
+ def to_json(*args); end
+end
+
+# General parameters to unregister a capability.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#7
+class LanguageServer::Protocol::Interface::Unregistration
+ # @return [Unregistration] a new instance of Unregistration
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#8
+ def initialize(id:, method:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#34
+ def attributes; end
+
+ # The id used to unregister the request or notification. Usually an id
+ # provided during the register request.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#22
+ def id; end
+
+ # The method / capability to unregister for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#30
+ def method; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#4
+class LanguageServer::Protocol::Interface::UnregistrationParams
+ # @return [UnregistrationParams] a new instance of UnregistrationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#5
+ def initialize(unregisterations:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#24
+ def to_json(*args); end
+
+ # @return [Unregistration[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#14
+ def unregisterations; end
+end
+
+# A versioned notebook document identifier.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#7
+class LanguageServer::Protocol::Interface::VersionedNotebookDocumentIdentifier
+ # @return [VersionedNotebookDocumentIdentifier] a new instance of VersionedNotebookDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#8
+ def initialize(version:, uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#33
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#39
+ def to_json(*args); end
+
+ # The notebook document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#29
+ def uri; end
+
+ # The version number of this notebook document.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#21
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#4
+class LanguageServer::Protocol::Interface::VersionedTextDocumentIdentifier
+ # @return [VersionedTextDocumentIdentifier] a new instance of VersionedTextDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#5
+ def initialize(uri:, version:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#33
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#39
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#18
+ def uri; end
+
+ # The version number of this document.
+ #
+ # The version number of a document will increase after each change,
+ # including undo/redo. The number doesn't need to be consecutive.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#29
+ def version; end
+end
+
+# The parameters send in a will save text document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#7
+class LanguageServer::Protocol::Interface::WillSaveTextDocumentParams
+ # @return [WillSaveTextDocumentParams] a new instance of WillSaveTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#8
+ def initialize(text_document:, reason:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#33
+ def attributes; end
+
+ # The 'TextDocumentSaveReason'.
+ #
+ # @return [TextDocumentSaveReason]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#29
+ def reason; end
+
+ # The document that will be saved.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#21
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressBegin
+ # @return [WorkDoneProgressBegin] a new instance of WorkDoneProgressBegin
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#5
+ def initialize(kind:, title:, cancellable: T.unsafe(nil), message: T.unsafe(nil), percentage: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#68
+ def attributes; end
+
+ # Controls if a cancel button should show to allow the user to cancel the
+ # long running operation. Clients that don't support cancellation are
+ # allowed to ignore the setting.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#39
+ def cancellable; end
+
+ # @return ["begin"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#18
+ def kind; end
+
+ # Optional, more detailed associated progress message. Contains
+ # complementary information to the `title`.
+ #
+ # Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+ # If unset, the previous progress message (if any) is still valid.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#51
+ def message; end
+
+ # Optional progress percentage to display (value 100 is considered 100%).
+ # If not provided infinite progress is assumed and clients are allowed
+ # to ignore the `percentage` value in subsequent in report notifications.
+ #
+ # The value should be steadily rising. Clients are free to ignore values
+ # that are not following this rule. The value range is [0, 100]
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#64
+ def percentage; end
+
+ # Mandatory title of the progress operation. Used to briefly inform about
+ # the kind of operation being performed.
+ #
+ # Examples: "Indexing" or "Linking dependencies".
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#29
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#70
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#74
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressCancelParams
+ # @return [WorkDoneProgressCancelParams] a new instance of WorkDoneProgressCancelParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#5
+ def initialize(token:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#27
+ def to_json(*args); end
+
+ # The token to be used to report progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#17
+ def token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressCreateParams
+ # @return [WorkDoneProgressCreateParams] a new instance of WorkDoneProgressCreateParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#5
+ def initialize(token:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#27
+ def to_json(*args); end
+
+ # The token to be used to report progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#17
+ def token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressEnd
+ # @return [WorkDoneProgressEnd] a new instance of WorkDoneProgressEnd
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#5
+ def initialize(kind:, message: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#28
+ def attributes; end
+
+ # @return ["end"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#15
+ def kind; end
+
+ # Optional, a final message indicating to for example indicate the outcome
+ # of the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#24
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#34
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressOptions
+ # @return [WorkDoneProgressOptions] a new instance of WorkDoneProgressOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressParams
+ # @return [WorkDoneProgressParams] a new instance of WorkDoneProgressParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#5
+ def initialize(work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#27
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#17
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressReport
+ # @return [WorkDoneProgressReport] a new instance of WorkDoneProgressReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#5
+ def initialize(kind:, cancellable: T.unsafe(nil), message: T.unsafe(nil), percentage: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#58
+ def attributes; end
+
+ # Controls enablement state of a cancel button. This property is only valid
+ # if a cancel button got requested in the `WorkDoneProgressBegin` payload.
+ #
+ # Clients that don't support cancellation or don't support control the
+ # button's enablement state are allowed to ignore the setting.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#29
+ def cancellable; end
+
+ # @return ["report"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#17
+ def kind; end
+
+ # Optional, more detailed associated progress message. Contains
+ # complementary information to the `title`.
+ #
+ # Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+ # If unset, the previous progress message (if any) is still valid.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#41
+ def message; end
+
+ # Optional progress percentage to display (value 100 is considered 100%).
+ # If not provided infinite progress is assumed and clients are allowed
+ # to ignore the `percentage` value in subsequent in report notifications.
+ #
+ # The value should be steadily rising. Clients are free to ignore values
+ # that are not following this rule. The value range is [0, 100]
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#54
+ def percentage; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#60
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#64
+ def to_json(*args); end
+end
+
+# Parameters of the workspace diagnostic request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceDiagnosticParams
+ # @return [WorkspaceDiagnosticParams] a new instance of WorkspaceDiagnosticParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#8
+ def initialize(previous_result_ids:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), identifier: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#53
+ def attributes; end
+
+ # The additional identifier provided during registration.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#40
+ def identifier; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#32
+ def partial_result_token; end
+
+ # The currently known diagnostic reports with their
+ # previous result ids.
+ #
+ # @return [PreviousResultId[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#49
+ def previous_result_ids; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#55
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#59
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#23
+ def work_done_token; end
+end
+
+# A workspace diagnostic report.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceDiagnosticReport
+ # @return [WorkspaceDiagnosticReport] a new instance of WorkspaceDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#8
+ def initialize(items:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#21
+ def attributes; end
+
+ # @return [WorkspaceDocumentDiagnosticReport[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#17
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#27
+ def to_json(*args); end
+end
+
+# A partial result for a workspace diagnostic report.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceDiagnosticReportPartialResult
+ # @return [WorkspaceDiagnosticReportPartialResult] a new instance of WorkspaceDiagnosticReportPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#8
+ def initialize(items:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#21
+ def attributes; end
+
+ # @return [WorkspaceDocumentDiagnosticReport[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#17
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceEdit
+ # @return [WorkspaceEdit] a new instance of WorkspaceEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#5
+ def initialize(changes: T.unsafe(nil), document_changes: T.unsafe(nil), change_annotations: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#56
+ def attributes; end
+
+ # A map of change annotations that can be referenced in
+ # `AnnotatedTextEdit`s or create, rename and delete file / folder
+ # operations.
+ #
+ # Whether clients honor this property depends on the client capability
+ # `workspace.changeAnnotationSupport`.
+ #
+ # @return [{ [id: string]: ChangeAnnotation; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#52
+ def change_annotations; end
+
+ # Holds changes to existing resources.
+ #
+ # @return [{}]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#19
+ def changes; end
+
+ # Depending on the client capability
+ # `workspace.workspaceEdit.resourceOperations` document changes are either
+ # an array of `TextDocumentEdit`s to express changes to n different text
+ # documents where each text document edit addresses a specific version of
+ # a text document. Or it can contain above `TextDocumentEdit`s mixed with
+ # create, rename and delete file / folder operations.
+ #
+ # Whether a client supports versioned document edits is expressed via
+ # `workspace.workspaceEdit.documentChanges` client capability.
+ #
+ # If a client neither supports `documentChanges` nor
+ # `workspace.workspaceEdit.resourceOperations` then only plain `TextEdit`s
+ # using the `changes` property are supported.
+ #
+ # @return [TextDocumentEdit[] | (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#39
+ def document_changes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#62
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceEditClientCapabilities
+ # @return [WorkspaceEditClientCapabilities] a new instance of WorkspaceEditClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#5
+ def initialize(document_changes: T.unsafe(nil), resource_operations: T.unsafe(nil), failure_handling: T.unsafe(nil), normalizes_line_endings: T.unsafe(nil), change_annotation_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#63
+ def attributes; end
+
+ # Whether the client in general supports change annotations on text edits,
+ # create file, rename file and delete file changes.
+ #
+ # @return [{ groupsOnLabel?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#59
+ def change_annotation_support; end
+
+ # The client supports versioned document changes in `WorkspaceEdit`s
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#21
+ def document_changes; end
+
+ # The failure handling strategy of a client if applying the workspace edit
+ # fails.
+ #
+ # @return [FailureHandlingKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#39
+ def failure_handling; end
+
+ # Whether the client normalizes line endings to the client specific
+ # setting.
+ # If set to `true` the client will normalize line ending characters
+ # in a workspace edit to the client specific new line character(s).
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#50
+ def normalizes_line_endings; end
+
+ # The resource operations the client supports. Clients should at least
+ # support 'create', 'rename' and 'delete' files and folders.
+ #
+ # @return [ResourceOperationKind[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#30
+ def resource_operations; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#65
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#69
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceFolder
+ # @return [WorkspaceFolder] a new instance of WorkspaceFolder
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#5
+ def initialize(uri:, name:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#31
+ def attributes; end
+
+ # The name of the workspace folder. Used to refer to this
+ # workspace folder in the user interface.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#27
+ def name; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#37
+ def to_json(*args); end
+
+ # The associated URI for this workspace folder.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#18
+ def uri; end
+end
+
+# The workspace folder change event.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceFoldersChangeEvent
+ # @return [WorkspaceFoldersChangeEvent] a new instance of WorkspaceFoldersChangeEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#8
+ def initialize(added:, removed:); end
+
+ # The array of added workspace folders
+ #
+ # @return [WorkspaceFolder[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#21
+ def added; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#33
+ def attributes; end
+
+ # The array of the removed workspace folders
+ #
+ # @return [WorkspaceFolder[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#29
+ def removed; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceFoldersServerCapabilities
+ # @return [WorkspaceFoldersServerCapabilities] a new instance of WorkspaceFoldersServerCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#5
+ def initialize(supported: T.unsafe(nil), change_notifications: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#36
+ def attributes; end
+
+ # Whether the server wants to receive workspace folder
+ # change notifications.
+ #
+ # If a string is provided, the string is treated as an ID
+ # under which the notification is registered on the client
+ # side. The ID can be used to unregister for these events
+ # using the `client/unregisterCapability` request.
+ #
+ # @return [string | boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#32
+ def change_notifications; end
+
+ # The server has support for workspace folders
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#18
+ def supported; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#42
+ def to_json(*args); end
+end
+
+# A full document diagnostic report for a workspace diagnostic result.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceFullDocumentDiagnosticReport
+ # @return [WorkspaceFullDocumentDiagnosticReport] a new instance of WorkspaceFullDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#8
+ def initialize(kind:, items:, uri:, version:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#63
+ def attributes; end
+
+ # The actual items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#42
+ def items; end
+
+ # A full document diagnostic report.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#24
+ def kind; end
+
+ # An optional result id. If provided it will
+ # be sent on the next diagnostic request for the
+ # same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#34
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#65
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#69
+ def to_json(*args); end
+
+ # The URI for which diagnostic information is reported.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#50
+ def uri; end
+
+ # The version number for which the diagnostics are reported.
+ # If the document is not marked as open `null` can be provided.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#59
+ def version; end
+end
+
+# A special workspace symbol that supports locations without a range
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceSymbol
+ # @return [WorkspaceSymbol] a new instance of WorkspaceSymbol
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#8
+ def initialize(name:, kind:, location:, tags: T.unsafe(nil), container_name: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#77
+ def attributes; end
+
+ # The name of the symbol containing this symbol. This information is for
+ # user interface purposes (e.g. to render a qualifier in the user interface
+ # if necessary). It can't be used to re-infer a hierarchy for the document
+ # symbols.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#52
+ def container_name; end
+
+ # A data entry field that is preserved on a workspace symbol between a
+ # workspace symbol request and a workspace symbol resolve request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#73
+ def data; end
+
+ # The kind of this symbol.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#33
+ def kind; end
+
+ # The location of this symbol. Whether a server is allowed to
+ # return a location without a range depends on the client
+ # capability `workspace.symbol.resolveSupport`.
+ #
+ # See also `SymbolInformation.location`.
+ #
+ # @return [Location | { uri: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#64
+ def location; end
+
+ # The name of this symbol.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#25
+ def name; end
+
+ # Tags for this completion item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#41
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#79
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#83
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceSymbolClientCapabilities
+ # @return [WorkspaceSymbolClientCapabilities] a new instance of WorkspaceSymbolClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), symbol_kind: T.unsafe(nil), tag_support: T.unsafe(nil), resolve_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#52
+ def attributes; end
+
+ # Symbol request supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client support partial workspace symbols. The client will send the
+ # request `workspaceSymbol/resolve` to the server to resolve additional
+ # properties.
+ #
+ # @return [{ properties: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#48
+ def resolve_support; end
+
+ # Specific capabilities for the `SymbolKind` in the `workspace/symbol`
+ # request.
+ #
+ # @return [{ valueSet?: SymbolKind[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#29
+ def symbol_kind; end
+
+ # The client supports tags on `SymbolInformation` and `WorkspaceSymbol`.
+ # Clients supporting tags have to handle unknown tags gracefully.
+ #
+ # @return [{ valueSet: 1[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#38
+ def tag_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#58
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceSymbolOptions
+ # @return [WorkspaceSymbolOptions] a new instance of WorkspaceSymbolOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#28
+ def attributes; end
+
+ # The server provides support to resolve additional
+ # information for a workspace symbol.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#24
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#15
+ def work_done_progress; end
+end
+
+# The parameters of a Workspace Symbol Request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceSymbolParams
+ # @return [WorkspaceSymbolParams] a new instance of WorkspaceSymbolParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#8
+ def initialize(query:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#44
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#31
+ def partial_result_token; end
+
+ # A query string to filter symbols by. Clients may send an empty
+ # string here to request all symbols.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#40
+ def query; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#50
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#22
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceSymbolRegistrationOptions
+ # @return [WorkspaceSymbolRegistrationOptions] a new instance of WorkspaceSymbolRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#28
+ def attributes; end
+
+ # The server provides support to resolve additional
+ # information for a workspace symbol.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#24
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#15
+ def work_done_progress; end
+end
+
+# An unchanged document diagnostic report for a workspace diagnostic result.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceUnchangedDocumentDiagnosticReport
+ # @return [WorkspaceUnchangedDocumentDiagnosticReport] a new instance of WorkspaceUnchangedDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#8
+ def initialize(kind:, result_id:, uri:, version:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#56
+ def attributes; end
+
+ # A document diagnostic report indicating
+ # no changes to the last result. A server can
+ # only return `unchanged` if result ids are
+ # provided.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#26
+ def kind; end
+
+ # A result id which will be sent on the next
+ # diagnostic request for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#35
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#62
+ def to_json(*args); end
+
+ # The URI for which diagnostic information is reported.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#43
+ def uri; end
+
+ # The version number for which the diagnostics are reported.
+ # If the document is not marked as open `null` can be provided.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#52
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#7
+module LanguageServer::Protocol::Transport; end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#8
+module LanguageServer::Protocol::Transport::Io; end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#9
+class LanguageServer::Protocol::Transport::Io::Reader
+ # @return [Reader] a new instance of Reader
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#10
+ def initialize(io); end
+
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#15
+ def read(&block); end
+
+ private
+
+ # Returns the value of attribute io.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#26
+ def io; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#5
+class LanguageServer::Protocol::Transport::Io::Writer
+ # @return [Writer] a new instance of Writer
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#8
+ def initialize(io); end
+
+ # Returns the value of attribute io.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#6
+ def io; end
+
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#13
+ def write(response); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#4
+module LanguageServer::Protocol::Transport::Stdio; end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#5
+class LanguageServer::Protocol::Transport::Stdio::Reader < ::LanguageServer::Protocol::Transport::Io::Reader
+ # @return [Reader] a new instance of Reader
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#6
+ def initialize; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/stdio/writer.rb#5
+class LanguageServer::Protocol::Transport::Stdio::Writer < ::LanguageServer::Protocol::Transport::Io::Writer
+ # @return [Writer] a new instance of Writer
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/stdio/writer.rb#6
+ def initialize; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/version.rb#3
+LanguageServer::Protocol::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/little-plugger@1.1.4.rbi b/sorbet/rbi/gems/little-plugger@1.1.4.rbi
new file mode 100644
index 00000000..352ef373
--- /dev/null
+++ b/sorbet/rbi/gems/little-plugger@1.1.4.rbi
@@ -0,0 +1,260 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `little-plugger` gem.
+# Please instead update this file by running `bin/tapioca gem little-plugger`.
+
+# source://little-plugger//lib/little-plugger.rb#278
+module Kernel
+ # call-seq:
+ # LittlePlugger( opts = {} )
+ #
+ # This method allows the user to override some of LittlePlugger's default
+ # settings when mixed into a module or class.
+ #
+ # See the "Customizing" section of the LittlePlugger documentation for an
+ # example of how this method is used.
+ #
+ # ==== Options
+ #
+ # * :path
+ # The default plugin path. Defaults to "module_name/plugins".
+ #
+ # * :module
+ # The module where plugins will be loaded. Defaults to
+ # ModuleName::Plugins.
+ #
+ # * :plugins
+ # The array of default plugins to load. Only the plugins listed in this
+ # array will be loaded by LittlePlugger.
+ #
+ # source://little-plugger//lib/little-plugger.rb#302
+ def LittlePlugger(opts = T.unsafe(nil)); end
+end
+
+# == Synopsis
+# LittlePlugger is a module that provides Gem based plugin management.
+# By extending your own class or module with LittlePlugger you can easily
+# manage the loading and initializing of plugins provided by other gems.
+#
+# == Details
+# Plugins are great! They allow other developers to add functionality to
+# an application but relieve the application developer of the responsibility
+# for mainting some other developer's plugin code. LittlePlugger aims to
+# make it dead simple to manage external plugins as gems.
+#
+# === Naming
+# Every plugin managed by LittlePlugger will have a name represented as a
+# Symbol. This name is used to register the plugin, load the plugin file,
+# and manage the plugin class/module. Here are the three rules for plugin
+# names:
+#
+# 1) all lowercase with underscores
+# 2) maps to a file of the same name with an '.rb' extension
+# 3) converting the name to camel case yields the plugin class / module
+#
+# These rules are essentially the standard ruby practice of naming files
+# after the class / module the file defines.
+#
+# === Finding & Loading
+# Plugins are found by searching through the lib folders of all installed
+# gems; these gems are not necessarily loaded - just searched. If the lib
+# folder has a subdirectory that matches the +plugin_path+, then all ruby
+# files in the gem's +plugin_path+ are noted for later loading.
+#
+# A file is only loaded if the basename of the file matches one of the
+# registered plugin names. If no plugins are registered, then every file in
+# the +plugin_path+ is loaded.
+#
+# The plugin classes / modules are all expected to live in the same
+# namespace for a particular application. For example, all plugins for the
+# "Foo" application should reside in a "Foo::Plugins" namespace. This allows
+# the plugins to be automatically initialized by LittlePlugger.
+#
+# === Initializing
+# Optionally, plugins can provide an initialization method for running any
+# setup code needed by the plugin. This initialize method should be named as
+# follows: "initializer_#{plugin_name}" where the name of the plugin is
+# appended to the end of the initializer method name.
+#
+# If this method exists, it will be called automatically when plugins are
+# loaded. The order of loading of initialization is not strictly defined, so
+# do not rely on another plugin being initialized for your own plugin
+# successfully initialize.
+#
+# == Usage
+# LittlePlugger is used by extending your own class or module with the
+# LittlePlugger module.
+#
+# module Logging
+# extend LittlePlugger
+# end
+#
+# This defines a +plugin_path+ and a +plugin_module+ for our Logging module.
+# The +plugin_path+ is set to "logging/plugins", and therefore, the
+# +plugin_modlue+ is defined as Logging::Plugins. All plugins for the
+# Logging module should be found underneath this plugin module.
+#
+# The plugins for the Logging module are loaded and initialized by calling
+# the +initialize_plugins+ method.
+#
+# Logging.initialize_plugins
+#
+# If you only want to load the plugin files but not initialize the plugin
+# classes / modules then you can call the +load_plugins+ method.
+#
+# Logging.load_plugins
+#
+# Finally, you can get a hash of all the loaded plugins.
+#
+# Logging.plugins
+#
+# This returns a hash keyed by the plugin names with the plugin class /
+# module as the value.
+#
+# If you only want a certain set of plugins to be loaded, then pass the
+# names to the +plugin+ method.
+#
+# Logging.plugin :foo, :bar, :baz
+#
+# Now only three plugins for the Logging module will be loaded.
+#
+# === Customizing
+# LittlePlugger allows the use of a custom plugin path and module. These are
+# specified when extending with LilttlePlugger by passing the specific path
+# and module to LittlePlugger.
+#
+# class Hoe
+# extend LittlePlugger( :path => 'hoe', :module => Hoe )
+#
+# plugin(
+# :clean, :debug, :deps, :flay, :flog, :package,
+# :publish, :rcov, :signing, :test
+# )
+# end
+#
+# All ruby files found under the "hoe" directory will be treated as
+# plugins, and the plugin classes / modules should reside directly under the
+# Hoe namespace.
+#
+# We also specify a list of plugins to be loaded. Only these plugins will be
+# loaded and initialized by the LittlePlugger module. The +plugin+ method
+# can be called multiple times to add more plugins.
+#
+# source://little-plugger//lib/little-plugger.rb#111
+module LittlePlugger
+ class << self
+ # For a given path returns the class or module corresponding to the
+ # path. This method assumes a correspondence between directory names and
+ # Ruby namespaces.
+ #
+ # default_plugin_module( "foo_bar/baz/plugins" ) #=> FooBar::Baz::Plugins
+ #
+ # This method will fail if any of the namespaces have not yet been
+ # defined.
+ #
+ # source://little-plugger//lib/little-plugger.rb#267
+ def default_plugin_module(path); end
+
+ # For a given object returns a default plugin path. The path is
+ # created by splitting the object's class name on the namespace separator
+ # "::" and converting each part of the namespace into an underscored
+ # string (see the +underscore+ method). The strings are then joined using
+ # the File#join method to give a filesystem path. Appended to this path is
+ # the 'plugins' directory.
+ #
+ # default_plugin_path( FooBar::Baz ) #=> "foo_bar/baz/plugins"
+ #
+ # source://little-plugger//lib/little-plugger.rb#253
+ def default_plugin_path(obj); end
+
+ # Called when another object extends itself with LittlePlugger.
+ #
+ # source://little-plugger//lib/little-plugger.rb#226
+ def extended(other); end
+
+ # Convert the given string from camel case to snake case. Method liberally
+ # stolen from ActiveSupport.
+ #
+ # underscore( "FooBar" ) #=> "foo_bar"
+ #
+ # source://little-plugger//lib/little-plugger.rb#235
+ def underscore(string); end
+
+ # Returns the version string for the library.
+ #
+ # source://little-plugger//lib/little-plugger.rb#117
+ def version; end
+ end
+end
+
+# source://little-plugger//lib/little-plugger.rb#121
+module LittlePlugger::ClassMethods
+ # Add the _names_ to the list of plugins that will *not* be loaded. This
+ # list prevents the plugin system from loading unwanted or unneeded
+ # plugins.
+ #
+ # If a plugin name appears in both the 'disregard_plugin' list and the
+ # 'plugin' list, the disregard list takes precedence; that is, the plugin
+ # will not be loaded.
+ #
+ # source://little-plugger//lib/little-plugger.rb#137
+ def disregard_plugin(*names); end
+
+ # Add the _names_ to the list of plugins that will *not* be loaded. This
+ # list prevents the plugin system from loading unwanted or unneeded
+ # plugins.
+ #
+ # If a plugin name appears in both the 'disregard_plugin' list and the
+ # 'plugin' list, the disregard list takes precedence; that is, the plugin
+ # will not be loaded.
+ #
+ # source://little-plugger//lib/little-plugger.rb#137
+ def disregard_plugins(*names); end
+
+ # Iterate over the loaded plugin classes and modules and call the
+ # initialize method for each plugin. The plugin's initialize method is
+ # defeind as +initialize_plugin_name+, where the plugin name is unique
+ # to each plugin.
+ #
+ # source://little-plugger//lib/little-plugger.rb#175
+ def initialize_plugins; end
+
+ # Iterate through all installed gems looking for those that have the
+ # +plugin_path+ in their "lib" folder, and load all .rb files found in
+ # the gem's plugin path. Each .rb file should define one class or module
+ # that will be used as a plugin.
+ #
+ # source://little-plugger//lib/little-plugger.rb#187
+ def load_plugins; end
+
+ # Add the _names_ to the list of plugins that will be loaded.
+ #
+ # source://little-plugger//lib/little-plugger.rb#125
+ def plugin(*names); end
+
+ # This module or class where plugins are located.
+ #
+ # source://little-plugger//lib/little-plugger.rb#216
+ def plugin_module; end
+
+ # Returns the array of plugin names that will be loaded. If the array is
+ # empty, then any plugin found in the +plugin_path+ will be loaded.
+ #
+ # source://little-plugger//lib/little-plugger.rb#147
+ def plugin_names; end
+
+ # The path to search in a gem's 'lib' folder for plugins.
+ #
+ # source://little-plugger//lib/little-plugger.rb#210
+ def plugin_path; end
+
+ # Loads the desired plugins and returns a hash. The hash contains all
+ # the plugin classes and modules keyed by the plugin name.
+ #
+ # source://little-plugger//lib/little-plugger.rb#154
+ def plugins; end
+end
+
+# source://little-plugger//lib/little-plugger.rb#113
+LittlePlugger::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/logging@2.3.1.rbi b/sorbet/rbi/gems/logging@2.3.1.rbi
new file mode 100644
index 00000000..d1996e16
--- /dev/null
+++ b/sorbet/rbi/gems/logging@2.3.1.rbi
@@ -0,0 +1,4184 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `logging` gem.
+# Please instead update this file by running `bin/tapioca gem logging`.
+
+# --------------------------------------------------------------------------
+#
+# source://logging//lib/logging/utils.rb#70
+class File < ::IO
+ # Returns true if another process holds an exclusive lock on the
+ # file. Returns false if this is not the case.
+ #
+ # If a block of code is passed to this method, it will be run iff
+ # this process can obtain an exclusive lock on the file. The block will be
+ # run while this lock is held, and the exclusive lock will be released when
+ # the method returns.
+ #
+ # The exclusive lock is requested in a non-blocking mode. This method will
+ # return immediately (and the block will not be executed) if an exclusive
+ # lock cannot be obtained.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/utils.rb#84
+ def flock?; end
+
+ # Execute a block in the context of a shared lock on this file. A
+ # shared lock will be obtained on the file, the block executed, and the lock
+ # released.
+ #
+ # source://logging//lib/logging/utils.rb#100
+ def flock_sh; end
+end
+
+# --------------------------------------------------------------------------
+#
+# source://logging//lib/logging/utils.rb#120
+module FileUtils
+ private
+
+ # Concatenate the contents of the _src_ file to the end of the _dest_ file.
+ # If the _dest_ file does not exist, then the _src_ file is copied to the
+ # _dest_ file using +copy_file+.
+ #
+ # source://logging//lib/logging/utils.rb#126
+ def concat(src, dest); end
+
+ class << self
+ # Concatenate the contents of the _src_ file to the end of the _dest_ file.
+ # If the _dest_ file does not exist, then the _src_ file is copied to the
+ # _dest_ file using +copy_file+.
+ #
+ # source://logging//lib/logging/utils.rb#126
+ def concat(src, dest); end
+ end
+end
+
+# source://logging//lib/logging.rb#11
+HAVE_SYSLOG = T.let(T.unsafe(nil), TrueClass)
+
+# source://logging//lib/logging.rb#18
+module Logging
+ extend ::LittlePlugger
+ extend ::LittlePlugger::ClassMethods
+
+ class << self
+ # Access to the appenders.
+ #
+ # source://logging//lib/logging.rb#139
+ def appenders; end
+
+ # call-seq:
+ # Logging.backtrace #=> true or false
+ # Logging.backtrace( value ) #=> true or false
+ #
+ # Without any arguments, returns the global exception backtrace logging
+ # value. When set to +true+ backtraces will be written to the logs; when
+ # set to +false+ backtraces will be suppressed.
+ #
+ # When an argument is given the global exception backtrace setting will
+ # be changed. Value values are "on" , :on and +true+ to
+ # turn on backtraces and "off" , :off and +false+ to
+ # turn off backtraces.
+ #
+ # source://logging//lib/logging.rb#307
+ def backtrace(b = T.unsafe(nil)); end
+
+ # Returns the value of attribute basepath.
+ #
+ # source://logging//lib/logging.rb#385
+ def basepath; end
+
+ # Used to define a `basepath` that will be removed from filenames when
+ # reporting tracing information for log events. Normally you would set this
+ # to the root of your project:
+ #
+ # Logging.basepath = "/home/user/nifty_project"
+ #
+ # Or if you are in a Rails environment:
+ #
+ # Logging.basepath = Rails.root.to_s
+ #
+ # The basepath is expanded to a full path with trailing slashes removed.
+ # This setting will be cleared by a call to `Logging.reset`.
+ #
+ # source://logging//lib/logging.rb#377
+ def basepath=(path); end
+
+ # Returns the value of attribute cause_depth.
+ #
+ # source://logging//lib/logging.rb#363
+ def cause_depth; end
+
+ # Set the default Exception#cause depth used when formatting Exceptions.
+ # This sets the maximum number of nested errors that will be formatted by
+ # the layouts before giving up. This is used to avoid extremely large
+ # outputs.
+ #
+ # Logging.cause_depth = nil # set to the DEFAULT_CAUSE_DEPTH
+ # Logging.cause_depth = 0 # do not show any exception causes
+ # Logging.cause_depth = 1024 # show up to 1024 causes
+ # Logging.cause_depth = -1 # results in the DEFAULT_CAUSE_DEPTH
+ #
+ # source://logging//lib/logging.rb#354
+ def cause_depth=(value); end
+
+ # Public: Convenience method that will clear both the Mapped Diagnostic
+ # Context and the Nested Diagnostic Context of the current thread. If the
+ # `all` flag passed to this method is true, then the diagnostic contexts for
+ # _every_ thread in the application will be cleared.
+ #
+ # all - Boolean flag used to clear the context of every Thread (default is false)
+ #
+ # Returns the Logging module.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#397
+ def clear_diagnostic_contexts(all = T.unsafe(nil)); end
+
+ # Returns the color scheme identified by the given _name_. If there is no
+ # color scheme +nil+ is returned.
+ #
+ # If color scheme options are supplied then a new color scheme is created.
+ # Any existing color scheme with the given _name_ will be replaced by the
+ # new color scheme.
+ #
+ # source://logging//lib/logging.rb#150
+ def color_scheme(name, opts = T.unsafe(nil)); end
+
+ # call-seq:
+ # Logging.format_as( obj_format )
+ #
+ # Defines the default _obj_format_ method to use when converting objects
+ # into string representations for logging. _obj_format_ can be one of
+ # :string , :inspect , :json or :yaml .
+ # These formatting commands map to the following object methods
+ #
+ # * :string => to_s
+ # * :inspect => inspect
+ # * :yaml => to_yaml
+ # * :json => MultiJson.encode(obj)
+ #
+ # An +ArgumentError+ is raised if anything other than +:string+,
+ # +:inspect+, +:json+ or +:yaml+ is passed to this method.
+ #
+ # source://logging//lib/logging.rb#283
+ def format_as(f); end
+
+ # call-seq:
+ # include Logging.globally
+ # include Logging.globally( :logger )
+ #
+ # Add a "logger" method to the including context. If included from
+ # Object or Kernel, the logger method will be available to all objects.
+ #
+ # Optionally, a method name can be given and that will be used to
+ # provided access to the logger:
+ #
+ # include Logging.globally( :log )
+ # log.info "Just using a shorter method name"
+ #
+ # If you prefer to use the shorter "log" to access the logger.
+ #
+ # ==== Example
+ #
+ # include Logging.globally
+ #
+ # class Foo
+ # logger.debug "Loading the Foo class"
+ # def initialize
+ # logger.info "Creating some new foo"
+ # end
+ # end
+ #
+ # logger.fatal "End of example"
+ #
+ # source://logging//lib/logging.rb#196
+ def globally(name = T.unsafe(nil)); end
+
+ # call-seq:
+ # Logging.init( levels )
+ #
+ # Defines the levels available to the loggers. The _levels_ is an array
+ # of strings and symbols. Each element in the array is downcased and
+ # converted to a symbol; these symbols are used to create the logging
+ # methods in the loggers.
+ #
+ # The first element in the array is the lowest logging level. Setting the
+ # logging level to this value will enable all log messages. The last
+ # element in the array is the highest logging level. Setting the logging
+ # level to this value will disable all log messages except this highest
+ # level.
+ #
+ # This method should be invoked only once to configure the logging
+ # levels. It is automatically invoked with the default logging levels
+ # when the first logger is created.
+ #
+ # The levels "all" and "off" are reserved and will be ignored if passed
+ # to this method.
+ #
+ # Example:
+ #
+ # Logging.init :debug, :info, :warn, :error, :fatal
+ # log = Logging::Logger['my logger']
+ # log.level = :warn
+ # log.warn 'Danger! Danger! Will Robinson'
+ # log.info 'Just FYI' # => not logged
+ #
+ # or
+ #
+ # Logging.init %w(DEBUG INFO NOTICE WARNING ERR CRIT ALERT EMERG)
+ # log = Logging::Logger['syslog']
+ # log.level = :notice
+ # log.warning 'This is your first warning'
+ # log.info 'Just FYI' # => not logged
+ #
+ # source://logging//lib/logging.rb#239
+ def init(*args); end
+
+ # Return +true+ if the Logging framework is initialized.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging.rb#566
+ def initialized?; end
+
+ # Access to the layouts.
+ #
+ # source://logging//lib/logging.rb#133
+ def layouts; end
+
+ # Convert the given level into a level number.
+ #
+ # source://logging//lib/logging.rb#519
+ def level_num(level); end
+
+ # :stopdoc:
+ # Convert the given level into a canonical form - a lowercase string.
+ #
+ # source://logging//lib/logging.rb#511
+ def levelify(level); end
+
+ # Returns the library path for the module. If any arguments are given,
+ # they will be joined to the end of the library path using
+ # File.join .
+ #
+ # source://logging//lib/logging.rb#391
+ def libpath(*args, &block); end
+
+ # Internal logging method for use by the framework.
+ #
+ # source://logging//lib/logging.rb#528
+ def log_internal(level = T.unsafe(nil), &block); end
+
+ # Internal logging method for handling exceptions. If the
+ # `Thread#abort_on_exception` flag is set then the
+ # exception will be raised again.
+ #
+ # source://logging//lib/logging.rb#535
+ def log_internal_error(err); end
+
+ # call-seq:
+ # Logging.logger( device, age = 7, size = 1048576 )
+ # Logging.logger( device, age = 'weekly' )
+ #
+ # This convenience method returns a Logger instance configured to behave
+ # similarly to a core Ruby Logger instance.
+ #
+ # The _device_ is the logging destination. This can be a filename
+ # (String) or an IO object (STDERR, STDOUT, an open File, etc.). The
+ # _age_ is the number of old log files to keep or the frequency of
+ # rotation (+daily+, +weekly+, or +monthly+). The _size_ is the maximum
+ # logfile size and is only used when _age_ is a number.
+ #
+ # Using the same _device_ twice will result in the same Logger instance
+ # being returned. For example, if a Logger is created using STDOUT then
+ # the same Logger instance will be returned the next time STDOUT is
+ # used. A new Logger instance can be obtained by closing the previous
+ # logger instance.
+ #
+ # log1 = Logging.logger(STDOUT)
+ # log2 = Logging.logger(STDOUT)
+ # log1.object_id == log2.object_id #=> true
+ #
+ # log1.close
+ # log2 = Logging.logger(STDOUT)
+ # log1.object_id == log2.object_id #=> false
+ #
+ # The format of the log messages can be changed using a few optional
+ # parameters. The :pattern can be used to change the log
+ # message format. The :date_pattern can be used to change how
+ # timestamps are formatted.
+ #
+ # log = Logging.logger(STDOUT,
+ # :pattern => "[%d] %-5l : %m\n",
+ # :date_pattern => "%Y-%m-%d %H:%M:%S.%s")
+ #
+ # See the documentation for the Logging::Layouts::Pattern class for a
+ # full description of the :pattern and :date_pattern formatting strings.
+ #
+ # source://logging//lib/logging.rb#72
+ def logger(*args); end
+
+ # Public: Accessor method for getting the current Thread's
+ # MappedDiagnosticContext.
+ #
+ # Returns MappedDiagnosticContext
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#379
+ def mdc; end
+
+ # Public: Accessor method for getting the current Thread's
+ # NestedDiagnosticContext.
+ #
+ # Returns NestedDiagnosticContext
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#386
+ def ndc; end
+
+ # Returns the lpath for the module. If any arguments are given,
+ # they will be joined to the end of the path using
+ # File.join .
+ #
+ # source://logging//lib/logging.rb#408
+ def path(*args, &block); end
+
+ # Raise an exception when an error is encountered while logging, be it with
+ # a backing store, formatter, or anything else. You probably wouldn't want
+ # to enable this outside of test.
+ #
+ # Not that only one error will ever be raised per logging backend, as
+ # backends that raise errors on write will be set to :off.
+ #
+ # source://logging//lib/logging.rb#500
+ def raise_errors=(boolean); end
+
+ # Whether or not we should raise errors when writing logs.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging.rb#505
+ def raise_errors?; end
+
+ # Reopen all appenders. This method should be called immediately after a
+ # fork to ensure no conflict with file descriptors and calls to fcntl or
+ # flock.
+ #
+ # source://logging//lib/logging.rb#162
+ def reopen; end
+
+ # Reset the Logging framework to it's uninitialized state
+ #
+ # source://logging//lib/logging.rb#549
+ def reset; end
+
+ # call-seq:
+ # show_configuration( io = STDOUT, logger = 'root' )
+ #
+ # This method is used to show the configuration of the logging
+ # framework. The information is written to the given _io_ stream
+ # (defaulting to stdout). Normally the configuration is dumped starting
+ # with the root logger, but any logger name can be given.
+ #
+ # Each line contains information for a single logger and it's appenders.
+ # A child logger is indented two spaces from it's parent logger. Each
+ # line contains the logger name, level, additivity, and trace settings.
+ # Here is a brief example:
+ #
+ # root ........................... *info -T
+ # LoggerA ...................... info +A -T
+ # LoggerA::LoggerB ........... info +A -T
+ # LoggerA::LoggerC ........... *debug +A -T
+ # LoggerD ...................... *warn -A +T
+ #
+ # The lines can be deciphered as follows:
+ #
+ # 1) name - the name of the logger
+ #
+ # 2) level - the logger level; if it is preceded by an
+ # asterisk then the level was explicitly set for that
+ # logger (as opposed to being inherited from the parent
+ # logger)
+ #
+ # 3) additivity - a "+A" shows the logger is additive, and log events
+ # will be passed up to the parent logger; "-A" shows
+ # that the logger will *not* pass log events up to the
+ # parent logger
+ #
+ # 4) tracing - a "+T" shows that the logger will include caller
+ # tracing information in generated log events (this
+ # includes filename and line number of the log
+ # message); "-T" shows that the logger does not include
+ # caller tracing information in the log events
+ #
+ # If a logger has appenders then they are listed, one per line,
+ # immediately below the logger. Appender lines are pre-pended with a
+ # single dash:
+ #
+ # root ........................... *info -T
+ # -
+ # LoggerA ...................... info +A -T
+ # LoggerA::LoggerB ........... info +A -T
+ # LoggerA::LoggerC ........... *debug +A -T
+ # LoggerD ...................... *warn -A +T
+ # -
+ #
+ # We can see in this configuration dump that all the loggers will append
+ # to stdout via the Stdout appender configured in the root logger. All
+ # the loggers are additive, and so their generated log events will be
+ # passed up to the root logger.
+ #
+ # The exception in this configuration is LoggerD. Its additivity is set
+ # to false. It uses its own appender to send messages to stderr.
+ #
+ # source://logging//lib/logging.rb#480
+ def show_configuration(io = T.unsafe(nil), logger = T.unsafe(nil), indent = T.unsafe(nil)); end
+
+ # Close all appenders
+ #
+ # source://logging//lib/logging.rb#541
+ def shutdown(*args); end
+
+ # Returns the value of attribute utc_offset.
+ #
+ # source://logging//lib/logging.rb#342
+ def utc_offset; end
+
+ # Set the default UTC offset used when formatting time values sent to the
+ # appenders. If left unset, the default local time zone will be used for
+ # time values. This method accepts the `utc_offset` format supported by the
+ # `Time#localtime` method in Ruby.
+ #
+ # Passing "UTC" or `0` as the UTC offset will cause all times to be reported
+ # in the UTC timezone.
+ #
+ # Logging.utc_offset = "-07:00" # Mountain Standard Time in North America
+ # Logging.utc_offset = "+01:00" # Central European Time
+ # Logging.utc_offset = "UTC" # UTC
+ # Logging.utc_offset = 0 # UTC
+ #
+ # source://logging//lib/logging.rb#332
+ def utc_offset=(value); end
+
+ # Returns the version string for the library.
+ #
+ # source://logging//lib/logging/version.rb#5
+ def version; end
+ end
+end
+
+# The +Appender+ class is provides methods for appending log events to a
+# logging destination. The log events are formatted into strings using a
+# Layout.
+#
+# All other Appenders inherit from this class which provides stub methods.
+# Each subclass should provide a +write+ method that will write log
+# messages to the logging destination.
+#
+# source://logging//lib/logging/appender.rb#12
+class Logging::Appender
+ # call-seq:
+ # Appender.new( name )
+ # Appender.new( name, :layout => layout )
+ #
+ # Creates a new appender using the given name. If no Layout is specified,
+ # then a Basic layout will be used. Any logging header supplied by the
+ # layout will be written to the logging destination when the Appender is
+ # created.
+ #
+ # Options:
+ #
+ # :layout => the layout to use when formatting log events
+ # :level => the level at which to log
+ # :encoding => encoding to use when writing messages (defaults to UTF-8)
+ # :filters => filters to apply to events before processing
+ #
+ # @return [Appender] a new instance of Appender
+ #
+ # source://logging//lib/logging/appender.rb#32
+ def initialize(name, opts = T.unsafe(nil)); end
+
+ # call-seq:
+ # appender << string
+ #
+ # Write the given _string_ to the logging destination "as is" -- no
+ # layout formatting will be performed.
+ #
+ # source://logging//lib/logging/appender.rb#91
+ def <<(str); end
+
+ # Save off the original `to_s` for use in tests
+ def _to_s; end
+
+ # Sets the filter(s) to be used by this appender. The filters will be
+ # applied in the order that they are added to the appender.
+ #
+ # Examples
+ # add_filters(Logging::Filters::Level.new(:warn, :error))
+ #
+ # Returns this appender instance.
+ #
+ # source://logging//lib/logging/appender.rb#180
+ def add_filters(*args); end
+
+ # Check to see if the event should be processed by the appender. An event will
+ # be rejected if the event level is lower than the configured level for the
+ # appender. Or it will be rejected if one of the filters rejects the event.
+ #
+ # event - The LogEvent to check
+ #
+ # Returns the event if it is allowed; returns `nil` if it is not allowed.
+ #
+ # source://logging//lib/logging/appender.rb#289
+ def allow(event); end
+
+ # call-seq:
+ # append( event )
+ #
+ # Write the given _event_ to the logging destination. The log event will
+ # be processed through the Layout associated with the Appender.
+ #
+ # source://logging//lib/logging/appender.rb#66
+ def append(event); end
+
+ # call-seq:
+ # close( footer = true )
+ #
+ # Close the appender and writes the layout footer to the logging
+ # destination if the _footer_ flag is set to +true+. Log events will
+ # no longer be written to the logging destination after the appender
+ # is closed.
+ #
+ # source://logging//lib/logging/appender.rb#199
+ def close(footer = T.unsafe(nil)); end
+
+ # call-seq:
+ # closed?
+ #
+ # Returns +true+ if the appender has been closed; returns +false+
+ # otherwise. When an appender is closed, no more log events can be
+ # written to the logging destination.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appender.rb#226
+ def closed?; end
+
+ # Returns the current Encoding for the appender. The default external econding
+ # will be used if none is explicitly set.
+ #
+ # source://logging//lib/logging/appender.rb#263
+ def encoding; end
+
+ # Set the appender encoding to the given value. The value can either be an
+ # Encoding instance or a String or Symbol referring to a valid encoding.
+ #
+ # This method only applies to Ruby 1.9 or later. The encoding will always be
+ # nil for older Rubies.
+ #
+ # value - The encoding as a String, Symbol, or Encoding instance.
+ #
+ # Raises ArgumentError if the value is not a valid encoding.
+ #
+ # source://logging//lib/logging/appender.rb#274
+ def encoding=(value); end
+
+ # Returns the value of attribute filters.
+ #
+ # source://logging//lib/logging/appender.rb#14
+ def filters; end
+
+ # Sets the filter(s) to be used by this appender. This method will clear the
+ # current filter set and add those passed to this setter method.
+ #
+ # Examples
+ # appender.filters = Logging::Filters::Level.new(:warn, :error)
+ #
+ # source://logging//lib/logging/appender.rb#168
+ def filters=(args); end
+
+ # call-seq:
+ # flush
+ #
+ # Call +flush+ to force an appender to write out any buffered log events.
+ # Similar to IO#flush, so use in a similar fashion.
+ #
+ # source://logging//lib/logging/appender.rb#245
+ def flush; end
+
+ # Returns the value of attribute layout.
+ #
+ # source://logging//lib/logging/appender.rb#14
+ def layout; end
+
+ # call-seq
+ # appender.layout = Logging::Layouts::Basic.new
+ #
+ # Sets the layout to be used by this appender.
+ #
+ # source://logging//lib/logging/appender.rb#154
+ def layout=(layout); end
+
+ # Returns the value of attribute level.
+ #
+ # source://logging//lib/logging/appender.rb#14
+ def level; end
+
+ # call-seq:
+ # level = :all
+ #
+ # Set the level for this appender; log events below this level will be
+ # ignored by this appender. The level can be either a +String+, a
+ # +Symbol+, or an +Integer+. An +ArgumentError+ is raised if this is not
+ # the case.
+ #
+ # There are two special levels -- "all" and "off". The former will
+ # enable recording of all log events. The latter will disable the
+ # recording of all events.
+ #
+ # Example:
+ #
+ # appender.level = :debug
+ # appender.level = "INFO"
+ # appender.level = 4
+ # appender.level = 'off'
+ # appender.level = :all
+ #
+ # These produce an +ArgumentError+
+ #
+ # appender.level = Object
+ # appender.level = -1
+ # appender.level = 1_000_000_000_000
+ #
+ # source://logging//lib/logging/appender.rb#133
+ def level=(level); end
+
+ # Returns the value of attribute name.
+ #
+ # source://logging//lib/logging/appender.rb#14
+ def name; end
+
+ # Returns `true` if the appender has been turned off. This is useful for
+ # appenders that write data to a remote location (such as syslog or email),
+ # and that write encounters too many errors. The appender can turn itself off
+ # to and log an error via the `Logging` logger.
+ #
+ # Set the appender's level to a valid value to turn it back on.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appender.rb#303
+ def off?; end
+
+ # Reopen the connection to the underlying logging destination. If the
+ # connection is currently closed then it will be opened. If the connection
+ # is currently open then it will be closed and immediately opened.
+ #
+ # source://logging//lib/logging/appender.rb#234
+ def reopen; end
+
+ # call-seq:
+ # to_s => string
+ #
+ # Returns a string representation of the appender.
+ #
+ # source://logging//lib/logging/appender.rb#257
+ def to_s; end
+
+ private
+
+ # call-seq:
+ # write( event )
+ #
+ # Writes the given _event_ to the logging destination. Subclasses should
+ # provide an implementation of this method. The _event_ can be either a
+ # LogEvent or a String. If a LogEvent, then it will be formatted using
+ # the layout given to the appender when it was created.
+ #
+ # source://logging//lib/logging/appender.rb#318
+ def write(event); end
+end
+
+# source://logging//lib/logging/appenders.rb#3
+module Logging::Appenders
+ extend ::Logging::Appenders
+
+ # call-seq:
+ # Appenders[name]
+ #
+ # Returns the appender instance stored in the appender hash under the
+ # key _name_, or +nil+ if no appender has been created using that name.
+ #
+ # source://logging//lib/logging/appenders.rb#11
+ def [](name); end
+
+ # call-seq:
+ # Appenders[name] = appender
+ #
+ # Stores the given _appender_ instance in the appender hash under the
+ # key _name_.
+ #
+ # source://logging//lib/logging/appenders.rb#19
+ def []=(name, value); end
+
+ # call-seq:
+ # each {|appender| block}
+ #
+ # Yield each appender to the _block_.
+ #
+ # source://logging//lib/logging/appenders.rb#34
+ def each(&block); end
+
+ # call-seq:
+ # Appenders.remove( name )
+ #
+ # Removes the appender instance stored in the appender hash under the
+ # key _name_.
+ #
+ # source://logging//lib/logging/appenders.rb#27
+ def remove(name); end
+
+ # :stopdoc:
+ #
+ # source://logging//lib/logging/appenders.rb#40
+ def reset; end
+
+ class << self
+ # Accessor / Factory for the File appender.
+ #
+ # source://logging//lib/logging/appenders/file.rb#5
+ def file(*args); end
+
+ # Accessor / Factory for the IO appender.
+ #
+ # source://logging//lib/logging/appenders/io.rb#5
+ def io(*args); end
+
+ # Accessor / Factory for the RollingFile appender.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#4
+ def rolling_file(*args); end
+
+ # Accessor / Factory for the Stderr appender.
+ #
+ # source://logging//lib/logging/appenders/console.rb#76
+ def stderr(*args); end
+
+ # Accessor / Factory for the Stdout appender.
+ #
+ # source://logging//lib/logging/appenders/console.rb#68
+ def stdout(*args); end
+
+ # Accessor / Factory for the StringIo appender.
+ #
+ # source://logging//lib/logging/appenders/string_io.rb#6
+ def string_io(*args); end
+
+ # Accessor / Factory for the Syslog appender.
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#11
+ def syslog(*args); end
+ end
+end
+
+# The Buffering module is used to implement buffering of the log messages
+# in a given appender. The size of the buffer can be specified, and the
+# buffer can be configured to auto-flush at a given threshold. The
+# threshold can be a single message or a very large number of messages.
+#
+# Log messages of a certain level can cause the buffer to be flushed
+# immediately. If an error occurs, all previous messages and the error
+# message will be written immediately to the logging destination if the
+# buffer is configured to do so.
+#
+# source://logging//lib/logging/appenders/buffering.rb#14
+module Logging::Appenders::Buffering
+ # Setup the message buffer and other variables for automatically and
+ # periodically flushing the buffer.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#42
+ def initialize(*args, &block); end
+
+ # When set, the buffer will be flushed using an asynchronous Thread. That
+ # is, the main program thread will not be blocked during writes.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#32
+ def async; end
+
+ # Enable or disable asynchronous logging via a dedicated logging Thread.
+ # Pass in `true` to enable and `false` to disable.
+ #
+ # bool - A boolean value
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#232
+ def async=(bool); end
+
+ # When set, the buffer will be flushed using an asynchronous Thread. That
+ # is, the main program thread will not be blocked during writes.
+ def async?; end
+
+ # The auto-flushing setting. When the buffer reaches this size, all
+ # messages will be be flushed automatically.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#24
+ def auto_flushing; end
+
+ # Configure the auto-flushing threshold. Auto-flushing is used to flush
+ # the contents of the logging buffer to the logging destination
+ # automatically when the buffer reaches a certain threshold.
+ #
+ # By default, the auto-flushing will be configured to flush after each
+ # log message.
+ #
+ # The allowed settings are as follows:
+ #
+ # N : flush after every N messages (N is an integer)
+ # true : flush after each log message
+ # false OR
+ # nil OR
+ # 0 : only flush when the buffer is full (500 messages)
+ #
+ # If the default buffer size of 500 is too small, then you can manually
+ # configure it to be as large as you want. This will consume more memory.
+ #
+ # auto_flushing = 42_000
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#160
+ def auto_flushing=(period); end
+
+ # The buffer holding the log messages
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#20
+ def buffer; end
+
+ # Clear the underlying buffer of all log events. These events will not be
+ # appended to the logging destination; they will be lost.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#102
+ def clear!; end
+
+ # Close the message buffer by flushing all log events to the appender. If an
+ # async flusher thread is running, shut it down and allow it to exit.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#55
+ def close(*args); end
+
+ # Call `flush` to force an appender to write out any buffered log events.
+ # Similar to `IO#flush`, so use in a similar fashion.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#78
+ def flush; end
+
+ # When set, the buffer will be flushed at regular intervals defined by the
+ # flush_period.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#28
+ def flush_period; end
+
+ # Configure periodic flushing of the message buffer. Periodic flushing is
+ # used to flush the contents of the logging buffer at some regular
+ # interval. Periodic flushing is disabled by default.
+ #
+ # When enabling periodic flushing the flush period should be set using one
+ # of the following formats: "HH:MM:SS" or seconds as an numeric or string.
+ #
+ # "01:00:00" : every hour
+ # "00:05:00" : every 5 minutes
+ # "00:00:30" : every 30 seconds
+ # 60 : every 60 seconds (1 minute)
+ # "120" : every 120 seconds (2 minutes)
+ #
+ # For the periodic flusher to work properly, the auto-flushing threshold
+ # will be set to the default value of 500. The auto-flushing threshold can
+ # be changed, but it must be greater than 1.
+ #
+ # To disable the periodic flusher simply set the flush period to +nil+.
+ # The auto-flushing threshold will not be changed; it must be disabled
+ # manually if so desired.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#201
+ def flush_period=(period); end
+
+ # Returns `true` if an asynchronous flush period has been defined for the
+ # appender.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#223
+ def flush_period?; end
+
+ # Configure the levels that will trigger an immediate flush of the
+ # logging buffer. When a log event of the given level is seen, the
+ # buffer will be flushed immediately. Only the levels explicitly given
+ # in this assignment will flush the buffer; if an "error" message is
+ # configured to immediately flush the buffer, a "fatal" message will not
+ # even though it is a higher level. Both must be explicitly passed to
+ # this assignment.
+ #
+ # You can pass in a single level name or number, an array of level
+ # names or numbers, or a string containing a comma separated list of level
+ # names or numbers.
+ #
+ # immediate_at = :error
+ # immediate_at = [:error, :fatal]
+ # immediate_at = "warn, error"
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#122
+ def immediate_at=(level); end
+
+ # Reopen the connection to the underlying logging destination. In addition
+ # if the appender is configured for asynchronous flushing, then the flushing
+ # thread will be stopped and restarted.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#71
+ def reopen; end
+
+ # Messages will be written in chunks. This controls the number of messages
+ # to pull from the buffer for each write operation. The default is to pull
+ # all messages from the buffer at once.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#37
+ def write_size; end
+
+ # Messages will be written in chunks. This controls the number of messages
+ # to pull from the buffer for each write operation. The default is to pull
+ # all messages from the buffer at once.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#37
+ def write_size=(_arg0); end
+
+ protected
+
+ # Configure the buffering using the arguments found in the give options
+ # hash. This method must be called in order to use the message buffer.
+ # The supported options are "immediate_at" and "auto_flushing". Please
+ # refer to the documentation for those methods to see the allowed
+ # options.
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#247
+ def configure_buffering(opts); end
+
+ # Returns `true` if the `event` level matches one of the configured
+ # immediate logging levels. Otherwise returns `false`.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#259
+ def immediate?(event); end
+
+ private
+
+ # Attempt to parse an hours/minutes/seconds value from the string and return
+ # an integer number of seconds.
+ #
+ # str - The input String to parse for time values.
+ #
+ # Examples
+ #
+ # _parse_hours_minutes_seconds("14:12:42") #=> 51162
+ # _parse_hours_minutes_seconds("foo") #=> nil
+ #
+ # Returns a Numeric or `nil`
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#318
+ def _parse_hours_minutes_seconds(str); end
+
+ # Convert the string into a numeric value. If the string does not
+ # represent a valid Integer or Float then `nil` is returned.
+ #
+ # str - The input String to parse for Numeric values.
+ #
+ # Examples
+ #
+ # _parse_numeric("10") #=> 10
+ # _parse_numeric("1.0") #=> 1.0
+ # _parse_numeric("foo") #=> nil
+ #
+ # Returns a Numeric or `nil`
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#337
+ def _parse_numeric(str); end
+
+ # Using the flush_period, create a new AsyncFlusher attached to this
+ # appender. If the flush_period is nil, then no action will be taken. If a
+ # AsyncFlusher already exists, it will be stopped and a new one will be
+ # created.
+ #
+ # Returns `nil`
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#347
+ def _setup_async_flusher; end
+
+ # call-seq:
+ # write( event )
+ #
+ # Writes the given `event` to the logging destination. The `event` can
+ # be either a LogEvent or a String. If a LogEvent, then it will be
+ # formatted using the layout given to the appender when it was created.
+ #
+ # The `event` will be formatted and then buffered until the
+ # "auto_flushing" level has been reached. At this time the canonical_write
+ # method will be used to log all events stored in the buffer.
+ #
+ # Returns this appender instance
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#279
+ def write(event); end
+end
+
+# The AsyncFlusher contains an internal run loop that will periodically
+# wake up and flush any log events contained in the message buffer of the
+# owning appender instance. The AsyncFlusher relies on a `signal` from
+# the appender in order to wakeup and perform the flush on the appender.
+#
+# source://logging//lib/logging/appenders/buffering.rb#372
+class Logging::Appenders::Buffering::AsyncFlusher
+ # Create a new AsyncFlusher instance that will call the `flush`
+ # method on the given `appender`. The `flush` method will be called
+ # every `period` seconds, but only when the message buffer is non-empty.
+ #
+ # appender - The Appender instance to periodically `flush`
+ # period - The Numeric sleep period or `nil`
+ #
+ # @return [AsyncFlusher] a new instance of AsyncFlusher
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#381
+ def initialize(appender, period); end
+
+ # Returns `true` if the flusher should immeidately write the buffer to the
+ # IO destination.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#453
+ def immediate?; end
+
+ # Signal the async flusher. This will wake up the run loop if it is
+ # currently waiting for something to do. If the signal method is never
+ # called, the async flusher will never perform the flush action on
+ # the appender.
+ #
+ # immediate - Set to `true` if the sleep period should be skipped
+ #
+ # Returns this flusher instance
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#433
+ def signal(immediate = T.unsafe(nil)); end
+
+ # Start the periodic flusher's internal run loop.
+ #
+ # Returns this flusher instance
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#396
+ def start; end
+
+ # Stop the async flusher's internal run loop.
+ #
+ # Returns this flusher instance
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#417
+ def stop; end
+
+ # Returns `true` if the flusher is waiting for a signal. Returns `false`
+ # if the flusher is somewhere in the processing loop.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appenders/buffering.rb#447
+ def waiting?; end
+
+ private
+
+ # source://logging//lib/logging/appenders/buffering.rb#459
+ def _try_to_sleep; end
+
+ # source://logging//lib/logging/appenders/buffering.rb#465
+ def _wait_for_signal; end
+end
+
+# Default buffer size
+#
+# source://logging//lib/logging/appenders/buffering.rb#17
+Logging::Appenders::Buffering::DEFAULT_BUFFER_SIZE = T.let(T.unsafe(nil), Integer)
+
+# This class is provides an Appender base class for writing to the standard IO
+# stream - STDOUT and STDERR. This class should not be instantiated directly.
+# The `Stdout` and `Stderr` subclasses should be used.
+#
+# source://logging//lib/logging/appenders/console.rb#6
+class Logging::Appenders::Console < ::Logging::Appenders::IO
+ # call-seq:
+ # Stdout.new( name = 'stdout' )
+ # Stderr.new( :layout => layout )
+ # Stdout.new( name = 'stdout', :level => 'info' )
+ #
+ # Creates a new Stdout/Stderr Appender. The name 'stdout'/'stderr' will be
+ # used unless another is given. Optionally, a layout can be given for the
+ # appender to use (otherwise a basic appender will be created) and a log
+ # level can be specified.
+ #
+ # Options:
+ #
+ # :layout => the layout to use when formatting log events
+ # :level => the level at which to log
+ #
+ # @return [Console] a new instance of Console
+ #
+ # source://logging//lib/logging/appenders/console.rb#23
+ def initialize(*args); end
+
+ # Reopen the connection to the underlying logging destination. If the
+ # connection is currently closed then it will be opened. If the connection
+ # is currently open then it will be closed and immediately reopened.
+ #
+ # source://logging//lib/logging/appenders/console.rb#38
+ def reopen; end
+
+ private
+
+ # source://logging//lib/logging/appenders/console.rb#49
+ def open_fd; end
+end
+
+# This class provides an Appender that can write to a File.
+#
+# source://logging//lib/logging/appenders/file.rb#11
+class Logging::Appenders::File < ::Logging::Appenders::IO
+ # call-seq:
+ # File.new( name, :filename => 'file' )
+ # File.new( name, :filename => 'file', :truncate => true )
+ # File.new( name, :filename => 'file', :layout => layout )
+ #
+ # Creates a new File Appender that will use the given filename as the
+ # logging destination. If the file does not already exist it will be
+ # created. If the :truncate option is set to +true+ then the file will
+ # be truncated before writing begins; otherwise, log messages will be
+ # appended to the file.
+ #
+ # @raise [ArgumentError]
+ # @return [File] a new instance of File
+ #
+ # source://logging//lib/logging/appenders/file.rb#45
+ def initialize(name, opts = T.unsafe(nil)); end
+
+ # Returns the path to the logfile.
+ #
+ # source://logging//lib/logging/appenders/file.rb#61
+ def filename; end
+
+ # Reopen the connection to the underlying logging destination. If the
+ # connection is currently closed then it will be opened. If the connection
+ # is currently open then it will be closed and immediately opened.
+ #
+ # source://logging//lib/logging/appenders/file.rb#66
+ def reopen; end
+
+ protected
+
+ # source://logging//lib/logging/appenders/file.rb#99
+ def create_file; end
+
+ # source://logging//lib/logging/appenders/file.rb#92
+ def open_file; end
+
+ # source://logging//lib/logging/appenders/file.rb#81
+ def truncate; end
+
+ class << self
+ # call-seq:
+ # File.assert_valid_logfile( filename ) => true
+ #
+ # Asserts that the given _filename_ can be used as a log file by ensuring
+ # that if the file exists it is a regular file and it is writable. If
+ # the file does not exist, then the directory is checked to see if it is
+ # writable.
+ #
+ # An +ArgumentError+ is raised if any of these assertions fail.
+ #
+ # source://logging//lib/logging/appenders/file.rb#22
+ def assert_valid_logfile(fn); end
+ end
+end
+
+# This class provides an Appender that can write to any IO stream
+# configured for writing.
+#
+# source://logging//lib/logging/appenders/io.rb#12
+class Logging::Appenders::IO < ::Logging::Appender
+ include ::Logging::Appenders::Buffering
+
+ # call-seq:
+ # IO.new( name, io )
+ # IO.new( name, io, :layout => layout )
+ #
+ # Creates a new IO Appender using the given name that will use the _io_
+ # stream as the logging destination.
+ #
+ # @return [IO] a new instance of IO
+ #
+ # source://logging//lib/logging/appenders/io.rb#26
+ def initialize(name, io, opts = T.unsafe(nil)); end
+
+ # call-seq:
+ # close( footer = true )
+ #
+ # Close the appender and writes the layout footer to the logging
+ # destination if the _footer_ flag is set to +true+. Log events will
+ # no longer be written to the logging destination after the appender
+ # is closed.
+ #
+ # source://logging//lib/logging/appenders/io.rb#46
+ def close(*args); end
+
+ # The method that will be used to close the IO stream. Defaults to :close
+ # but can be :close_read, :close_write or nil. When nil, the IO stream
+ # will not be closed when the appender's close method is called.
+ #
+ # source://logging//lib/logging/appenders/io.rb#18
+ def close_method; end
+
+ # The method that will be used to close the IO stream. Defaults to :close
+ # but can be :close_read, :close_write or nil. When nil, the IO stream
+ # will not be closed when the appender's close method is called.
+ #
+ # source://logging//lib/logging/appenders/io.rb#18
+ def close_method=(_arg0); end
+
+ # Reopen the connection to the underlying logging destination. If the
+ # connection is currently closed then it will be opened. If the connection
+ # is currently open then it will be closed and immediately opened. If
+ # supported, the IO will have its sync mode set to `true` so that all writes
+ # are immediately flushed to the underlying operating system.
+ #
+ # source://logging//lib/logging/appenders/io.rb#64
+ def reopen; end
+
+ private
+
+ # This method is called by the buffering code when messages need to be
+ # written to the logging destination.
+ #
+ # source://logging//lib/logging/appenders/io.rb#74
+ def canonical_write(str); end
+
+ # source://logging//lib/logging/appenders/io.rb#83
+ def handle_internal_error(err); end
+end
+
+# An appender that writes to a file and ensures that the file size or age
+# never exceeds some user specified level.
+#
+# The goal of this class is to write log messages to a file. When the file
+# age or size exceeds a given limit then the log file is copied and then
+# truncated. The name of the copy indicates it is an older log file.
+#
+# The name of the log file is changed by inserting the age of the log file
+# (as a single number) between the log file name and the extension. If the
+# file has no extension then the number is appended to the filename. Here
+# is a simple example:
+#
+# /var/log/ruby.log => /var/log/ruby.1.log
+#
+# New log messages will continue to be appended to the same log file
+# (`/var/log/ruby.log` in our example above). The age number for all older
+# log files is incremented when the log file is rolled. The number of older
+# log files to keep can be given, otherwise all the log files are kept.
+#
+# The actual process of rolling all the log file names can be expensive if
+# there are many, many older log files to process.
+#
+# If you do not wish to use numbered files when rolling, you can specify the
+# :roll_by option as 'date'. This will use a date/time stamp to
+# differentiate the older files from one another. If you configure your
+# rolling file appender to roll daily and ignore the file size:
+#
+# /var/log/ruby.log => /var/log/ruby.20091225.log
+#
+# Where the date is expressed as `%Y%m%d` in the Time#strftime format.
+#
+# NOTE: this class is not safe to use when log messages are written to files
+# on NFS mounts or other remote file system. It should only be used for log
+# files on the local file system. The exception to this is when a single
+# process is writing to the log file; remote file systems are safe to
+# use in this case but still not recommended.
+#
+# source://logging//lib/logging/appenders/rolling_file.rb#45
+class Logging::Appenders::RollingFile < ::Logging::Appenders::IO
+ # call-seq:
+ # RollingFile.new( name, opts )
+ #
+ # Creates a new Rolling File Appender. The _name_ is the unique Appender
+ # name used to retrieve this appender from the Appender hash. The only
+ # required option is the filename to use for creating log files.
+ #
+ # [:filename] The base filename to use when constructing new log
+ # filenames.
+ #
+ # The "rolling" portion of the filename can be configured via some simple
+ # pattern templates. For numbered rolling, you can use {{.%d}}
+ #
+ # "logname{{.%d}}.log" => ["logname.log", "logname.1.log", "logname.2.log" ...]
+ # "logname.log{{-%d}}" => ["logname.log", "logname.log-1", "logname.log-2" ...]
+ #
+ # And for date rolling you can use `strftime` patterns:
+ #
+ # "logname{{.%Y%m%d}}.log" => ["logname.log, "logname.20130626.log" ...]
+ # "logname{{.%Y-%m-%dT%H:%M:%S}}.log" => ["logname.log, "logname.2013-06-26T22:03:31.log" ...]
+ #
+ # If the defaults suit you fine, just pass in the :roll_by option and use
+ # your normal log filename without any pattern template.
+ #
+ # The following options are optional:
+ #
+ # [:layout] The Layout that will be used by this appender. The Basic
+ # layout will be used if none is given.
+ # [:truncate] When set to true any existing log files will be rolled
+ # immediately and a new, empty log file will be created.
+ # [:size] The maximum allowed size (in bytes) of a log file before
+ # it is rolled.
+ # [:age] The maximum age (in seconds) of a log file before it is
+ # rolled. The age can also be given as 'daily', 'weekly',
+ # or 'monthly'.
+ # [:keep] The number of rolled log files to keep.
+ # [:roll_by] How to name the rolled log files. This can be 'number' or
+ # 'date'.
+ #
+ # @return [RollingFile] a new instance of RollingFile
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#86
+ def initialize(name, opts = T.unsafe(nil)); end
+
+ # Returns the path to the logfile.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#123
+ def filename; end
+
+ # Reopen the connection to the underlying logging destination. If the
+ # connection is currently closed then it will be opened. If the connection
+ # is currently open then it will be closed and immediately opened.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#130
+ def reopen; end
+
+ private
+
+ # Returns the modification time of the age file.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#234
+ def age_fn_mtime; end
+
+ # We use meta-programming here to define the `sufficiently_aged?` method for
+ # the rolling appender. The `sufficiently_aged?` method is responsible for
+ # determining if the current log file is older than the rolling criteria -
+ # daily, weekly, etc.
+ #
+ # Returns this rolling file appender instance
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#244
+ def build_singleton_methods; end
+
+ # Write the given _event_ to the log file. The log file will be rolled
+ # if the maximum file size is exceeded or if the file is older than the
+ # maximum age.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#178
+ def canonical_write(str); end
+
+ # Returns the file name to use as the temporary copy location. We are
+ # using copy-and-truncate semantics for rolling files so that the IO
+ # file descriptor remains valid during rolling.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#162
+ def copy_file; end
+
+ # Returns the modification time of the copy file if one exists. Otherwise
+ # returns `nil`.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#168
+ def copy_file_mtime; end
+
+ # Copy the contents of the logfile to another file. Truncate the logfile
+ # to zero length. This method will set the roll flag so that all the
+ # current logfiles will be rolled along with the copied file.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#219
+ def copy_truncate; end
+
+ # source://logging//lib/logging/appenders/rolling_file.rb#152
+ def create_file; end
+
+ # source://logging//lib/logging/appenders/rolling_file.rb#145
+ def open_file; end
+
+ # Returns +true+ if the log file needs to be rolled.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#203
+ def roll_required?; end
+end
+
+# Not intended for general consumption, but the Roller class is used
+# internally by the RollingFile appender to roll dem log files according
+# to the user's desires.
+#
+# source://logging//lib/logging/appenders/rolling_file.rb#276
+class Logging::Appenders::RollingFile::Roller
+ # Create a new roller. See the RollingFile#initialize documentation for
+ # the list of options.
+ #
+ # filename - the name of the file to roll
+ # age - the age of the file at which it should be rolled
+ # size - the size of the file in bytes at which it should be rolled
+ # roll_by - roll either by 'number' or 'date'
+ # keep - the number of log files to keep when rolling
+ #
+ # @raise [ArgumentError]
+ # @return [Roller] a new instance of Roller
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#290
+ def initialize(filename, age: T.unsafe(nil), size: T.unsafe(nil), roll_by: T.unsafe(nil), keep: T.unsafe(nil)); end
+
+ # Returns the file name to use as the temporary copy location. We are
+ # using copy-and-truncate semantics for rolling files so that the IO
+ # file descriptor remains valid during rolling.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#338
+ def copy_file; end
+
+ # Returns the regular log file name without any roller text.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#329
+ def filename; end
+
+ # Returns the format String used to generate rolled file names.
+ # Depending upon the `roll_by` type (:date or :number), this String will
+ # be processed by `sprintf` or `Time#strftime`.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#356
+ def format; end
+
+ # Returns the glob pattern used to find rolled log files. We use this
+ # list for pruning older log files and doing the numbered rolling.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#346
+ def glob; end
+
+ # Returns the value of attribute keep.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#325
+ def keep; end
+
+ # Returns the value of attribute roll.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#326
+ def roll; end
+
+ # Sets the attribute roll
+ #
+ # @param value the value to set the attribute roll to.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#326
+ def roll=(_arg0); end
+
+ # Returns the value of attribute roll_by.
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#325
+ def roll_by; end
+
+ # Roll the list of log files optionally removing older files. The "older
+ # files" are determined by the mtime of the log files. So touching log
+ # files or otherwise messing with them will screw this up.
+ #
+ # files - The Array of filename Strings
+ #
+ # Returns nil
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#418
+ def roll_by_date(files); end
+
+ # Roll the list of log files optionally removing older files. The "older
+ # files" are determined by extracting the number from the log file name
+ # and order by the number.
+ #
+ # files - The Array of filename Strings
+ #
+ # Returns nil
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#387
+ def roll_by_number(files); end
+
+ # Roll the log files. This method will collect the list of rolled files
+ # and then pass that list to either `roll_by_number` or `roll_by_date`
+ # to perform the actual rolling.
+ #
+ # Returns nil
+ #
+ # source://logging//lib/logging/appenders/rolling_file.rb#368
+ def roll_files; end
+end
+
+# The magic regex for finding user-defined roller patterns.
+#
+# source://logging//lib/logging/appenders/rolling_file.rb#279
+Logging::Appenders::RollingFile::Roller::RGXP = T.let(T.unsafe(nil), Regexp)
+
+# This class provides an Appender that can write to STDERR.
+#
+# source://logging//lib/logging/appenders/console.rb#65
+class Logging::Appenders::Stderr < ::Logging::Appenders::Console; end
+
+# This class provides an Appender that can write to STDOUT.
+#
+# source://logging//lib/logging/appenders/console.rb#62
+class Logging::Appenders::Stdout < ::Logging::Appenders::Console; end
+
+# This class provides an Appender that can write to a StringIO instance.
+# This is very useful for testing log message output.
+#
+# source://logging//lib/logging/appenders/string_io.rb#14
+class Logging::Appenders::StringIo < ::Logging::Appenders::IO
+ # call-seq:
+ # StringIo.new( name, opts = {} )
+ #
+ # Creates a new StringIo appender that will append log messages to a
+ # StringIO instance.
+ #
+ # @return [StringIo] a new instance of StringIo
+ #
+ # source://logging//lib/logging/appenders/string_io.rb#25
+ def initialize(name, opts = T.unsafe(nil)); end
+
+ # Clears the internal StringIO instance. All log messages are removed
+ # from the buffer.
+ #
+ # source://logging//lib/logging/appenders/string_io.rb#53
+ def clear; end
+
+ # source://logging//lib/logging/appenders/string_io.rb#64
+ def read(*args); end
+
+ # source://logging//lib/logging/appenders/string_io.rb#64
+ def readline(*args); end
+
+ # source://logging//lib/logging/appenders/string_io.rb#64
+ def readlines(*args); end
+
+ # Reopen the underlying StringIO instance. If the instance is currently
+ # closed then it will be opened. If the instance is currently open then it
+ # will be closed and immediately opened.
+ #
+ # source://logging//lib/logging/appenders/string_io.rb#36
+ def reopen; end
+
+ # Clears the internal StringIO instance. All log messages are removed
+ # from the buffer.
+ #
+ # source://logging//lib/logging/appenders/string_io.rb#53
+ def reset; end
+
+ # The StringIO instance the appender is writing to.
+ #
+ # source://logging//lib/logging/appenders/string_io.rb#17
+ def sio; end
+end
+
+# :stopdoc:
+#
+# source://logging//lib/logging/appenders/string_io.rb#80
+module Logging::Appenders::StringIo::IoToS
+ # source://logging//lib/logging/appenders/string_io.rb#81
+ def to_s; end
+end
+
+# This class provides an Appender that can write to the UNIX syslog
+# daemon.
+#
+# source://logging//lib/logging/appenders/syslog.rb#19
+class Logging::Appenders::Syslog < ::Logging::Appender
+ include ::Syslog::Option
+ include ::Syslog::Facility
+ include ::Syslog::Level
+ include ::Syslog::Macros
+ include ::Syslog::Constants
+ extend ::Syslog::Macros
+
+ # call-seq:
+ # Syslog.new( name, opts = {} )
+ #
+ # Create an appender that will log messages to the system message
+ # logger. The message is then written to the system console, log files,
+ # logged-in users, or forwarded to other machines as appropriate. The
+ # options that can be used to configure the appender are as follows:
+ #
+ # :ident => identifier string (name is used by default)
+ # :logopt => options used when opening the connection
+ # :facility => the syslog facility to use
+ #
+ # The parameter :ident is a string that will be prepended to every
+ # message. The :logopt argument is a bit field specifying logging
+ # options, which is formed by OR'ing one or more of the following
+ # values:
+ #
+ # LOG_CONS If syslog() cannot pass the message to syslogd(8) it
+ # wil attempt to write the message to the console
+ # ('/dev/console').
+ #
+ # LOG_NDELAY Open the connection to syslogd(8) immediately. Normally
+ # the open is delayed until the first message is logged.
+ # Useful for programs that need to manage the order in
+ # which file descriptors are allocated.
+ #
+ # LOG_PERROR Write the message to standard error output as well to
+ # the system log. Not available on Solaris.
+ #
+ # LOG_PID Log the process id with each message: useful for
+ # identifying instantiations of daemons.
+ #
+ # The :facility parameter encodes a default facility to be assigned to
+ # all messages that do not have an explicit facility encoded:
+ #
+ # LOG_AUTH The authorization system: login(1), su(1), getty(8),
+ # etc.
+ #
+ # LOG_AUTHPRIV The same as LOG_AUTH, but logged to a file readable
+ # only by selected individuals.
+ #
+ # LOG_CONSOLE Messages written to /dev/console by the kernel console
+ # output driver.
+ #
+ # LOG_CRON The cron daemon: cron(8).
+ #
+ # LOG_DAEMON System daemons, such as routed(8), that are not
+ # provided for explicitly by other facilities.
+ #
+ # LOG_FTP The file transfer protocol daemons: ftpd(8), tftpd(8).
+ #
+ # LOG_KERN Messages generated by the kernel. These cannot be
+ # generated by any user processes.
+ #
+ # LOG_LPR The line printer spooling system: lpr(1), lpc(8),
+ # lpd(8), etc.
+ #
+ # LOG_MAIL The mail system.
+ #
+ # LOG_NEWS The network news system.
+ #
+ # LOG_SECURITY Security subsystems, such as ipfw(4).
+ #
+ # LOG_SYSLOG Messages generated internally by syslogd(8).
+ #
+ # LOG_USER Messages generated by random user processes. This is
+ # the default facility identifier if none is specified.
+ #
+ # LOG_UUCP The uucp system.
+ #
+ # LOG_LOCAL0 Reserved for local use. Similarly for LOG_LOCAL1
+ # through LOG_LOCAL7.
+ #
+ # @return [Syslog] a new instance of Syslog
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#95
+ def initialize(name, opts = T.unsafe(nil)); end
+
+ # call-seq:
+ # close
+ #
+ # Closes the connection to the syslog facility.
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#139
+ def close(footer = T.unsafe(nil)); end
+
+ # call-seq:
+ # closed? => true or false
+ #
+ # Queries the connection to the syslog facility and returns +true+ if
+ # the connection is closed.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#151
+ def closed?; end
+
+ # call-seq:
+ # map = { logging_levels => syslog_levels }
+ #
+ # Configure the mapping from the Logging levels to the syslog levels.
+ # This is needed in order to log events at the proper syslog level.
+ #
+ # Without any configuration, the following mapping will be used:
+ #
+ # :debug => LOG_DEBUG
+ # :info => LOG_INFO
+ # :warn => LOG_WARNING
+ # :error => LOG_ERR
+ # :fatal => LOG_CRIT
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#125
+ def map=(levels); end
+
+ # Reopen the connection to the underlying logging destination. If the
+ # connection is currently closed then it will be opened. If the connection
+ # is currently open then it will be closed and immediately opened.
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#159
+ def reopen; end
+
+ private
+
+ # call-seq:
+ # syslog_level_num( level ) => integer
+ #
+ # Takes the given _level_ as a string, symbol, or integer and returns
+ # the corresponding syslog level number.
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#201
+ def syslog_level_num(level); end
+
+ # call-seq:
+ # write( event )
+ #
+ # Write the given _event_ to the syslog facility. The log event will be
+ # processed through the Layout associated with this appender. The message
+ # will be logged at the level specified by the event.
+ #
+ # source://logging//lib/logging/appenders/syslog.rb#181
+ def write(event); end
+end
+
+# ColorScheme objects encapsulate a named set of colors to be used in the
+# colors() method call. For example, by applying a ColorScheme that
+# has a :warning color then the following could be used:
+#
+# scheme.color("This is a warning", :warning)
+#
+# ColorScheme objects are used by the Pattern layout code to colorize log
+# messages. Each color scheme is given a unique name which is used by the
+# Pattern layout to lookup the appropriate color scheme to use. Please
+# refer to the Pattern layout documentation for more details - specifically
+# the initializer documentation.
+#
+# The color scheme can be applied to the Pattern layout in several ways.
+# Each token in the log pattern can be colorized with the log level (debug,
+# info, warn, etc) receiving unique colors based on the level itself.
+# Another option is to colorize the entire log message based on the log
+# level; in this mode tokens do not get their own colors. Please see the
+# ColorScheme initializer for the list of colorization options.
+#
+# source://logging//lib/logging/color_scheme.rb#31
+class Logging::ColorScheme
+ # Create a ColorScheme instance that can be accessed using the given
+ # _name_. If a color scheme already exists with the given _name_ it will
+ # be replaced by the new color scheme.
+ #
+ # The color names are passed as options to the method with each name
+ # mapping to one or more color codes. For example:
+ #
+ # ColorScheme.new('example', :logger => [:white, :on_green], :message => :magenta)
+ #
+ # The color codes are the lowercase names of the constants defined at the
+ # end of this file. Multiple color codes can be aliased by grouping them
+ # in an array as shown in the example above.
+ #
+ # Since color schemes are primarily intended to be used with the Pattern
+ # layout, there are a few special options of note. First the log levels
+ # are enumerated in their own hash:
+ #
+ # :levels => {
+ # :debug => :blue,
+ # :info => :cyan,
+ # :warn => :yellow,
+ # :error => :red,
+ # :fatal => [:white, :on_red]
+ # }
+ #
+ # The log level token will be colorized differently based on the value of
+ # the log level itself. Similarly the entire log message can be colorized
+ # based on the value of the log level. A different option should be given
+ # for this behavior:
+ #
+ # :lines => {
+ # :debug => :blue,
+ # :info => :cyan,
+ # :warn => :yellow,
+ # :error => :red,
+ # :fatal => [:white, :on_red]
+ # }
+ #
+ # The :levels and :lines options cannot be used together; only one or the
+ # other should be given.
+ #
+ # The remaining tokens defined in the Pattern layout can be colorized
+ # using the following aliases. Their meaning in the Pattern layout are
+ # repeated here for sake of clarity.
+ #
+ # :logger [%c] name of the logger that generate the log event
+ # :date [%d] datestamp
+ # :message [%m] the user supplied log message
+ # :pid [%p] PID of the current process
+ # :time [%r] the time in milliseconds since the program started
+ # :thread [%T] the name of the thread Thread.current[:name]
+ # :thread_id [%t] object_id of the thread
+ # :file [%F] filename where the logging request was issued
+ # :line [%L] line number where the logging request was issued
+ # :method [%M] method name where the logging request was issued
+ #
+ # Please refer to the "examples/colorization.rb" file for a working
+ # example of log colorization.
+ #
+ # @raise [ArgumentError]
+ # @return [ColorScheme] a new instance of ColorScheme
+ #
+ # source://logging//lib/logging/color_scheme.rb#121
+ def initialize(name, opts = T.unsafe(nil)); end
+
+ # Allow the scheme to be accessed like a Hash.
+ #
+ # source://logging//lib/logging/color_scheme.rb#166
+ def [](color_tag); end
+
+ # Allow the scheme to be set like a Hash.
+ #
+ # source://logging//lib/logging/color_scheme.rb#172
+ def []=(color_tag, constants); end
+
+ # This method provides easy access to ANSI color sequences, without the user
+ # needing to remember to CLEAR at the end of each sequence. Just pass the
+ # _string_ to color, followed by a list of _colors_ you would like it to be
+ # affected by. The _colors_ can be ColorScheme class constants, or symbols
+ # (:blue for BLUE, for example). A CLEAR will automatically be embedded to
+ # the end of the returned String.
+ #
+ # source://logging//lib/logging/color_scheme.rb#184
+ def color(string, *colors); end
+
+ # Does this color scheme include the given tag name?
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/color_scheme.rb#160
+ def include?(color_tag); end
+
+ # Returns +true+ if the :levels option was passed to the constructor.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/color_scheme.rb#154
+ def levels?; end
+
+ # Returns +true+ if the :lines option was passed to the constructor.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/color_scheme.rb#148
+ def lines?; end
+
+ # Load multiple colors from key/value pairs.
+ #
+ # source://logging//lib/logging/color_scheme.rb#140
+ def load_from_hash(h); end
+
+ private
+
+ # Return a normalized representation of a color setting.
+ #
+ # source://logging//lib/logging/color_scheme.rb#206
+ def to_constant(v); end
+
+ # Return a normalized representation of a color name.
+ #
+ # source://logging//lib/logging/color_scheme.rb#200
+ def to_key(t); end
+
+ class << self
+ # Retrieve a color scheme by name.
+ #
+ # source://logging//lib/logging/color_scheme.rb#36
+ def [](name); end
+
+ # Store a color scheme by name.
+ #
+ # @raise [ArgumentError]
+ #
+ # source://logging//lib/logging/color_scheme.rb#42
+ def []=(name, value); end
+
+ # Clear all color schemes and setup a default color scheme.
+ #
+ # source://logging//lib/logging/color_scheme.rb#49
+ def reset; end
+ end
+end
+
+# Set the terminal's foreground ANSI color to black.
+#
+# source://logging//lib/logging/color_scheme.rb#225
+Logging::ColorScheme::BLACK = T.let(T.unsafe(nil), String)
+
+# The start of an ANSI blink sequence. (Terminal support uncommon.)
+#
+# source://logging//lib/logging/color_scheme.rb#221
+Logging::ColorScheme::BLINK = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to blue.
+#
+# source://logging//lib/logging/color_scheme.rb#229
+Logging::ColorScheme::BLUE = T.let(T.unsafe(nil), String)
+
+# The start of an ANSI bold sequence.
+#
+# source://logging//lib/logging/color_scheme.rb#217
+Logging::ColorScheme::BOLD = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to bright blue.
+#
+# source://logging//lib/logging/color_scheme.rb#246
+Logging::ColorScheme::BRIGHT_BLUE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to bright cyan.
+#
+# source://logging//lib/logging/color_scheme.rb#248
+Logging::ColorScheme::BRIGHT_CYAN = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to bright green.
+#
+# source://logging//lib/logging/color_scheme.rb#244
+Logging::ColorScheme::BRIGHT_GREEN = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to bright magenta.
+#
+# source://logging//lib/logging/color_scheme.rb#247
+Logging::ColorScheme::BRIGHT_MAGENTA = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to bright red.
+#
+# source://logging//lib/logging/color_scheme.rb#243
+Logging::ColorScheme::BRIGHT_RED = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to bright white.
+#
+# source://logging//lib/logging/color_scheme.rb#249
+Logging::ColorScheme::BRIGHT_WHITE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to bright yellow.
+#
+# source://logging//lib/logging/color_scheme.rb#245
+Logging::ColorScheme::BRIGHT_YELLOW = T.let(T.unsafe(nil), String)
+
+# Embed in a String to clear all previous ANSI sequences. This *MUST* be
+# done before the program exits!
+#
+# source://logging//lib/logging/color_scheme.rb#213
+Logging::ColorScheme::CLEAR = T.let(T.unsafe(nil), String)
+
+# The start of an ANSI concealed sequence. (Terminal support uncommon.)
+#
+# source://logging//lib/logging/color_scheme.rb#223
+Logging::ColorScheme::CONCEALED = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to cyan.
+#
+# source://logging//lib/logging/color_scheme.rb#231
+Logging::ColorScheme::CYAN = T.let(T.unsafe(nil), String)
+
+# The start of an ANSI dark sequence. (Terminal support uncommon.)
+#
+# source://logging//lib/logging/color_scheme.rb#218
+Logging::ColorScheme::DARK = T.let(T.unsafe(nil), String)
+
+# Erase the character under the cursor.
+#
+# source://logging//lib/logging/color_scheme.rb#216
+Logging::ColorScheme::ERASE_CHAR = T.let(T.unsafe(nil), String)
+
+# Erase the current line of terminal output.
+#
+# source://logging//lib/logging/color_scheme.rb#215
+Logging::ColorScheme::ERASE_LINE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to green.
+#
+# source://logging//lib/logging/color_scheme.rb#227
+Logging::ColorScheme::GREEN = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to magenta.
+#
+# source://logging//lib/logging/color_scheme.rb#230
+Logging::ColorScheme::MAGENTA = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to black.
+#
+# source://logging//lib/logging/color_scheme.rb#234
+Logging::ColorScheme::ON_BLACK = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to blue.
+#
+# source://logging//lib/logging/color_scheme.rb#238
+Logging::ColorScheme::ON_BLUE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to bright blue.
+#
+# source://logging//lib/logging/color_scheme.rb#254
+Logging::ColorScheme::ON_BRIGHT_BLUE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to bright cyan.
+#
+# source://logging//lib/logging/color_scheme.rb#256
+Logging::ColorScheme::ON_BRIGHT_CYAN = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to bright green.
+#
+# source://logging//lib/logging/color_scheme.rb#252
+Logging::ColorScheme::ON_BRIGHT_GREEN = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to bright magenta.
+#
+# source://logging//lib/logging/color_scheme.rb#255
+Logging::ColorScheme::ON_BRIGHT_MAGENTA = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to bright red.
+#
+# source://logging//lib/logging/color_scheme.rb#251
+Logging::ColorScheme::ON_BRIGHT_RED = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to bright white.
+#
+# source://logging//lib/logging/color_scheme.rb#257
+Logging::ColorScheme::ON_BRIGHT_WHITE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to bright yellow.
+#
+# source://logging//lib/logging/color_scheme.rb#253
+Logging::ColorScheme::ON_BRIGHT_YELLOW = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to cyan.
+#
+# source://logging//lib/logging/color_scheme.rb#240
+Logging::ColorScheme::ON_CYAN = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to green.
+#
+# source://logging//lib/logging/color_scheme.rb#236
+Logging::ColorScheme::ON_GREEN = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to magenta.
+#
+# source://logging//lib/logging/color_scheme.rb#239
+Logging::ColorScheme::ON_MAGENTA = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to red.
+#
+# source://logging//lib/logging/color_scheme.rb#235
+Logging::ColorScheme::ON_RED = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to white.
+#
+# source://logging//lib/logging/color_scheme.rb#241
+Logging::ColorScheme::ON_WHITE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's background ANSI color to yellow.
+#
+# source://logging//lib/logging/color_scheme.rb#237
+Logging::ColorScheme::ON_YELLOW = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to red.
+#
+# source://logging//lib/logging/color_scheme.rb#226
+Logging::ColorScheme::RED = T.let(T.unsafe(nil), String)
+
+# An alias for CLEAR.
+#
+# source://logging//lib/logging/color_scheme.rb#214
+Logging::ColorScheme::RESET = T.let(T.unsafe(nil), String)
+
+# The start of an ANSI reverse sequence.
+#
+# source://logging//lib/logging/color_scheme.rb#222
+Logging::ColorScheme::REVERSE = T.let(T.unsafe(nil), String)
+
+# The start of an ANSI underline sequence.
+#
+# source://logging//lib/logging/color_scheme.rb#219
+Logging::ColorScheme::UNDERLINE = T.let(T.unsafe(nil), String)
+
+# An alias for UNDERLINE.
+#
+# source://logging//lib/logging/color_scheme.rb#220
+Logging::ColorScheme::UNDERSCORE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to white.
+#
+# source://logging//lib/logging/color_scheme.rb#232
+Logging::ColorScheme::WHITE = T.let(T.unsafe(nil), String)
+
+# Set the terminal's foreground ANSI color to yellow.
+#
+# source://logging//lib/logging/color_scheme.rb#228
+Logging::ColorScheme::YELLOW = T.let(T.unsafe(nil), String)
+
+# source://logging//lib/logging.rb#26
+Logging::DEFAULT_CAUSE_DEPTH = T.let(T.unsafe(nil), Integer)
+
+# source://logging//lib/logging/diagnostic_context.rb#414
+Logging::DIAGNOSTIC_MUTEX = T.let(T.unsafe(nil), Thread::Mutex)
+
+# The `Filter` class allows for filtering messages based on event
+# properties independently of the standard minimum-level restriction.
+#
+# All other Filters inherit from this class, and must override the
+# `allow` method to return the event if it should be allowed into the log.
+# Otherwise the `allow` method should return `nil`.
+#
+# source://logging//lib/logging/filter.rb#9
+class Logging::Filter
+ # Creates a new level filter that will pass all log events. Create a
+ # subclass and override the `allow` method to filter log events.
+ #
+ # @return [Filter] a new instance of Filter
+ #
+ # source://logging//lib/logging/filter.rb#13
+ def initialize; end
+
+ # Returns the event if it should be forwarded to the logging appender.
+ # Returns `nil` if the event should _not_ be forwarded to the logging
+ # appender. Subclasses should override this method and provide their own
+ # filtering semantics.
+ #
+ # source://logging//lib/logging/filter.rb#21
+ def allow(event); end
+end
+
+# source://logging//lib/logging/filters.rb#2
+module Logging::Filters; end
+
+# The `Level` filter class provides a simple level-based filtering mechanism
+# that allows events whose log level matches a preconfigured list of values.
+#
+# source://logging//lib/logging/filters/level.rb#8
+class Logging::Filters::Level < ::Logging::Filter
+ # Creates a new level filter that will only allow the given _levels_ to
+ # propagate through to the logging destination. The _levels_ should be
+ # given in symbolic form.
+ #
+ # Examples
+ # Logging::Filters::Level.new(:debug, :info)
+ #
+ # @return [Level] a new instance of Level
+ #
+ # source://logging//lib/logging/filters/level.rb#17
+ def initialize(*levels); end
+
+ # Returns the event if it should be forwarded to the logging appender.
+ # Otherwise, `nil` is returned. The log event is allowed if the
+ # `event.level` matches one of the levels provided to the filter when it
+ # was constructred.
+ #
+ # source://logging//lib/logging/filters/level.rb#27
+ def allow(event); end
+end
+
+# :stopdoc:
+#
+# source://logging//lib/logging/diagnostic_context.rb#418
+Logging::INHERIT_CONTEXT = T.let(T.unsafe(nil), TrueClass)
+
+# source://logging//lib/logging.rb#24
+Logging::LEVELS = T.let(T.unsafe(nil), Hash)
+
+# :stopdoc:
+#
+# source://logging//lib/logging.rb#22
+Logging::LIBPATH = T.let(T.unsafe(nil), String)
+
+# source://logging//lib/logging.rb#25
+Logging::LNAMES = T.let(T.unsafe(nil), Array)
+
+# The +Layout+ class provides methods for formatting log events into a
+# string representation. Layouts are used by Appenders to format log
+# events before writing them to the logging destination.
+#
+# All other Layouts inherit from this class which provides stub methods.
+# Each subclass should provide a +format+ method. A layout can be used by
+# more than one +Appender+ so all the methods need to be thread safe.
+#
+# source://logging//lib/logging/layout.rb#12
+class Logging::Layout
+ # call-seq:
+ # Layout.new( :format_as => :string )
+ #
+ # Creates a new layout that will format objects as strings using the
+ # given :format_as style. This can be one of :string ,
+ # :inspect , or :yaml . These formatting commands map to
+ # the following object methods:
+ #
+ # * :string => to_s
+ # * :inspect => inspect
+ # * :yaml => to_yaml
+ # * :json => MultiJson.encode(obj)
+ #
+ # If the format is not specified then the global object format is used
+ # (see Logging#format_as). If the global object format is not specified
+ # then :string is used.
+ #
+ # @return [Layout] a new instance of Layout
+ #
+ # source://logging//lib/logging/layout.rb#31
+ def initialize(opts = T.unsafe(nil)); end
+
+ # Internal: Helper method that applies the UTC offset to the given `time`
+ # instance. A new Time is returned that is equivalent to the original `time`
+ # but pinned to the timezone given by the UTC offset.
+ #
+ # If a UTC offset has not been set, then the original `time` instance is
+ # returned unchanged.
+ #
+ # source://logging//lib/logging/layout.rb#114
+ def apply_utc_offset(time); end
+
+ # Returns the backtrace setting.
+ #
+ # source://logging//lib/logging/layout.rb#65
+ def backtrace; end
+
+ # call-seq:
+ # layout.backtrace = true
+ #
+ # Set the backtrace flag to the given value. This can be set to `true` or
+ # `false`.
+ #
+ # source://logging//lib/logging/layout.rb#55
+ def backtrace=(value); end
+
+ # Returns the backtrace setting.
+ #
+ # source://logging//lib/logging/layout.rb#65
+ def backtrace?; end
+
+ # Returns the exception cause depth formatting limit.
+ #
+ # source://logging//lib/logging/layout.rb#105
+ def cause_depth; end
+
+ # source://logging//lib/logging/layout.rb#95
+ def cause_depth=(value); end
+
+ # call-seq:
+ # footer
+ #
+ # Returns a footer string to be used at the end of a logging appender.
+ #
+ # source://logging//lib/logging/layout.rb#147
+ def footer; end
+
+ # call-seq:
+ # format( event )
+ #
+ # Returns a string representation of the given logging _event_. It is
+ # up to subclasses to implement this method.
+ #
+ # source://logging//lib/logging/layout.rb#132
+ def format(event); end
+
+ # Internal: Format any nested exceptions found in the given exception `e`
+ # while respecting the maximum `cause_depth`. The lines array is used to
+ # capture all the output lines form the nested exceptions; the array is later
+ # joined by the `format_obj` method.
+ #
+ # e - Exception to format
+ # lines - Array of output lines
+ #
+ # Returns the input `lines` Array
+ #
+ # source://logging//lib/logging/layout.rb#185
+ def format_cause(e, lines); end
+
+ # Internal: Format the backtrace of the nested `cause` but remove the common
+ # exception lines from the parent exception. This helps keep the backtraces a
+ # wee bit shorter and more comprehensible.
+ #
+ # e - parent exception
+ # cause - the nested exception generating the returned backtrace
+ #
+ # Returns an Array of backtracke lines.
+ #
+ # source://logging//lib/logging/layout.rb#214
+ def format_cause_backtrace(e, cause); end
+
+ # call-seq:
+ # format_obj( obj )
+ #
+ # Return a string representation of the given object. Depending upon
+ # the configuration of the logger system the format will be an +inspect+
+ # based representation or a +yaml+ based representation.
+ #
+ # source://logging//lib/logging/layout.rb#156
+ def format_obj(obj); end
+
+ # call-seq:
+ # header
+ #
+ # Returns a header string to be used at the beginning of a logging
+ # appender.
+ #
+ # source://logging//lib/logging/layout.rb#140
+ def header; end
+
+ # Attempt to format the given object as a JSON string, but fall back to
+ # inspect formatting if JSON encoding fails.
+ #
+ # obj - The Object to format.
+ #
+ # Returns a String representation of the object.
+ #
+ # source://logging//lib/logging/layout.rb#254
+ def try_json(obj); end
+
+ # Attempt to format the _obj_ using yaml, but fall back to inspect style
+ # formatting if yaml fails.
+ #
+ # obj - The Object to format.
+ #
+ # Returns a String representation of the object.
+ #
+ # source://logging//lib/logging/layout.rb#241
+ def try_yaml(obj); end
+
+ # Returns the UTC offset.
+ #
+ # source://logging//lib/logging/layout.rb#91
+ def utc_offset; end
+
+ # Set the UTC offset used when formatting time values. If left unset, the
+ # default local time zone will be used for time values. This method accepts
+ # the `utc_offset` format supported by the `Time#localtime` method in Ruby.
+ #
+ # Passing "UTC" or `0` as the UTC offset will cause all times to be reported
+ # in the UTC timezone.
+ #
+ # layout.utc_offset = "-07:00" # Mountain Standard Time in North America
+ # layout.utc_offset = "+01:00" # Central European Time
+ # layout.utc_offset = "UTC" # UTC
+ # layout.utc_offset = 0 # UTC
+ #
+ # source://logging//lib/logging/layout.rb#80
+ def utc_offset=(value); end
+end
+
+# source://logging//lib/logging/layouts.rb#3
+module Logging::Layouts
+ class << self
+ # Accessor / Factory for the Basic layout.
+ #
+ # source://logging//lib/logging/layouts/basic.rb#6
+ def basic(*args); end
+
+ # Factory for the Parseable layout using JSON formatting.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#13
+ def json(*args); end
+
+ # Accessor for the Parseable layout.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#7
+ def parseable; end
+
+ # Accessor / Factory for the Pattern layout.
+ #
+ # Returns a new Pattern layout instance
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#6
+ def pattern(*args); end
+
+ # Factory for the Parseable layout using YAML formatting.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#19
+ def yaml(*args); end
+ end
+end
+
+# The +Basic+ layout class provides methods for simple formatting of log
+# events. The resulting string follows the format below.
+#
+# LEVEL LoggerName : log message
+#
+# _LEVEL_ is the log level of the event. _LoggerName_ is the name of the
+# logger that generated the event. log message is the message
+# or object that was passed to the logger. If multiple message or objects
+# were passed to the logger then each will be printed on its own line with
+# the format show above.
+#
+# source://logging//lib/logging/layouts/basic.rb#22
+class Logging::Layouts::Basic < ::Logging::Layout
+ # call-seq:
+ # format( event )
+ #
+ # Returns a string representation of the given logging _event_. See the
+ # class documentation for details about the formatting used.
+ #
+ # source://logging//lib/logging/layouts/basic.rb#30
+ def format(event); end
+end
+
+# This layout will produce parseable log output in either JSON or YAML
+# format. This makes it much easier for machines to parse log files and
+# perform analysis on those logs.
+#
+# The information about the log event can be configured when the layout is
+# created. Any or all of the following labels can be set as the _items_ to
+# log:
+#
+# 'logger' Used to output the name of the logger that generated the
+# log event.
+# 'timestamp' Used to output the timestamp of the log event.
+# 'level' Used to output the level of the log event.
+# 'message' Used to output the application supplied message
+# associated with the log event.
+# 'file' Used to output the file name where the logging request
+# was issued.
+# 'line' Used to output the line number where the logging request
+# was issued.
+# 'method' Used to output the method name where the logging request
+# was issued.
+# 'hostname' Used to output the hostname
+# 'pid' Used to output the process ID of the currently running
+# program.
+# 'millis' Used to output the number of milliseconds elapsed from
+# the construction of the Layout until creation of the log
+# event.
+# 'thread_id' Used to output the object ID of the thread that generated
+# the log event.
+# 'thread' Used to output the name of the thread that generated the
+# log event. Name can be specified using Thread.current[:name]
+# notation. Output empty string if name not specified. This
+# option helps to create more human readable output for
+# multithread application logs.
+#
+# These items are supplied to the layout as an array of strings. The items
+# 'file', 'line', and 'method' will only work if the Logger generating the
+# events is configured to generate tracing information. If this is not the
+# case these fields will always be empty.
+#
+# When configured to output log events in YAML format, each log message
+# will be formatted as a hash in it's own YAML document. The hash keys are
+# the name of the item, and the value is what you would expect it to be.
+# Therefore, for the default set of times log message would appear as
+# follows:
+#
+# ---
+# timestamp: 2009-04-17T16:15:42
+# level: INFO
+# logger: Foo::Bar
+# message: this is a log message
+# ---
+# timestamp: 2009-04-17T16:15:43
+# level: ERROR
+# logger: Foo
+# message: Oooops!!
+#
+# The output order of the fields is not guaranteed to be the same as the
+# order specified in the _items_ list. This is because Ruby hashes are not
+# ordered by default (unless you're running this in Ruby 1.9).
+#
+# When configured to output log events in JSON format, each log message
+# will be formatted as an object (in the JSON sense of the word) on it's
+# own line in the log output. Therefore, to parse the output you must read
+# it line by line and parse the individual objects. Taking the same
+# example above the JSON output would be:
+#
+# {"timestamp":"2009-04-17T16:15:42","level":"INFO","logger":"Foo::Bar","message":"this is a log message"}
+# {"timestamp":"2009-04-17T16:15:43","level":"ERROR","logger":"Foo","message":" Oooops!!"}
+#
+# The output order of the fields is guaranteed to be the same as the order
+# specified in the _items_ list.
+#
+# source://logging//lib/logging/layouts/parseable.rb#95
+class Logging::Layouts::Parseable < ::Logging::Layout
+ # call-seq:
+ # Parseable.new( opts )
+ #
+ # Creates a new Parseable layout using the following options:
+ #
+ # :style => :json or :yaml
+ # :items => %w[timestamp level logger message]
+ # :utc_offset => "-06:00" or -21600 or "UTC"
+ #
+ # @return [Parseable] a new instance of Parseable
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#184
+ def initialize(opts = T.unsafe(nil)); end
+
+ # Internal: Format any nested exceptions found in the given exception `e`
+ # while respecting the maximum `cause_depth`.
+ #
+ # e - Exception to format
+ #
+ # Returns the cause formatted as a Hash
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#244
+ def format_cause(e); end
+
+ # Public: Take a given object and convert it into a format suitable for
+ # inclusion as a log message. The conversion allows the object to be more
+ # easily expressed in YAML or JSON form.
+ #
+ # If the object is an Exception, then this method will return a Hash
+ # containing the exception class name, message, and backtrace (if any).
+ #
+ # obj - The Object to format
+ #
+ # Returns the formatted Object.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#219
+ def format_obj(obj); end
+
+ # Returns the value of attribute items.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#191
+ def items; end
+
+ # call-seq:
+ # layout.items = %w[timestamp level logger message]
+ #
+ # Set the log event items that will be formatted by this layout. These
+ # items, and only these items, will appear in the log output.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#199
+ def items=(ary); end
+
+ private
+
+ # Call the appropriate class level create format method based on the
+ # style of this parseable layout.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#274
+ def create_format_method; end
+
+ # Convert the given `time` into an ISO8601 formatted time string.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#283
+ def iso8601_format(time); end
+
+ class << self
+ # call-seq:
+ # Pattern.create_json_format_methods( layout )
+ #
+ # This method will create the +format+ method in the given Parseable
+ # _layout_ based on the configured items for the layout instance.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#140
+ def create_json_format_method(layout); end
+
+ # call-seq:
+ # Pattern.create_yaml_format_methods( layout )
+ #
+ # This method will create the +format+ method in the given Parseable
+ # _layout_ based on the configured items for the layout instance.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#122
+ def create_yaml_format_method(layout); end
+
+ # call-seq:
+ # Parseable.json( opts )
+ #
+ # Create a new Parseable layout that outputs log events using JSON style
+ # formatting. See the initializer documentation for available options.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#159
+ def json(opts = T.unsafe(nil)); end
+
+ # call-seq:
+ # Parseable.yaml( opts )
+ #
+ # Create a new Parseable layout that outputs log events using YAML style
+ # formatting. See the initializer documentation for available options.
+ #
+ # source://logging//lib/logging/layouts/parseable.rb#170
+ def yaml(opts = T.unsafe(nil)); end
+ end
+end
+
+# :stopdoc:
+# Arguments to sprintf keyed to directive letters
+#
+# source://logging//lib/logging/layouts/parseable.rb#99
+Logging::Layouts::Parseable::DIRECTIVE_TABLE = T.let(T.unsafe(nil), Hash)
+
+# A flexible layout configurable via a conversion pattern string.
+#
+# The goal of this class is to format a LogEvent and return the results as
+# a String. The results depend on the conversion pattern.
+#
+# The conversion pattern is closely related to the conversion pattern of
+# the sprintf function. A conversion pattern is composed of literal text
+# and format control expressions called conversion specifiers.
+#
+# You are free to insert any literal text within the conversion pattern.
+#
+# Each conversion specifier starts with a percent sign (%) and is followed
+# by optional format modifiers and a conversion character. The conversion
+# character specifies the type of data, e.g. logger, level, date, thread
+# ID. The format modifiers control such things as field width, padding,
+# left and right justification. The following is a simple example.
+#
+# Let the conversion pattern be "%-5l [%c]: %m\n" and assume that the
+# logging environment was set to use a Pattern layout. Then the statements
+#
+# root = Logging.logger[:root]
+# root.debug("Message 1")
+# root.warn("Message 2")
+#
+# would yield the output
+#
+# DEBUG [root]: Message 1
+# WARN [root]: Message 2
+#
+# Note that there is no explicit separator between text and conversion
+# specifiers. The pattern parser knows when it has reached the end of a
+# conversion specifier when it reads a conversion character. In the example
+# above the conversion specifier %-5l means the level of the logging event
+# should be left justified to a width of five characters. The recognized
+# conversion characters are
+#
+# [c] Used to output the name of the logger that generated the log
+# event. Supports an optional "precision" described further below.
+# [d] Used to output the date of the log event. The format of the
+# date is specified using the :date_pattern option when the Layout
+# is created. ISO8601 format is assumed if not date pattern is given.
+# [F] Used to output the file name where the logging request was issued.
+# [l] Used to output the level of the log event.
+# [L] Used to output the line number where the logging request was
+# issued.
+# [m] Used to output the application supplied message associated with
+# the log event.
+# [M] Used to output the method name where the logging request was
+# issued.
+# [h] Used to output the hostname
+# [p] Used to output the process ID of the currently running program.
+# [r] Used to output the number of milliseconds elapsed from the
+# construction of the Layout until creation of the log event.
+# [t] Used to output the object ID of the thread that generated the
+# log event.
+# [T] Used to output the name of the thread that generated the log event.
+# Name can be specified using Thread.current[:name] notation. Output
+# empty string if name not specified. This option helps to create
+# more human readable output for multi-threaded application logs.
+# [X] Used to output values from the Mapped Diagnostic Context. Requires
+# a key name to lookup the value from the context. More details are
+# listed below.
+# [x] Used to output values from the Nested Diagnostic Context. Supports
+# an optional context separator string. More details are listed below.
+# [%] The sequence '%%' outputs a single percent sign.
+#
+# The logger name directive 'c' accepts an optional precision that will
+# only print the rightmost number of name space identifiers for the logger.
+# By default the logger name is printed in full. For example, for the
+# logger name "Foo::Bar::Baz" the pattern %c{2} will output "Bar::Baz".
+#
+# The directives F, L, and M will only work if the Logger generating the
+# events is configured to generate tracing information. If this is not
+# the case these fields will always be empty.
+#
+# The directives for including diagnostic context information in the log
+# messages are X and x. For the Mapped Diagnostic Context the directive must
+# be accompanied by the key identifying the value to insert into the log
+# message. The X directive can appear multiple times to include multiple
+# values from the mapped context.
+#
+# %X{Cookie} Insert the current session cookie
+# %X{X-Session} Insert a session identifier
+#
+# For the Nested Diagnostic Context you need only include the directive
+# once. All contexts currently in the stack will be added to the log message
+# separated by spaces. If spaces are not your style, a separator string can
+# be given, too.
+#
+# %x Insert all contexts separated by spaces
+# %x{, } Insert all contexts separate by a comma and a space
+#
+# By default the relevant information is output as is. However, with the
+# aid of format modifiers it is possible to change the minimum field width,
+# the maximum field width and justification.
+#
+# The optional format modifier is placed between the percent sign and the
+# conversion character.
+#
+# The first optional format modifier is the left justification flag which
+# is just the minus (-) character. Then comes the optional minimum field
+# width modifier. This is a decimal constant that represents the minimum
+# number of characters to output. If the data item requires fewer
+# characters, it is padded on either the left or the right until the
+# minimum width is reached. The default is to pad on the left (right
+# justify) but you can specify right padding with the left justification
+# flag. The padding character is space. If the data item is larger than the
+# minimum field width, the field is expanded to accommodate the data. The
+# value is never truncated.
+#
+# This behavior can be changed using the maximum field width modifier which
+# is designated by a period followed by a decimal constant. If the data
+# item is longer than the maximum field, then the extra characters are
+# removed from the end of the data item.
+#
+# Below are various format modifier examples for the category conversion
+# specifier.
+#
+# %20c Left pad with spaces if the logger name is less than 20
+# characters long
+# %-20c Right pad with spaces if the logger name is less than 20
+# characters long
+# %.30c Truncates the logger name if it is longer than 30 characters
+# %20.30c Left pad with spaces if the logger name is shorter than
+# 20 characters. However, if the logger name is longer than
+# 30 characters, then truncate the name.
+# %-20.30c Right pad with spaces if the logger name is shorter than
+# 20 characters. However, if the logger name is longer than
+# 30 characters, then truncate the name.
+#
+# Below are examples of some conversion patterns.
+#
+# %.1l, [%d] %5l -- %c: %m\n
+#
+# This is how the Logger class in the Ruby standard library formats
+# messages. The main difference will be in the date format (the Pattern
+# Layout uses the ISO8601 date format). Set the :date_method on the
+# Pattern Layout to be 'to_s' and then the date formats will agree.
+#
+# source://logging//lib/logging/layouts/pattern.rb#150
+class Logging::Layouts::Pattern < ::Logging::Layout
+ # call-seq:
+ # Pattern.new( opts )
+ #
+ # Creates a new Pattern layout using the following options.
+ #
+ # :pattern => "[%d] %-5l -- %c : %m\n"
+ # :date_pattern => "%Y-%m-%d %H:%M:%S"
+ # :date_method => "usec" or "to_s"
+ # :utc_offset => "-06:00" or -21600 or "UTC"
+ # :color_scheme => :default
+ #
+ # If used, :date_method will supersede :date_pattern.
+ #
+ # The :color_scheme is used to apply color formatting to the log messages.
+ # Individual tokens can be colorized witch the level token [%l] receiving
+ # distinct colors based on the level of the log event. The entire
+ # generated log message can also be colorized based on the level of the
+ # log event. See the ColorScheme documentation for more details.
+ #
+ # @return [Pattern] a new instance of Pattern
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#219
+ def initialize(opts = T.unsafe(nil)); end
+
+ # Evaluates the given string of `code` if the singleton class of this
+ # Pattern Layout object.
+ #
+ # Returns this Pattern Layout instance.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#283
+ def _meta_eval(code, file = T.unsafe(nil), line = T.unsafe(nil)); end
+
+ # Returns the value of attribute color_scheme.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#241
+ def color_scheme; end
+
+ # Returns the value of attribute date_method.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#241
+ def date_method; end
+
+ # call-seq:
+ # appender.date_method = 'to_s'
+ # appender.date_method = :usec
+ #
+ # Set the date method to be used when outputting timestamps in the log
+ # messages. If a date method is configured, the output of that method
+ # will be used in leu of the date pattern.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#272
+ def date_method=(var); end
+
+ # Returns the value of attribute date_pattern.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#241
+ def date_pattern; end
+
+ # call-seq:
+ # appender.date_pattern = "%Y-%m-%d %H:%M:%S"
+ #
+ # Set the date formatting pattern to be used when outputting timestamps
+ # in the log messages.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#259
+ def date_pattern=(var); end
+
+ # Returns the value of attribute pattern.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#241
+ def pattern; end
+
+ # call-seq:
+ # appender.pattern = "[%d] %-5l -- %c : %m\n"
+ #
+ # Set the message formatting pattern to be used by the layout.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#248
+ def pattern=(var); end
+
+ class << self
+ # call-seq:
+ # Pattern.create_date_format_methods( pl )
+ #
+ # This method will create the +date_format+ method in the given Pattern
+ # Layout _pl_ based on the configured date pattern and/or date method
+ # specified by the user.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#164
+ def create_date_format_methods(pl); end
+
+ # call-seq:
+ # Pattern.create_format_method( pl )
+ #
+ # This method will create the `format` method in the given Pattern
+ # Layout `pl` based on the configured format pattern specified by the
+ # user.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#190
+ def create_format_method(pl); end
+ end
+end
+
+# This class is used to build the `format` method for the Pattern layout. It
+# parses the user defined pattern and emits Ruby source code (as a string)
+# that can be `eval`d in the context of the Pattern layout instance.
+#
+# source://logging//lib/logging/layouts/pattern.rb#292
+class Logging::Layouts::Pattern::FormatMethodBuilder
+ # Creates the format method builder and initializes some variables from
+ # the given Patter layout instance.
+ #
+ # pattern_layout - The Pattern Layout instance
+ #
+ # @return [FormatMethodBuilder] a new instance of FormatMethodBuilder
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#350
+ def initialize(pattern_layout); end
+
+ # This method returns a String which can be `eval`d in the context of the
+ # Pattern layout. When it is `eval`d, a `format` method is defined in the
+ # Pattern layout.
+ #
+ # At the heart of the format method is `sprintf`. The conversion pattern
+ # specified in the Pattern layout is parsed and converted into a format
+ # string and corresponding arguments list. The format string and arguments
+ # are then processed by `sprintf` to format log events.
+ #
+ # Returns a Ruby code as a String.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#385
+ def build_code; end
+
+ # This method builds the format string used by `sprintf` to format log
+ # events. The conversion pattern given by the user is iteratively parsed
+ # by a regular expression into separate format directives. Each directive
+ # builds up the format string and the corresponding arguments list that
+ # will be formatted.
+ #
+ # The actual building of the format string is handled by separate
+ # directive specific methods. Those handlers also populate the arguments
+ # list passed to `sprintf`.
+ #
+ # Returns the format String.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#412
+ def build_format_string; end
+
+ # Returns the value of attribute color_scheme.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#340
+ def color_scheme; end
+
+ # Returns `true` if the log messages should be colorized.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#361
+ def colorize?; end
+
+ # Returns `true` if the log levels have special colorization defined.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#371
+ def colorize_levels?; end
+
+ # Returns `true` if the log messages should be colorized by line.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#366
+ def colorize_lines?; end
+
+ # Returns the value of attribute format_string.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#342
+ def format_string; end
+
+ # Handles the rest of the directives; none of these need any special
+ # handling.
+ #
+ # format - format String
+ # directive - the directive character
+ # precision - added back to the format string
+ #
+ # Returns nil
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#552
+ def handle_directives(format, directive, precision); end
+
+ # Add the log event level to the `format_string` and the `sprintf_args`.
+ # The color scheme is taken into account when formatting the log event
+ # level.
+ #
+ # format - format String
+ # directive - the directive character ('l')
+ # precision - added back to the format string
+ #
+ # Returns nil
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#483
+ def handle_level(format, directive, precision); end
+
+ # Add the logger name to the `format_string` and the `sprintf_args`. The
+ # `slice` argument is a little interesting - this is the number of logger
+ # name segments to keep. If we have a logger named "Foo::Bar::Baz" and our
+ # `slice` is 2, then "Bar::Baz" will appear in the generated log message.
+ # So the `slice` selects the last two parts of the logger name.
+ #
+ # format - format String
+ # directive - the directive character ('c')
+ # slice - the number of name segments to keep
+ #
+ # Returns nil
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#452
+ def handle_logger(format, directive, slice); end
+
+ # Add a Mapped Diagnostic Context to the `format_string` and the
+ # `sprintf_args`. Only one MDC value is added at a time, so this directive
+ # can appear multiple times using various keys.
+ #
+ # format - format String
+ # directive - the directive character ('X')
+ # key - which MDC value to add to the log message
+ #
+ # Returns nil
+ #
+ # @raise [ArgumentError]
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#511
+ def handle_mdc(format, directive, key); end
+
+ # Add a Nested Diagnostic Context to the `format_string` and the
+ # `sprintf_args`. Since the NDC is an Array of values, the directive will
+ # appear only once in the conversion pattern. A `separator` is inserted
+ # between the values in generated log message.
+ #
+ # format - format String
+ # directive - the directive character ('x')
+ # separator - used to separate the values in the NDC array
+ #
+ # Returns nil
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#532
+ def handle_ndc(format, directive, separator); end
+
+ # Returns the value of attribute layout.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#338
+ def layout; end
+
+ # Returns the value of attribute name_map_count.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#343
+ def name_map_count; end
+
+ # Sets the attribute name_map_count
+ #
+ # @param value the value to set the attribute name_map_count to.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#343
+ def name_map_count=(_arg0); end
+
+ # Returns the value of attribute pattern.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#339
+ def pattern; end
+
+ # Sets the attribute pattern
+ #
+ # @param value the value to set the attribute pattern to.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#339
+ def pattern=(_arg0); end
+
+ # Returns the value of attribute sprintf_args.
+ #
+ # source://logging//lib/logging/layouts/pattern.rb#341
+ def sprintf_args; end
+end
+
+# Human name aliases for directives - used for colorization of tokens
+#
+# source://logging//lib/logging/layouts/pattern.rb#322
+Logging::Layouts::Pattern::FormatMethodBuilder::COLOR_ALIAS_TABLE = T.let(T.unsafe(nil), Hash)
+
+# Matches the first directive encountered and the stuff around it.
+#
+# * $1 is the stuff before directive or "" if not applicable
+# * $2 is the %#.# match within directive group
+# * $3 is the directive letter
+# * $4 is the precision specifier for the logger name
+# * $5 is the stuff after the directive or "" if not applicable
+#
+# source://logging//lib/logging/layouts/pattern.rb#300
+Logging::Layouts::Pattern::FormatMethodBuilder::DIRECTIVE_RGXP = T.let(T.unsafe(nil), Regexp)
+
+# Arguments to sprintf keyed to directive letters
+#
+# source://logging//lib/logging/layouts/pattern.rb#303
+Logging::Layouts::Pattern::FormatMethodBuilder::DIRECTIVE_TABLE = T.let(T.unsafe(nil), Hash)
+
+# default date format
+#
+# source://logging//lib/logging/layouts/pattern.rb#155
+Logging::Layouts::Pattern::ISO8601 = T.let(T.unsafe(nil), String)
+
+# This class defines a logging event.
+#
+# source://logging//lib/logging/log_event.rb#5
+class Logging::LogEvent
+ # call-seq:
+ # LogEvent.new( logger, level, [data], caller_tracing )
+ #
+ # Creates a new log event with the given _logger_ name, numeric _level_,
+ # array of _data_ from the user to be logged, and boolean _caller_tracing_ flag.
+ # If the _caller_tracing_ flag is set to +true+ then Kernel::caller will be
+ # invoked to get the execution trace of the logging method.
+ #
+ # @return [LogEvent] a new instance of LogEvent
+ #
+ # source://logging//lib/logging/log_event.rb#29
+ def initialize(logger, level, data, caller_tracing); end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def data; end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def data=(_arg0); end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def file; end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def file=(_arg0); end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def level; end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def level=(_arg0); end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def line; end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def line=(_arg0); end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def logger; end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def logger=(_arg0); end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def method_name; end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def method_name=(_arg0); end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def time; end
+
+ # :startdoc:
+ #
+ # source://logging//lib/logging/log_event.rb#19
+ def time=(_arg0); end
+end
+
+# CALLER_INDEX = 2
+#
+# source://logging//lib/logging/log_event.rb#15
+Logging::LogEvent::CALLER_INDEX = T.let(T.unsafe(nil), Integer)
+
+# Regular expression used to parse out caller information
+#
+# * $1 == filename
+# * $2 == line number
+# * $3 == method name (might be nil)
+#
+# source://logging//lib/logging/log_event.rb#13
+Logging::LogEvent::CALLER_RGXP = T.let(T.unsafe(nil), Regexp)
+
+# The +Logger+ class is the primary interface to the +Logging+ framework.
+# It provides the logging methods that will be called from user methods,
+# and it generates logging events that are sent to the appenders (the
+# appenders take care of sending the log events to the logging
+# destinations -- files, sockets, etc).
+#
+# +Logger+ instances are obtained from the +Repository+ and should
+# not be directly created by users.
+#
+# Example:
+#
+# log = Logging.logger['my logger']
+# log.add_appenders( Logging.appenders.stdout ) # append to STDOUT
+# log.level = :info # log 'info' and above
+#
+# log.info 'starting foo operation'
+# ...
+# log.info 'finishing foo operation'
+# ...
+# log.fatal 'unknown exception', exception
+#
+# source://logging//lib/logging/logger.rb#25
+class Logging::Logger
+ include ::Logging::RailsCompat
+
+ # call-seq:
+ # Logger.new( name )
+ # Logger[name]
+ #
+ # Returns the logger identified by _name_.
+ #
+ # When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
+ # retrieve the logger. When _name_ is a +Class+ the class name will be
+ # used to retrieve the logger. When _name_ is an object the name of the
+ # object's class will be used to retrieve the logger.
+ #
+ # Example:
+ #
+ # obj = MyClass.new
+ #
+ # log1 = Logger.new(obj)
+ # log2 = Logger.new(MyClass)
+ # log3 = Logger['MyClass']
+ #
+ # log1.object_id == log2.object_id # => true
+ # log2.object_id == log3.object_id # => true
+ #
+ # @return [Logger] a new instance of Logger
+ #
+ # source://logging//lib/logging/logger.rb#154
+ def initialize(name); end
+
+ # call-seq:
+ # log << "message"
+ #
+ # Log the given message without any formatting and without performing any
+ # level checks. The message is logged to all appenders. The message is
+ # passed up the logger tree if this logger's additivity is +true+.
+ #
+ # source://logging//lib/logging/logger.rb#185
+ def <<(msg); end
+
+ # call-seq:
+ # log <=> other
+ #
+ # Compares this logger by name to another logger. The normal return codes
+ # for +String+ objects apply.
+ #
+ # source://logging//lib/logging/logger.rb#170
+ def <=>(other); end
+
+ # call-seq:
+ # _dump_configuration( io = STDOUT, indent = 0 )
+ #
+ # An internal method that is used to dump this logger's configuration to
+ # the given _io_ stream. The configuration includes the logger's name,
+ # level, additivity, and caller_tracing settings. The configured appenders
+ # are also printed to the _io_ stream.
+ #
+ # source://logging//lib/logging/logger.rb#472
+ def _dump_configuration(indent = T.unsafe(nil)); end
+
+ # call-seq:
+ # _meta_eval( code )
+ #
+ # Evaluates the given string of _code_ if the singleton class of this
+ # Logger object.
+ #
+ # source://logging//lib/logging/logger.rb#441
+ def _meta_eval(code, file = T.unsafe(nil), line = T.unsafe(nil)); end
+
+ # call-seq:
+ # _setup( name, opts = {} )
+ #
+ # Configures internal variables for the logger. This method can be used
+ # to avoid storing the logger in the repository.
+ #
+ # source://logging//lib/logging/logger.rb#452
+ def _setup(name, opts = T.unsafe(nil)); end
+
+ # call-seq:
+ # add( severity, message = nil ) {block}
+ #
+ # Log a message if the given severity is high enough. This is the generic
+ # logging method. Users will be more inclined to use #debug, #info, #warn,
+ # #error, and #fatal.
+ #
+ # Message format : +message+ can be any object, but it has to be
+ # converted to a String in order to log it. The Logging::format_as
+ # method is used to determine how objects chould be converted to
+ # strings. Generally, +inspect+ is used.
+ #
+ # A special case is an +Exception+ object, which will be printed in
+ # detail, including message, class, and backtrace.
+ #
+ # If a _message_ is not given, then the return value from the block is
+ # used as the message to log. This is useful when creating the actual
+ # message is an expensive operation. This allows the logger to check the
+ # severity against the configured level before actually constructing the
+ # message.
+ #
+ # This method returns +true+ if the message was logged, and +false+ is
+ # returned if the message was not logged.
+ #
+ # source://logging//lib/logging/logger.rb#215
+ def add(lvl, data = T.unsafe(nil), progname = T.unsafe(nil)); end
+
+ # call-seq:
+ # add_appenders( appenders )
+ #
+ # Add the given _appenders_ to the list of appenders, where _appenders_
+ # can be either a single appender or an array of appenders.
+ #
+ # source://logging//lib/logging/logger.rb#349
+ def add_appenders(*args); end
+
+ # Returns the value of attribute additive.
+ #
+ # source://logging//lib/logging/logger.rb#130
+ def additive; end
+
+ # call-seq:
+ # additive = true
+ #
+ # Sets the additivity of the logger. Acceptable values are +true+,
+ # 'true', +false+, 'false', or +nil+. In this case +nil+ does not
+ # change the additivity
+ #
+ # source://logging//lib/logging/logger.rb#238
+ def additive=(val); end
+
+ # Returns the list of appenders.
+ #
+ # source://logging//lib/logging/logger.rb#328
+ def appenders; end
+
+ # call-seq:
+ # appenders = app
+ #
+ # Clears the current list of appenders and replaces them with _app_,
+ # where _app_ can be either a single appender or an array of appenders.
+ #
+ # source://logging//lib/logging/logger.rb#338
+ def appenders=(args); end
+
+ # Returns the value of attribute caller_tracing.
+ #
+ # source://logging//lib/logging/logger.rb#130
+ def caller_tracing; end
+
+ # call-seq:
+ # caller_tracing = true
+ #
+ # Sets the caller tracing of the logger. Acceptable values are +true+,
+ # 'true', +false+, 'false', or +nil+. In this case +nil+ does not change
+ # the tracing.
+ #
+ # source://logging//lib/logging/logger.rb#253
+ def caller_tracing=(val); end
+
+ # call-seq:
+ # clear_appenders
+ #
+ # Remove all appenders from this logger.
+ #
+ # source://logging//lib/logging/logger.rb#385
+ def clear_appenders; end
+
+ # Returns `true` if the logger has its own level defined.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/logger.rb#322
+ def has_own_level?; end
+
+ # call-seq:
+ # level => integer
+ #
+ # Returns an integer which is the defined log level for this logger.
+ #
+ # source://logging//lib/logging/logger.rb#267
+ def level; end
+
+ # call-seq:
+ # level = :all
+ #
+ # Set the level for this logger. The level can be either a +String+, a
+ # +Symbol+, or an +Integer+. An +ArgumentError+ is raised if this is not
+ # the case.
+ #
+ # There are two special levels -- "all" and "off". The former will
+ # enable log messages from this logger. The latter will disable all log
+ # messages from this logger.
+ #
+ # Setting the logger level to +nil+ will cause the parent's logger level
+ # to be used.
+ #
+ # Example:
+ #
+ # log.level = :debug
+ # log.level = "INFO"
+ # log.level = 4
+ # log.level = 'off'
+ # log.level = :all
+ #
+ # These produce an +ArgumentError+
+ #
+ # log.level = Object
+ # log.level = -1
+ # log.level = 1_000_000_000_000
+ #
+ # source://logging//lib/logging/logger.rb#300
+ def level=(level); end
+
+ # Returns the value of attribute name.
+ #
+ # source://logging//lib/logging/logger.rb#130
+ def name; end
+
+ # Returns the value of attribute parent.
+ #
+ # source://logging//lib/logging/logger.rb#130
+ def parent; end
+
+ # call-seq:
+ # remove_appenders( appenders )
+ #
+ # Remove the given _appenders_ from the list of appenders. The appenders
+ # to remove can be identified either by name using a +String+ or by
+ # passing the appender instance. _appenders_ can be a single appender or
+ # an array of appenders.
+ #
+ # source://logging//lib/logging/logger.rb#366
+ def remove_appenders(*args); end
+
+ # call-seq:
+ # log << "message"
+ #
+ # Log the given message without any formatting and without performing any
+ # level checks. The message is logged to all appenders. The message is
+ # passed up the logger tree if this logger's additivity is +true+.
+ #
+ # source://logging//lib/logging/logger.rb#185
+ def write(msg); end
+
+ protected
+
+ # call-seq:
+ # define_log_methods( force = false )
+ #
+ # Define the logging methods for this logger based on the configured log
+ # level. If the level is nil, then we will ask our parent for it's level
+ # and define log levels accordingly. The force flag will skip this
+ # check.
+ #
+ # Recursively call this method on all our children loggers.
+ #
+ # source://logging//lib/logging/logger.rb#420
+ def define_log_methods(force = T.unsafe(nil), code = T.unsafe(nil)); end
+
+ # call-seq:
+ # log_event( event )
+ #
+ # Send the given _event_ to the appenders for logging, and pass the
+ # _event_ up to the parent if additive mode is enabled. The log level has
+ # already been checked before this method is called.
+ #
+ # source://logging//lib/logging/logger.rb#405
+ def log_event(event); end
+
+ # call-seq:
+ # parent = ParentLogger
+ #
+ # Set the parent logger for this logger. This method will be invoked by
+ # the +Repository+ class when a parent or child is added to the
+ # hierarchy.
+ #
+ # source://logging//lib/logging/logger.rb#396
+ def parent=(parent); end
+
+ class << self
+ # Returns a logger instance for the given name.
+ #
+ # source://logging//lib/logging/logger.rb#43
+ def [](name); end
+
+ # This is where the actual logging methods are defined. Two methods
+ # are created for each log level. The first is a query method used to
+ # determine if that perticular logging level is enabled. The second is
+ # the actual logging method that accepts a list of objects to be
+ # logged or a block. If a block is given, then the object returned
+ # from the block will be logged.
+ #
+ # Example
+ #
+ # log = Logging::Logger['my logger']
+ # log.level = :warn
+ #
+ # log.info? # => false
+ # log.warn? # => true
+ # log.warn 'this is your last warning'
+ # log.fatal 'I die!', exception
+ #
+ # log.debug do
+ # # expensive method to construct log message
+ # msg
+ # end
+ #
+ # source://logging//lib/logging/logger.rb#85
+ def define_log_methods(logger); end
+
+ # `instantiate` becomes the "real" `new`
+ def instantiate(*_arg0); end
+
+ # This generator is used to define the log methods for the given `level`.
+ # This code is evaluated in the context of a Logger instance.
+ #
+ # Returns log methods as a String
+ #
+ # source://logging//lib/logging/logger.rb#95
+ def log_methods_for_level(level); end
+
+ # Returns a global ReentrantMutex for use when creating Logger instances
+ # and/or updating log levels.
+ #
+ # source://logging//lib/logging/logger.rb#126
+ def mutex; end
+
+ # Overrides the new method such that only one Logger will be created
+ # for any given logger name.
+ #
+ # source://logging//lib/logging/logger.rb#38
+ def new(*args); end
+
+ # Returns the root logger.
+ #
+ # source://logging//lib/logging/logger.rb#28
+ def root; end
+ end
+end
+
+# A Mapped Diagnostic Context, or MDC in short, is an instrument used to
+# distinguish interleaved log output from different sources. Log output is
+# typically interleaved when a server handles multiple clients
+# near-simultaneously.
+#
+# Interleaved log output can still be meaningful if each log entry from
+# different contexts had a distinctive stamp. This is where MDCs come into
+# play.
+#
+# The MDC provides a hash of contextual messages that are identified by
+# unique keys. These unique keys are set by the application and appended
+# to log messages to identify groups of log events. One use of the Mapped
+# Diagnostic Context is to store HTTP request headers associated with a Rack
+# request. These headers can be included with all log messages emitted while
+# generating the HTTP response.
+#
+# When configured to do so, PatternLayout instances will automatically
+# retrieve the mapped diagnostic context for the current thread with out any
+# user intervention. This context information can be used to track user
+# sessions in a Rails application, for example.
+#
+# Note that MDCs are managed on a per thread basis. MDC operations such as
+# `[]`, `[]=`, and `clear` affect the MDC of the current thread only. MDCs
+# of other threads remain unaffected.
+#
+# By default, when a new thread is created it will inherit the context of
+# its parent thread. However, the `inherit` method may be used to inherit
+# context for any other thread in the application.
+#
+# source://logging//lib/logging/diagnostic_context.rb#33
+module Logging::MappedDiagnosticContext
+ extend ::Logging::MappedDiagnosticContext
+
+ # Public: Get the context value identified with the key parameter.
+ #
+ # key - The String identifier for the context.
+ #
+ # Returns the value associated with the key or nil if there is no value
+ # present.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#62
+ def [](key); end
+
+ # Public: Put a context value as identified with the key parameter into
+ # the current thread's context map.
+ #
+ # key - The String identifier for the context.
+ # value - The String value to store.
+ #
+ # Returns the value.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#50
+ def []=(key, value); end
+
+ # Public: Clear all mapped diagnostic information if any. This method is
+ # useful in cases where the same thread can be potentially used over and
+ # over in different unrelated contexts.
+ #
+ # Returns the MappedDiagnosticContext.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#126
+ def clear; end
+
+ # Remove the flattened context.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#196
+ def clear_context; end
+
+ # Returns the Hash acting as the storage for this MappedDiagnosticContext.
+ # A new storage Hash is created for each Thread running in the
+ # application.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#160
+ def context; end
+
+ # Public: Remove the context value identified with the key parameter.
+ #
+ # key - The String identifier for the context.
+ #
+ # Returns the value associated with the key or nil if there is no value
+ # present.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#73
+ def delete(key); end
+
+ # Given an Array of Hash objects, flatten all the key/value pairs from the
+ # Hash objects in the ary into a single Hash. The flattening occurs left
+ # to right. So that the key/value in the very last Hash overrides any
+ # other key from the previous Hash objcts.
+ #
+ # ary - An Array of Hash objects.
+ #
+ # Returns a Hash.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#229
+ def flatten(ary); end
+
+ # Public: Inherit the diagnostic context of another thread. In the vast
+ # majority of cases the other thread will the parent that spawned the
+ # current thread. The diagnostic context from the parent thread is cloned
+ # before being inherited; the two diagnostic contexts can be changed
+ # independently.
+ #
+ # Returns the MappedDiagnosticContext.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#140
+ def inherit(obj); end
+
+ # Returns the most current Hash from the stack of contexts.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#190
+ def peek; end
+
+ # Public: Remove the most recently pushed Hash from the stack of contexts.
+ # If no contexts have been pushed then no action will be taken. The
+ # default context cannot be popped off the stack; please use the `clear`
+ # method if you want to remove all key/value pairs from the context.
+ #
+ # Returns nil or the Hash removed from the stack.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#112
+ def pop; end
+
+ # Public: Push a new Hash of key/value pairs onto the stack of contexts.
+ #
+ # hash - The Hash of values to push onto the context stack.
+ #
+ # Returns this context.
+ # Raises an ArgumentError if hash is not a Hash.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#99
+ def push(hash); end
+
+ # Given a Hash convert all keys into Strings. The values are not altered
+ # in any way. The converted keys and their values are stored in the target
+ # Hash if provided. Otherwise a new Hash is created and returned.
+ #
+ # hash - The Hash of values to push onto the context stack.
+ # target - The target Hash to store the key value pairs.
+ #
+ # Returns a new Hash with all keys converted to Strings.
+ # Raises an ArgumentError if hash is not a Hash.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#211
+ def sanitize(hash, target = T.unsafe(nil)); end
+
+ # Returns the stack of Hash objects that are storing the diagnostic
+ # context information. This stack is guarnteed to always contain at least
+ # one Hash.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#179
+ def stack; end
+
+ # Public: Add all the key/value pairs from the given hash to the current
+ # mapped diagnostic context. The keys will be converted to strings.
+ # Existing keys of the same name will be overwritten.
+ #
+ # hash - The Hash of values to add to the current context.
+ #
+ # Returns this context.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#86
+ def update(hash); end
+end
+
+# The name used to retrieve the MDC from thread-local storage.
+#
+# source://logging//lib/logging/diagnostic_context.rb#37
+Logging::MappedDiagnosticContext::NAME = T.let(T.unsafe(nil), Symbol)
+
+# The name used to retrieve the MDC stack from thread-local storage.
+#
+# source://logging//lib/logging/diagnostic_context.rb#40
+Logging::MappedDiagnosticContext::STACK_NAME = T.let(T.unsafe(nil), Symbol)
+
+# A Nested Diagnostic Context, or NDC in short, is an instrument to
+# distinguish interleaved log output from different sources. Log output is
+# typically interleaved when a server handles multiple clients
+# near-simultaneously.
+#
+# Interleaved log output can still be meaningful if each log entry from
+# different contexts had a distinctive stamp. This is where NDCs come into
+# play.
+#
+# The NDC is a stack of contextual messages that are pushed and popped by
+# the client as different contexts are encountered in the application. When a
+# new context is entered, the client will `push` a new message onto the NDC
+# stack. This message appears in all log messages. When this context is
+# exited, the client will call `pop` to remove the message.
+#
+# * Contexts can be nested
+# * When entering a context, call `Logging.ndc.push`
+# * When leaving a context, call `Logging.ndc.pop`
+# * Configure the PatternLayout to log context information
+#
+# There is no penalty for forgetting to match each push operation with a
+# corresponding pop, except the obvious mismatch between the real
+# application context and the context set in the NDC.
+#
+# When configured to do so, PatternLayout instance will automatically
+# retrieve the nested diagnostic context for the current thread with out any
+# user intervention. This context information can be used to track user
+# sessions in a Rails application, for example.
+#
+# Note that NDCs are managed on a per thread basis. NDC operations such as
+# `push`, `pop`, and `clear` affect the NDC of the current thread only. NDCs
+# of other threads remain unaffected.
+#
+# By default, when a new thread is created it will inherit the context of
+# its parent thread. However, the `inherit` method may be used to inherit
+# context for any other thread in the application.
+#
+# source://logging//lib/logging/diagnostic_context.rb#277
+module Logging::NestedDiagnosticContext
+ extend ::Logging::NestedDiagnosticContext
+
+ # Public: Push new diagnostic context information for the current thread.
+ # The contents of the message parameter is determined solely by the
+ # client.
+ #
+ # message - The message String to add to the current context.
+ #
+ # Returns the current NestedDiagnosticContext.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#291
+ def <<(message); end
+
+ # Public: Clear all nested diagnostic information if any. This method is
+ # useful in cases where the same thread can be potentially used over and
+ # over in different unrelated contexts.
+ #
+ # Returns the NestedDiagnosticContext.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#332
+ def clear; end
+
+ # Returns the Array acting as the storage stack for this
+ # NestedDiagnosticContext. A new storage Array is created for each Thread
+ # running in the application.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#363
+ def context; end
+
+ # Public: Inherit the diagnostic context of another thread. In the vast
+ # majority of cases the other thread will the parent that spawned the
+ # current thread. The diagnostic context from the parent thread is cloned
+ # before being inherited; the two diagnostic contexts can be changed
+ # independently.
+ #
+ # Returns the NestedDiagnosticContext.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#345
+ def inherit(obj); end
+
+ # Public: Looks at the last diagnostic context at the top of this NDC
+ # without removing it. The returned value is the last pushed message. If
+ # no context is available then `nil` is returned.
+ #
+ # Returns the last pushed diagnostic message String or nil if no messages
+ # exist.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#322
+ def peek; end
+
+ # Public: Clients should call this method before leaving a diagnostic
+ # context. The returned value is the last pushed message. If no
+ # context is available then `nil` is returned.
+ #
+ # Returns the last pushed diagnostic message String or nil if no messages
+ # exist.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#311
+ def pop; end
+
+ # Public: Push new diagnostic context information for the current thread.
+ # The contents of the message parameter is determined solely by the
+ # client.
+ #
+ # message - The message String to add to the current context.
+ #
+ # Returns the current NestedDiagnosticContext.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#291
+ def push(message); end
+end
+
+# The name used to retrieve the NDC from thread-local storage.
+#
+# source://logging//lib/logging/diagnostic_context.rb#281
+Logging::NestedDiagnosticContext::NAME = T.let(T.unsafe(nil), Symbol)
+
+# source://logging//lib/logging.rb#23
+Logging::PATH = T.let(T.unsafe(nil), String)
+
+# source://logging//lib/logging.rb#28
+module Logging::Plugins; end
+
+# Defines a Proxy that will log all method calls on the proxied object. This
+# class uses +method_missing+ on a "blank slate" object to intercept all
+# method calls. The method name being called and the arguments are all
+# logged to the proxied object's logger instance. The log level and other
+# settings for the proxied object are honored by the Proxy instance.
+#
+# If you want, you can also supply your own +method_missing+ code as a block
+# to the constructor.
+#
+# Proxy.new(object) do |name, *args, &block|
+# # code to be executed before the proxied method
+# result = @object.send(name, *args, &block)
+# # code to be executed after the proxied method
+# result # <-- always return the result
+# end
+#
+# The proxied object is available as the "@object" variable. The logger is
+# available as the "@logger" variable.
+#
+# source://logging//lib/logging/proxy.rb#23
+class Logging::Proxy
+ # Create a new proxy for the given _object_. If an optional _block_ is
+ # given it will be called before the proxied method. This _block_ will
+ # replace the +method_missing+ implementation
+ #
+ # @return [Proxy] a new instance of Proxy
+ #
+ # source://logging//lib/logging/proxy.rb#35
+ def initialize(object, &block); end
+
+ # All hail the magic of method missing. Here is where we are going to log
+ # the method call and then forward to the proxied object. The return value
+ # from the proxied object method call is passed back.
+ #
+ # source://logging//lib/logging/proxy.rb#52
+ def method_missing(name, *args, &block); end
+end
+
+# :stopdoc:
+#
+# source://logging//lib/logging/proxy.rb#26
+Logging::Proxy::KEEPERS = T.let(T.unsafe(nil), Regexp)
+
+# Rails compatibility module.
+#
+# The ActiveSupport gem adds a few methods to the default Ruby logger, and
+# some Rails extensions expect these methods to exist. Those methods are
+# implemented in this module and included in the Logging::Logger class when
+# the ActiveSupport gem is present.
+#
+# source://logging//lib/logging/rails_compat.rb#9
+module Logging::RailsCompat
+ # A no-op implementation of the `formatter` method.
+ #
+ # source://logging//lib/logging/rails_compat.rb#12
+ def formatter; end
+
+ # A no-op implementation of the +silence+ method. Setting of log levels
+ # should be done during the Logging configuration. It is the author's
+ # opinion that overriding the log level programmatically is a logical
+ # error.
+ #
+ # Please see https://github.com/TwP/logging/issues/11 for a more detailed
+ # discussion of the issue.
+ #
+ # @yield [_self]
+ # @yieldparam _self [Logging::RailsCompat] the object that the method was called on
+ #
+ # source://logging//lib/logging/rails_compat.rb#21
+ def silence(*args); end
+end
+
+# The Repository is a hash that stores references to all Loggers
+# that have been created. It provides methods to determine parent/child
+# relationships between Loggers and to retrieve Loggers from the hash.
+#
+# source://logging//lib/logging/repository.rb#10
+class Logging::Repository
+ include ::Singleton
+ extend ::Singleton::SingletonClassMethods
+
+ # nodoc:
+ #
+ # This is a singleton class -- use the +instance+ method to obtain the
+ # +Repository+ instance.
+ #
+ # @return [Repository] a new instance of Repository
+ #
+ # source://logging//lib/logging/repository.rb#20
+ def initialize; end
+
+ # call-seq:
+ # instance[name]
+ #
+ # Returns the +Logger+ named _name_.
+ #
+ # When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
+ # retrieve the logger. When _name_ is a +Class+ the class name will be
+ # used to retrieve the logger. When _name_ is an object the name of the
+ # object's class will be used to retrieve the logger.
+ #
+ # Example:
+ #
+ # repo = Repository.instance
+ # obj = MyClass.new
+ #
+ # log1 = repo[obj]
+ # log2 = repo[MyClass]
+ # log3 = repo['MyClass']
+ #
+ # log1.object_id == log2.object_id # => true
+ # log2.object_id == log3.object_id # => true
+ #
+ # source://logging//lib/logging/repository.rb#56
+ def [](key); end
+
+ # call-seq:
+ # instance[name] = logger
+ #
+ # Stores the _logger_ under the given _name_.
+ #
+ # When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
+ # store the logger. When _name_ is a +Class+ the class name will be
+ # used to store the logger. When _name_ is an object the name of the
+ # object's class will be used to store the logger.
+ #
+ # source://logging//lib/logging/repository.rb#68
+ def []=(key, val); end
+
+ # call-seq:
+ # children( key )
+ #
+ # Returns an array of the children loggers for the logger identified by
+ # _key_ where _key_ follows the same identification rules described in
+ # +Repository#[]+. Children are returned regardless of the
+ # existence of the logger referenced by _key_.
+ #
+ # source://logging//lib/logging/repository.rb#146
+ def children(parent); end
+
+ # call-seq:
+ # delete( name )
+ #
+ # Deletes the named logger from the repository. All direct children of the
+ # logger will have their parent reassigned. So the parent of the logger
+ # being deleted becomes the new parent of the children.
+ #
+ # When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
+ # remove the logger. When _name_ is a +Class+ the class name will be
+ # used to remove the logger. When _name_ is an object the name of the
+ # object's class will be used to remove the logger.
+ #
+ # Raises a RuntimeError if you try to delete the root logger.
+ # Raises an KeyError if the named logger is not found.
+ #
+ # source://logging//lib/logging/repository.rb#110
+ def delete(key); end
+
+ # call-seq:
+ # fetch( name )
+ #
+ # Returns the +Logger+ named _name_. An +KeyError+ will be raised if
+ # the logger does not exist.
+ #
+ # When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
+ # retrieve the logger. When _name_ is a +Class+ the class name will be
+ # used to retrieve the logger. When _name_ is an object the name of the
+ # object's class will be used to retrieve the logger.
+ #
+ # source://logging//lib/logging/repository.rb#81
+ def fetch(key); end
+
+ # call-seq:
+ # has_logger?( name )
+ #
+ # Returns +true+ if the given logger exists in the repository. Returns
+ # +false+ if this is not the case.
+ #
+ # When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
+ # retrieve the logger. When _name_ is a +Class+ the class name will be
+ # used to retrieve the logger. When _name_ is an object the name of the
+ # object's class will be used to retrieve the logger.
+ #
+ # @return [Boolean]
+ #
+ # source://logging//lib/logging/repository.rb#94
+ def has_logger?(key); end
+
+ # call-seq:
+ # parent( key )
+ #
+ # Returns the parent logger for the logger identified by _key_ where
+ # _key_ follows the same identification rules described in
+ # Repository#[] . A parent is returned regardless of the
+ # existence of the logger referenced by _key_.
+ #
+ # A note about parents -
+ #
+ # If you have a class A::B::C, then the parent of C is B, and the parent
+ # of B is A. Parents are determined by namespace.
+ #
+ # source://logging//lib/logging/repository.rb#132
+ def parent(key); end
+
+ # Returns the name of the parent for the logger identified by the given
+ # _key_. If the _key_ is for the root logger, then +nil+ is returned.
+ #
+ # source://logging//lib/logging/repository.rb#180
+ def parent_name(key); end
+
+ # call-seq:
+ # to_key( key )
+ #
+ # Takes the given _key_ and converts it into a form that can be used to
+ # retrieve a logger from the +Repository+ hash.
+ #
+ # When _key_ is a +String+ or a +Symbol+ it will be returned "as is".
+ # When _key_ is a +Class+ the class name will be returned. When _key_ is
+ # an object the name of the object's class will be returned.
+ #
+ # source://logging//lib/logging/repository.rb#167
+ def to_key(key); end
+
+ class << self
+ # :stopdoc:
+ #
+ # source://logging//lib/logging/repository.rb#193
+ def reset; end
+
+ private
+
+ def allocate; end
+ def new(*_arg0); end
+ end
+end
+
+# source://logging//lib/logging/repository.rb#13
+Logging::Repository::PATH_DELIMITER = T.let(T.unsafe(nil), String)
+
+# The root logger exists to ensure that all loggers have a parent and a
+# defined logging level. If a logger is additive, eventually its log
+# events will propagate up to the root logger.
+#
+# source://logging//lib/logging/root_logger.rb#8
+class Logging::RootLogger < ::Logging::Logger
+ # call-seq:
+ # RootLogger.new
+ #
+ # Returns a new root logger instance. This method will be called only
+ # once when the +Repository+ singleton instance is created.
+ #
+ # @return [RootLogger] a new instance of RootLogger
+ #
+ # source://logging//lib/logging/root_logger.rb#23
+ def initialize; end
+
+ # call-seq:
+ # log <=> other
+ #
+ # Compares this logger by name to another logger. The normal return codes
+ # for +String+ objects apply.
+ #
+ # source://logging//lib/logging/root_logger.rb#40
+ def <=>(other); end
+
+ # Returns the value of attribute level.
+ #
+ # source://logging//lib/logging/root_logger.rb#15
+ def level; end
+
+ # call-seq:
+ # level = :all
+ #
+ # Set the level for the root logger. The functionality of this method is
+ # the same as +Logger#level=+, but setting the level to +nil+ for the
+ # root logger is not allowed. The level is silently set to :all.
+ #
+ # source://logging//lib/logging/root_logger.rb#54
+ def level=(level); end
+end
+
+# source://logging//lib/logging/version.rb#2
+Logging::VERSION = T.let(T.unsafe(nil), String)
+
+# --------------------------------------------------------------------------
+#
+# source://logging//lib/logging/utils.rb#36
+class Module
+ # call-seq:
+ # logger_name #=> string
+ #
+ # Returns a predictable logger name for the current module or class. If
+ # used within an anonymous class, the first non-anonymous class name will
+ # be used as the logger name. If used within a meta-class, the name of the
+ # actual class will be used as the logger name. If used within an
+ # anonymous module, the string 'anonymous' will be returned.
+ #
+ # source://logging//lib/logging/utils.rb#47
+ def logger_name; end
+end
+
+# --------------------------------------------------------------------------
+#
+# source://logging//lib/logging/utils.rb#146
+class ReentrantMutex < ::Thread::Mutex
+ # @return [ReentrantMutex] a new instance of ReentrantMutex
+ #
+ # source://logging//lib/logging/utils.rb#148
+ def initialize; end
+
+ def original_synchronize; end
+
+ # source://logging//lib/logging/utils.rb#155
+ def synchronize; end
+end
+
+# --------------------------------------------------------------------------
+#
+# source://logging//lib/logging/utils.rb#6
+class String
+ include ::Comparable
+
+ # call-seq:
+ # shrink( width, ellipses = '...' ) #=> string
+ #
+ # Shrink the size of the current string to the given _width_ by removing
+ # characters from the middle of the string and replacing them with
+ # _ellipses_. If the _width_ is greater than the length of the string, the
+ # string is returned unchanged. If the _width_ is less than the length of
+ # the _ellipses_, then the _ellipses_ are returned.
+ #
+ # @raise [ArgumentError]
+ #
+ # source://logging//lib/logging/utils.rb#17
+ def shrink(width, ellipses = T.unsafe(nil)); end
+end
+
+# source://logging//lib/logging/diagnostic_context.rb#429
+class Thread
+ class << self
+ # source://logging//lib/logging/diagnostic_context.rb#435
+ def fork(*a, &b); end
+
+ # source://logging//lib/logging/diagnostic_context.rb#435
+ def new(*a, &b); end
+
+ # source://logging//lib/logging/diagnostic_context.rb#435
+ def start(*a, &b); end
+
+ private
+
+ # In order for the diagnostic contexts to behave properly we need to
+ # inherit state from the parent thread. The only way I have found to do
+ # this in Ruby is to override `new` and capture the contexts from the
+ # parent Thread at the time the child Thread is created. The code below does
+ # just this. If there is a more idiomatic way of accomplishing this in Ruby,
+ # please let me know!
+ #
+ # Also, great care is taken in this code to ensure that a reference to the
+ # parent thread does not exist in the binding associated with the block
+ # being executed in the child thread. The same is true for the parent
+ # thread's mdc and ndc. If any of those references end up in the binding,
+ # then they cannot be garbage collected until the child thread exits.
+ #
+ # source://logging//lib/logging/diagnostic_context.rb#457
+ def create_with_logging_context(m, *a, &b); end
+ end
+end
diff --git a/sorbet/rbi/gems/minitest@5.21.2.rbi b/sorbet/rbi/gems/minitest@5.21.2.rbi
new file mode 100644
index 00000000..fb99ee84
--- /dev/null
+++ b/sorbet/rbi/gems/minitest@5.21.2.rbi
@@ -0,0 +1,8 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `minitest` gem.
+# Please instead update this file by running `bin/tapioca gem minitest`.
+
+# THIS IS AN EMPTY RBI FILE.
+# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
diff --git a/sorbet/rbi/gems/mono_logger@1.1.2.rbi b/sorbet/rbi/gems/mono_logger@1.1.2.rbi
new file mode 100644
index 00000000..3555cadd
--- /dev/null
+++ b/sorbet/rbi/gems/mono_logger@1.1.2.rbi
@@ -0,0 +1,64 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `mono_logger` gem.
+# Please instead update this file by running `bin/tapioca gem mono_logger`.
+
+# == MonoLogger
+# A subclass of Ruby's stdlib Logger with all the mutex and logrotation stuff
+# ripped out.
+#
+# source://mono_logger//lib/mono_logger/version.rb#3
+class MonoLogger < ::Logger
+ # === Synopsis
+ #
+ # MonoLogger.new(STDOUT)
+ # MonoLogger.new(filename)
+ #
+ # === Args
+ #
+ # +logdev+::
+ # The log device. This is a filename (String) or IO object (typically
+ # +STDOUT+, +STDERR+, or an open file).
+ # +shift_age+::
+ # ignored in MonoLogger
+ # +shift_size+::
+ # ignored in MonoLogger
+ #
+ # === Description
+ #
+ # Create an instance.
+ #
+ # @return [MonoLogger] a new instance of MonoLogger
+ #
+ # source://mono_logger//lib/mono_logger.rb#30
+ def initialize(logdev, shift_age = T.unsafe(nil), shift_size = T.unsafe(nil)); end
+end
+
+# source://mono_logger//lib/mono_logger.rb#39
+class MonoLogger::LocklessLogDevice < ::Logger::LogDevice
+ # @return [LocklessLogDevice] a new instance of LocklessLogDevice
+ #
+ # source://mono_logger//lib/mono_logger.rb#41
+ def initialize(log = T.unsafe(nil)); end
+
+ # source://mono_logger//lib/mono_logger.rb#58
+ def close; end
+
+ # source://mono_logger//lib/mono_logger.rb#52
+ def write(message); end
+
+ private
+
+ # source://mono_logger//lib/mono_logger.rb#79
+ def add_log_header(file); end
+
+ # source://mono_logger//lib/mono_logger.rb#72
+ def create_logfile(filename); end
+
+ # source://mono_logger//lib/mono_logger.rb#64
+ def open_logfile(filename); end
+end
+
+# source://mono_logger//lib/mono_logger/version.rb#4
+MonoLogger::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/multi_json@1.15.0.rbi b/sorbet/rbi/gems/multi_json@1.15.0.rbi
new file mode 100644
index 00000000..833ddace
--- /dev/null
+++ b/sorbet/rbi/gems/multi_json@1.15.0.rbi
@@ -0,0 +1,267 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `multi_json` gem.
+# Please instead update this file by running `bin/tapioca gem multi_json`.
+
+# source://multi_json//lib/multi_json/options.rb#1
+module MultiJson
+ include ::MultiJson::Options
+ extend ::MultiJson::Options
+ extend ::MultiJson
+
+ # Get the current adapter class.
+ #
+ # source://multi_json//lib/multi_json.rb#70
+ def adapter; end
+
+ # Set the JSON parser utilizing a symbol, string, or class.
+ # Supported by default are:
+ #
+ # * :oj
+ # * :json_gem
+ # * :json_pure
+ # * :ok_json
+ # * :yajl
+ # * :nsjsonserialization (MacRuby only)
+ # * :gson (JRuby only)
+ # * :jr_jackson (JRuby only)
+ #
+ # source://multi_json//lib/multi_json.rb#90
+ def adapter=(new_adapter); end
+
+ # source://multi_json//lib/multi_json.rb#26
+ def cached_options(*_arg0); end
+
+ # source://multi_json//lib/multi_json.rb#129
+ def current_adapter(options = T.unsafe(nil)); end
+
+ # Decode a JSON string into Ruby.
+ #
+ # Options
+ #
+ # :symbolize_keys :: If true, will use symbols instead of strings for the keys.
+ # :adapter :: If set, the selected adapter will be used for this call.
+ #
+ # source://multi_json//lib/multi_json.rb#119
+ def decode(string, options = T.unsafe(nil)); end
+
+ # The default adapter based on what you currently
+ # have loaded and installed. First checks to see
+ # if any adapters are already loaded, then checks
+ # to see which are installed if none are loaded.
+ #
+ # source://multi_json//lib/multi_json.rb#46
+ def default_adapter; end
+
+ # The default adapter based on what you currently
+ # have loaded and installed. First checks to see
+ # if any adapters are already loaded, then checks
+ # to see which are installed if none are loaded.
+ #
+ # source://multi_json//lib/multi_json.rb#46
+ def default_engine; end
+
+ # source://multi_json//lib/multi_json.rb#18
+ def default_options; end
+
+ # source://multi_json//lib/multi_json.rb#11
+ def default_options=(value); end
+
+ # Encodes a Ruby object as JSON.
+ #
+ # source://multi_json//lib/multi_json.rb#138
+ def dump(object, options = T.unsafe(nil)); end
+
+ # Encodes a Ruby object as JSON.
+ #
+ # source://multi_json//lib/multi_json.rb#138
+ def encode(object, options = T.unsafe(nil)); end
+
+ # Get the current adapter class.
+ #
+ # source://multi_json//lib/multi_json.rb#70
+ def engine; end
+
+ # Set the JSON parser utilizing a symbol, string, or class.
+ # Supported by default are:
+ #
+ # * :oj
+ # * :json_gem
+ # * :json_pure
+ # * :ok_json
+ # * :yajl
+ # * :nsjsonserialization (MacRuby only)
+ # * :gson (JRuby only)
+ # * :jr_jackson (JRuby only)
+ #
+ # source://multi_json//lib/multi_json.rb#90
+ def engine=(new_adapter); end
+
+ # Decode a JSON string into Ruby.
+ #
+ # Options
+ #
+ # :symbolize_keys :: If true, will use symbols instead of strings for the keys.
+ # :adapter :: If set, the selected adapter will be used for this call.
+ #
+ # source://multi_json//lib/multi_json.rb#119
+ def load(string, options = T.unsafe(nil)); end
+
+ # source://multi_json//lib/multi_json.rb#98
+ def load_adapter(new_adapter); end
+
+ # source://multi_json//lib/multi_json.rb#26
+ def reset_cached_options!(*_arg0); end
+
+ # Set the JSON parser utilizing a symbol, string, or class.
+ # Supported by default are:
+ #
+ # * :oj
+ # * :json_gem
+ # * :json_pure
+ # * :ok_json
+ # * :yajl
+ # * :nsjsonserialization (MacRuby only)
+ # * :gson (JRuby only)
+ # * :jr_jackson (JRuby only)
+ #
+ # source://multi_json//lib/multi_json.rb#90
+ def use(new_adapter); end
+
+ # Executes passed block using specified adapter.
+ #
+ # source://multi_json//lib/multi_json.rb#144
+ def with_adapter(new_adapter); end
+
+ # Executes passed block using specified adapter.
+ #
+ # source://multi_json//lib/multi_json.rb#144
+ def with_engine(new_adapter); end
+
+ private
+
+ # source://multi_json//lib/multi_json.rb#155
+ def load_adapter_from_string_name(name); end
+end
+
+# source://multi_json//lib/multi_json.rb#31
+MultiJson::ALIASES = T.let(T.unsafe(nil), Hash)
+
+# source://multi_json//lib/multi_json/adapter_error.rb#2
+class MultiJson::AdapterError < ::ArgumentError
+ # Returns the value of attribute cause.
+ #
+ # source://multi_json//lib/multi_json/adapter_error.rb#3
+ def cause; end
+
+ class << self
+ # source://multi_json//lib/multi_json/adapter_error.rb#5
+ def build(original_exception); end
+ end
+end
+
+# Legacy support
+#
+# source://multi_json//lib/multi_json/parse_error.rb#16
+MultiJson::DecodeError = MultiJson::ParseError
+
+# source://multi_json//lib/multi_json/parse_error.rb#16
+MultiJson::LoadError = MultiJson::ParseError
+
+# source://multi_json//lib/multi_json/options.rb#2
+module MultiJson::Options
+ # source://multi_json//lib/multi_json/options.rb#25
+ def default_dump_options; end
+
+ # source://multi_json//lib/multi_json/options.rb#21
+ def default_load_options; end
+
+ # source://multi_json//lib/multi_json/options.rb#17
+ def dump_options(*args); end
+
+ # source://multi_json//lib/multi_json/options.rb#8
+ def dump_options=(options); end
+
+ # source://multi_json//lib/multi_json/options.rb#13
+ def load_options(*args); end
+
+ # source://multi_json//lib/multi_json/options.rb#3
+ def load_options=(options); end
+
+ private
+
+ # source://multi_json//lib/multi_json/options.rb#31
+ def get_options(options, *args); end
+end
+
+# source://multi_json//lib/multi_json/options_cache.rb#2
+module MultiJson::OptionsCache
+ extend ::MultiJson::OptionsCache
+
+ # source://multi_json//lib/multi_json/options_cache.rb#10
+ def fetch(type, key, &block); end
+
+ # source://multi_json//lib/multi_json/options_cache.rb#5
+ def reset; end
+
+ private
+
+ # source://multi_json//lib/multi_json/options_cache.rb#24
+ def write(cache, key); end
+end
+
+# Normally MultiJson is used with a few option sets for both dump/load
+# methods. When options are generated dynamically though, every call would
+# cause a cache miss and the cache would grow indefinitely. To prevent
+# this, we just reset the cache every time the number of keys outgrows
+# 1000.
+#
+# source://multi_json//lib/multi_json/options_cache.rb#22
+MultiJson::OptionsCache::MAX_CACHE_SIZE = T.let(T.unsafe(nil), Integer)
+
+# source://multi_json//lib/multi_json/parse_error.rb#2
+class MultiJson::ParseError < ::StandardError
+ # Returns the value of attribute cause.
+ #
+ # source://multi_json//lib/multi_json/parse_error.rb#3
+ def cause; end
+
+ # Returns the value of attribute data.
+ #
+ # source://multi_json//lib/multi_json/parse_error.rb#3
+ def data; end
+
+ class << self
+ # source://multi_json//lib/multi_json/parse_error.rb#5
+ def build(original_exception, data); end
+ end
+end
+
+# source://multi_json//lib/multi_json.rb#33
+MultiJson::REQUIREMENT_MAP = T.let(T.unsafe(nil), Array)
+
+# source://multi_json//lib/multi_json/version.rb#16
+MultiJson::VERSION = T.let(T.unsafe(nil), String)
+
+# source://multi_json//lib/multi_json/version.rb#2
+class MultiJson::Version
+ class << self
+ # @return [String]
+ #
+ # source://multi_json//lib/multi_json/version.rb#10
+ def to_s; end
+ end
+end
+
+# source://multi_json//lib/multi_json/version.rb#3
+MultiJson::Version::MAJOR = T.let(T.unsafe(nil), Integer)
+
+# source://multi_json//lib/multi_json/version.rb#4
+MultiJson::Version::MINOR = T.let(T.unsafe(nil), Integer)
+
+# source://multi_json//lib/multi_json/version.rb#5
+MultiJson::Version::PATCH = T.let(T.unsafe(nil), Integer)
+
+# source://multi_json//lib/multi_json/version.rb#6
+MultiJson::Version::PRE = T.let(T.unsafe(nil), T.untyped)
diff --git a/sorbet/rbi/gems/multi_xml@0.6.0.rbi b/sorbet/rbi/gems/multi_xml@0.6.0.rbi
new file mode 100644
index 00000000..7736e1ab
--- /dev/null
+++ b/sorbet/rbi/gems/multi_xml@0.6.0.rbi
@@ -0,0 +1,101 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `multi_xml` gem.
+# Please instead update this file by running `bin/tapioca gem multi_xml`.
+
+# source://multi_xml//lib/multi_xml.rb#8
+module MultiXml
+ class << self
+ # The default parser based on what you currently
+ # have loaded and installed. First checks to see
+ # if any parsers are already loaded, then checks
+ # to see which are installed if none are loaded.
+ #
+ # @raise [NoParserError]
+ #
+ # source://multi_xml//lib/multi_xml.rb#87
+ def default_parser; end
+
+ # Parse an XML string or IO into Ruby.
+ #
+ # Options
+ #
+ # :symbolize_keys :: If true, will use symbols instead of strings for the keys.
+ #
+ # :disallowed_types :: Types to disallow from being typecasted. Defaults to `['yaml', 'symbol']`. Use `[]` to allow all types.
+ #
+ # :typecast_xml_value :: If true, won't typecast values for parsed document
+ #
+ # source://multi_xml//lib/multi_xml.rb#133
+ def parse(xml, options = T.unsafe(nil)); end
+
+ # Get the current parser class.
+ #
+ # source://multi_xml//lib/multi_xml.rb#77
+ def parser; end
+
+ # Set the XML parser utilizing a symbol, string, or class.
+ # Supported by default are:
+ #
+ # * :libxml
+ # * :nokogiri
+ # * :ox
+ # * :rexml
+ # * :oga
+ #
+ # source://multi_xml//lib/multi_xml.rb#112
+ def parser=(new_parser); end
+
+ private
+
+ # TODO: Add support for other encodings
+ #
+ # source://multi_xml//lib/multi_xml.rb#174
+ def parse_binary(binary, entity); end
+
+ # source://multi_xml//lib/multi_xml.rb#183
+ def parse_file(file, entity); end
+
+ # source://multi_xml//lib/multi_xml.rb#191
+ def symbolize_keys(params); end
+
+ # source://multi_xml//lib/multi_xml.rb#218
+ def typecast_xml_value(value, disallowed_types = T.unsafe(nil)); end
+
+ # source://multi_xml//lib/multi_xml.rb#204
+ def undasherize_keys(params); end
+ end
+end
+
+# source://multi_xml//lib/multi_xml.rb#27
+MultiXml::CONTENT_ROOT = T.let(T.unsafe(nil), String)
+
+# source://multi_xml//lib/multi_xml.rb#69
+MultiXml::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
+
+# source://multi_xml//lib/multi_xml.rb#67
+MultiXml::DISALLOWED_XML_TYPES = T.let(T.unsafe(nil), Array)
+
+# source://multi_xml//lib/multi_xml.rb#11
+class MultiXml::DisallowedTypeError < ::StandardError
+ # @return [DisallowedTypeError] a new instance of DisallowedTypeError
+ #
+ # source://multi_xml//lib/multi_xml.rb#12
+ def initialize(type); end
+end
+
+# source://multi_xml//lib/multi_xml.rb#10
+class MultiXml::NoParserError < ::StandardError; end
+
+# source://multi_xml//lib/multi_xml.rb#33
+MultiXml::PARSING = T.let(T.unsafe(nil), Hash)
+
+# source://multi_xml//lib/multi_xml.rb#9
+class MultiXml::ParseError < ::StandardError; end
+
+# source://multi_xml//lib/multi_xml.rb#18
+MultiXml::REQUIREMENT_MAP = T.let(T.unsafe(nil), Array)
+
+# source://multi_xml//lib/multi_xml.rb#52
+MultiXml::TYPE_NAMES = T.let(T.unsafe(nil), Hash)
diff --git a/sorbet/rbi/gems/mutex_m@0.2.0.rbi b/sorbet/rbi/gems/mutex_m@0.2.0.rbi
new file mode 100644
index 00000000..346e6f8f
--- /dev/null
+++ b/sorbet/rbi/gems/mutex_m@0.2.0.rbi
@@ -0,0 +1,93 @@
+# typed: false
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `mutex_m` gem.
+# Please instead update this file by running `bin/tapioca gem mutex_m`.
+
+# = mutex_m.rb
+#
+# When 'mutex_m' is required, any object that extends or includes Mutex_m will
+# be treated like a Mutex.
+#
+# Start by requiring the standard library Mutex_m:
+#
+# require "mutex_m.rb"
+#
+# From here you can extend an object with Mutex instance methods:
+#
+# obj = Object.new
+# obj.extend Mutex_m
+#
+# Or mixin Mutex_m into your module to your class inherit Mutex instance
+# methods --- remember to call super() in your class initialize method.
+#
+# class Foo
+# include Mutex_m
+# def initialize
+# # ...
+# super()
+# end
+# # ...
+# end
+# obj = Foo.new
+# # this obj can be handled like Mutex
+#
+# source://mutex_m//lib/mutex_m.rb#41
+module Mutex_m
+ # source://mutex_m//lib/mutex_m.rb#111
+ def initialize(*args, **_arg1); end
+
+ # source://mutex_m//lib/mutex_m.rb#64
+ def mu_extended; end
+
+ # See Thread::Mutex#lock
+ #
+ # source://mutex_m//lib/mutex_m.rb#91
+ def mu_lock; end
+
+ # See Thread::Mutex#locked?
+ #
+ # @return [Boolean]
+ #
+ # source://mutex_m//lib/mutex_m.rb#81
+ def mu_locked?; end
+
+ # See Thread::Mutex#synchronize
+ #
+ # source://mutex_m//lib/mutex_m.rb#76
+ def mu_synchronize(&block); end
+
+ # See Thread::Mutex#try_lock
+ #
+ # source://mutex_m//lib/mutex_m.rb#86
+ def mu_try_lock; end
+
+ # See Thread::Mutex#unlock
+ #
+ # source://mutex_m//lib/mutex_m.rb#96
+ def mu_unlock; end
+
+ # See Thread::Mutex#sleep
+ #
+ # source://mutex_m//lib/mutex_m.rb#101
+ def sleep(timeout = T.unsafe(nil)); end
+
+ private
+
+ # source://mutex_m//lib/mutex_m.rb#107
+ def mu_initialize; end
+
+ class << self
+ # source://mutex_m//lib/mutex_m.rb#54
+ def append_features(cl); end
+
+ # source://mutex_m//lib/mutex_m.rb#46
+ def define_aliases(cl); end
+
+ # source://mutex_m//lib/mutex_m.rb#59
+ def extend_object(obj); end
+ end
+end
+
+# source://mutex_m//lib/mutex_m.rb#43
+Mutex_m::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/net-http@0.4.1.rbi b/sorbet/rbi/gems/net-http@0.4.1.rbi
new file mode 100644
index 00000000..94d55d1e
--- /dev/null
+++ b/sorbet/rbi/gems/net-http@0.4.1.rbi
@@ -0,0 +1,4068 @@
+# typed: false
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `net-http` gem.
+# Please instead update this file by running `bin/tapioca gem net-http`.
+
+# \Class \Net::HTTP provides a rich library that implements the client
+# in a client-server model that uses the \HTTP request-response protocol.
+# For information about \HTTP, see:
+#
+# - {Hypertext Transfer Protocol}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol].
+# - {Technical overview}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Technical_overview].
+#
+# == About the Examples
+#
+# :include: doc/net-http/examples.rdoc
+#
+# == Strategies
+#
+# - If you will make only a few GET requests,
+# consider using {OpenURI}[https://docs.ruby-lang.org/en/master/OpenURI.html].
+# - If you will make only a few requests of all kinds,
+# consider using the various singleton convenience methods in this class.
+# Each of the following methods automatically starts and finishes
+# a {session}[rdoc-ref:Net::HTTP@Sessions] that sends a single request:
+#
+# # Return string response body.
+# Net::HTTP.get(hostname, path)
+# Net::HTTP.get(uri)
+#
+# # Write string response body to $stdout.
+# Net::HTTP.get_print(hostname, path)
+# Net::HTTP.get_print(uri)
+#
+# # Return response as Net::HTTPResponse object.
+# Net::HTTP.get_response(hostname, path)
+# Net::HTTP.get_response(uri)
+# data = '{"title": "foo", "body": "bar", "userId": 1}'
+# Net::HTTP.post(uri, data)
+# params = {title: 'foo', body: 'bar', userId: 1}
+# Net::HTTP.post_form(uri, params)
+#
+# - If performance is important, consider using sessions, which lower request overhead.
+# This {session}[rdoc-ref:Net::HTTP@Sessions] has multiple requests for
+# {HTTP methods}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods]
+# and {WebDAV methods}[https://en.wikipedia.org/wiki/WebDAV#Implementation]:
+#
+# Net::HTTP.start(hostname) do |http|
+# # Session started automatically before block execution.
+# http.get(path)
+# http.head(path)
+# body = 'Some text'
+# http.post(path, body) # Can also have a block.
+# http.put(path, body)
+# http.delete(path)
+# http.options(path)
+# http.trace(path)
+# http.patch(path, body) # Can also have a block.
+# http.copy(path)
+# http.lock(path, body)
+# http.mkcol(path, body)
+# http.move(path)
+# http.propfind(path, body)
+# http.proppatch(path, body)
+# http.unlock(path, body)
+# # Session finished automatically at block exit.
+# end
+#
+# The methods cited above are convenience methods that, via their few arguments,
+# allow minimal control over the requests.
+# For greater control, consider using {request objects}[rdoc-ref:Net::HTTPRequest].
+#
+# == URIs
+#
+# On the internet, a URI
+# ({Universal Resource Identifier}[https://en.wikipedia.org/wiki/Uniform_Resource_Identifier])
+# is a string that identifies a particular resource.
+# It consists of some or all of: scheme, hostname, path, query, and fragment;
+# see {URI syntax}[https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax].
+#
+# A Ruby {URI::Generic}[https://docs.ruby-lang.org/en/master/URI/Generic.html] object
+# represents an internet URI.
+# It provides, among others, methods
+# +scheme+, +hostname+, +path+, +query+, and +fragment+.
+#
+# === Schemes
+#
+# An internet \URI has
+# a {scheme}[https://en.wikipedia.org/wiki/List_of_URI_schemes].
+#
+# The two schemes supported in \Net::HTTP are 'https' and 'http' :
+#
+# uri.scheme # => "https"
+# URI('http://example.com').scheme # => "http"
+#
+# === Hostnames
+#
+# A hostname identifies a server (host) to which requests may be sent:
+#
+# hostname = uri.hostname # => "jsonplaceholder.typicode.com"
+# Net::HTTP.start(hostname) do |http|
+# # Some HTTP stuff.
+# end
+#
+# === Paths
+#
+# A host-specific path identifies a resource on the host:
+#
+# _uri = uri.dup
+# _uri.path = '/todos/1'
+# hostname = _uri.hostname
+# path = _uri.path
+# Net::HTTP.get(hostname, path)
+#
+# === Queries
+#
+# A host-specific query adds name/value pairs to the URI:
+#
+# _uri = uri.dup
+# params = {userId: 1, completed: false}
+# _uri.query = URI.encode_www_form(params)
+# _uri # => #
+# Net::HTTP.get(_uri)
+#
+# === Fragments
+#
+# A {URI fragment}[https://en.wikipedia.org/wiki/URI_fragment] has no effect
+# in \Net::HTTP;
+# the same data is returned, regardless of whether a fragment is included.
+#
+# == Request Headers
+#
+# Request headers may be used to pass additional information to the host,
+# similar to arguments passed in a method call;
+# each header is a name/value pair.
+#
+# Each of the \Net::HTTP methods that sends a request to the host
+# has optional argument +headers+,
+# where the headers are expressed as a hash of field-name/value pairs:
+#
+# headers = {Accept: 'application/json', Connection: 'Keep-Alive'}
+# Net::HTTP.get(uri, headers)
+#
+# See lists of both standard request fields and common request fields at
+# {Request Fields}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields].
+# A host may also accept other custom fields.
+#
+# == \HTTP Sessions
+#
+# A _session_ is a connection between a server (host) and a client that:
+#
+# - Is begun by instance method Net::HTTP#start.
+# - May contain any number of requests.
+# - Is ended by instance method Net::HTTP#finish.
+#
+# See example sessions at {Strategies}[rdoc-ref:Net::HTTP@Strategies].
+#
+# === Session Using \Net::HTTP.start
+#
+# If you have many requests to make to a single host (and port),
+# consider using singleton method Net::HTTP.start with a block;
+# the method handles the session automatically by:
+#
+# - Calling #start before block execution.
+# - Executing the block.
+# - Calling #finish after block execution.
+#
+# In the block, you can use these instance methods,
+# each of which that sends a single request:
+#
+# - {HTTP methods}[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods]:
+#
+# - #get, #request_get: GET.
+# - #head, #request_head: HEAD.
+# - #post, #request_post: POST.
+# - #delete: DELETE.
+# - #options: OPTIONS.
+# - #trace: TRACE.
+# - #patch: PATCH.
+#
+# - {WebDAV methods}[https://en.wikipedia.org/wiki/WebDAV#Implementation]:
+#
+# - #copy: COPY.
+# - #lock: LOCK.
+# - #mkcol: MKCOL.
+# - #move: MOVE.
+# - #propfind: PROPFIND.
+# - #proppatch: PROPPATCH.
+# - #unlock: UNLOCK.
+#
+# === Session Using \Net::HTTP.start and \Net::HTTP.finish
+#
+# You can manage a session manually using methods #start and #finish:
+#
+# http = Net::HTTP.new(hostname)
+# http.start
+# http.get('/todos/1')
+# http.get('/todos/2')
+# http.delete('/posts/1')
+# http.finish # Needed to free resources.
+#
+# === Single-Request Session
+#
+# Certain convenience methods automatically handle a session by:
+#
+# - Creating an \HTTP object
+# - Starting a session.
+# - Sending a single request.
+# - Finishing the session.
+# - Destroying the object.
+#
+# Such methods that send GET requests:
+#
+# - ::get: Returns the string response body.
+# - ::get_print: Writes the string response body to $stdout.
+# - ::get_response: Returns a Net::HTTPResponse object.
+#
+# Such methods that send POST requests:
+#
+# - ::post: Posts data to the host.
+# - ::post_form: Posts form data to the host.
+#
+# == \HTTP Requests and Responses
+#
+# Many of the methods above are convenience methods,
+# each of which sends a request and returns a string
+# without directly using \Net::HTTPRequest and \Net::HTTPResponse objects.
+#
+# You can, however, directly create a request object, send the request,
+# and retrieve the response object; see:
+#
+# - Net::HTTPRequest.
+# - Net::HTTPResponse.
+#
+# == Following Redirection
+#
+# Each returned response is an instance of a subclass of Net::HTTPResponse.
+# See the {response class hierarchy}[rdoc-ref:Net::HTTPResponse@Response+Subclasses].
+#
+# In particular, class Net::HTTPRedirection is the parent
+# of all redirection classes.
+# This allows you to craft a case statement to handle redirections properly:
+#
+# def fetch(uri, limit = 10)
+# # You should choose a better exception.
+# raise ArgumentError, 'Too many HTTP redirects' if limit == 0
+#
+# res = Net::HTTP.get_response(URI(uri))
+# case res
+# when Net::HTTPSuccess # Any success class.
+# res
+# when Net::HTTPRedirection # Any redirection class.
+# location = res['Location']
+# warn "Redirected to #{location}"
+# fetch(location, limit - 1)
+# else # Any other class.
+# res.value
+# end
+# end
+#
+# fetch(uri)
+#
+# == Basic Authentication
+#
+# Basic authentication is performed according to
+# {RFC2617}[http://www.ietf.org/rfc/rfc2617.txt]:
+#
+# req = Net::HTTP::Get.new(uri)
+# req.basic_auth('user', 'pass')
+# res = Net::HTTP.start(hostname) do |http|
+# http.request(req)
+# end
+#
+# == Streaming Response Bodies
+#
+# By default \Net::HTTP reads an entire response into memory. If you are
+# handling large files or wish to implement a progress bar you can instead
+# stream the body directly to an IO.
+#
+# Net::HTTP.start(hostname) do |http|
+# req = Net::HTTP::Get.new(uri)
+# http.request(req) do |res|
+# open('t.tmp', 'w') do |f|
+# res.read_body do |chunk|
+# f.write chunk
+# end
+# end
+# end
+# end
+#
+# == HTTPS
+#
+# HTTPS is enabled for an \HTTP connection by Net::HTTP#use_ssl=:
+#
+# Net::HTTP.start(hostname, :use_ssl => true) do |http|
+# req = Net::HTTP::Get.new(uri)
+# res = http.request(req)
+# end
+#
+# Or if you simply want to make a GET request, you may pass in a URI
+# object that has an \HTTPS URL. \Net::HTTP automatically turns on TLS
+# verification if the URI object has a 'https' URI scheme:
+#
+# uri # => #
+# Net::HTTP.get(uri)
+#
+# == Proxy Server
+#
+# An \HTTP object can have
+# a {proxy server}[https://en.wikipedia.org/wiki/Proxy_server].
+#
+# You can create an \HTTP object with a proxy server
+# using method Net::HTTP.new or method Net::HTTP.start.
+#
+# The proxy may be defined either by argument +p_addr+
+# or by environment variable 'http_proxy' .
+#
+# === Proxy Using Argument +p_addr+ as a \String
+#
+# When argument +p_addr+ is a string hostname,
+# the returned +http+ has the given host as its proxy:
+#
+# http = Net::HTTP.new(hostname, nil, 'proxy.example')
+# http.proxy? # => true
+# http.proxy_from_env? # => false
+# http.proxy_address # => "proxy.example"
+# # These use default values.
+# http.proxy_port # => 80
+# http.proxy_user # => nil
+# http.proxy_pass # => nil
+#
+# The port, username, and password for the proxy may also be given:
+#
+# http = Net::HTTP.new(hostname, nil, 'proxy.example', 8000, 'pname', 'ppass')
+# # => #
+# http.proxy? # => true
+# http.proxy_from_env? # => false
+# http.proxy_address # => "proxy.example"
+# http.proxy_port # => 8000
+# http.proxy_user # => "pname"
+# http.proxy_pass # => "ppass"
+#
+# === Proxy Using 'ENV['http_proxy'] '
+#
+# When environment variable 'http_proxy'
+# is set to a \URI string,
+# the returned +http+ will have the server at that URI as its proxy;
+# note that the \URI string must have a protocol
+# such as 'http' or 'https' :
+#
+# ENV['http_proxy'] = 'http://example.com'
+# http = Net::HTTP.new(hostname)
+# http.proxy? # => true
+# http.proxy_from_env? # => true
+# http.proxy_address # => "example.com"
+# # These use default values.
+# http.proxy_port # => 80
+# http.proxy_user # => nil
+# http.proxy_pass # => nil
+#
+# The \URI string may include proxy username, password, and port number:
+#
+# ENV['http_proxy'] = 'http://pname:ppass@example.com:8000'
+# http = Net::HTTP.new(hostname)
+# http.proxy? # => true
+# http.proxy_from_env? # => true
+# http.proxy_address # => "example.com"
+# http.proxy_port # => 8000
+# http.proxy_user # => "pname"
+# http.proxy_pass # => "ppass"
+#
+# === Filtering Proxies
+#
+# With method Net::HTTP.new (but not Net::HTTP.start),
+# you can use argument +p_no_proxy+ to filter proxies:
+#
+# - Reject a certain address:
+#
+# http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'proxy.example')
+# http.proxy_address # => nil
+#
+# - Reject certain domains or subdomains:
+#
+# http = Net::HTTP.new('example.com', nil, 'my.proxy.example', 8000, 'pname', 'ppass', 'proxy.example')
+# http.proxy_address # => nil
+#
+# - Reject certain addresses and port combinations:
+#
+# http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'proxy.example:1234')
+# http.proxy_address # => "proxy.example"
+#
+# http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'proxy.example:8000')
+# http.proxy_address # => nil
+#
+# - Reject a list of the types above delimited using a comma:
+#
+# http = Net::HTTP.new('example.com', nil, 'proxy.example', 8000, 'pname', 'ppass', 'my.proxy,proxy.example:8000')
+# http.proxy_address # => nil
+#
+# http = Net::HTTP.new('example.com', nil, 'my.proxy', 8000, 'pname', 'ppass', 'my.proxy,proxy.example:8000')
+# http.proxy_address # => nil
+#
+# == Compression and Decompression
+#
+# \Net::HTTP does not compress the body of a request before sending.
+#
+# By default, \Net::HTTP adds header 'Accept-Encoding'
+# to a new {request object}[rdoc-ref:Net::HTTPRequest]:
+#
+# Net::HTTP::Get.new(uri)['Accept-Encoding']
+# # => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3"
+#
+# This requests the server to zip-encode the response body if there is one;
+# the server is not required to do so.
+#
+# \Net::HTTP does not automatically decompress a response body
+# if the response has header 'Content-Range' .
+#
+# Otherwise decompression (or not) depends on the value of header
+# {Content-Encoding}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-encoding-response-header]:
+#
+# - 'deflate' , 'gzip' , or 'x-gzip' :
+# decompresses the body and deletes the header.
+# - 'none' or 'identity' :
+# does not decompress the body, but deletes the header.
+# - Any other value:
+# leaves the body and header unchanged.
+#
+# == What's Here
+#
+# This is a categorized summary of methods and attributes.
+#
+# === \Net::HTTP Objects
+#
+# - {::new}[rdoc-ref:Net::HTTP.new]:
+# Creates a new instance.
+# - {#inspect}[rdoc-ref:Net::HTTP#inspect]:
+# Returns a string representation of +self+.
+#
+# === Sessions
+#
+# - {::start}[rdoc-ref:Net::HTTP.start]:
+# Begins a new session in a new \Net::HTTP object.
+# - {#started?}[rdoc-ref:Net::HTTP#started?]
+# (aliased as {#active?}[rdoc-ref:Net::HTTP#active?]):
+# Returns whether in a session.
+# - {#finish}[rdoc-ref:Net::HTTP#finish]:
+# Ends an active session.
+# - {#start}[rdoc-ref:Net::HTTP#start]:
+# Begins a new session in an existing \Net::HTTP object (+self+).
+#
+# === Connections
+#
+# - {:continue_timeout}[rdoc-ref:Net::HTTP#continue_timeout]:
+# Returns the continue timeout.
+# - {#continue_timeout=}[rdoc-ref:Net::HTTP#continue_timeout=]:
+# Sets the continue timeout seconds.
+# - {:keep_alive_timeout}[rdoc-ref:Net::HTTP#keep_alive_timeout]:
+# Returns the keep-alive timeout.
+# - {:keep_alive_timeout=}[rdoc-ref:Net::HTTP#keep_alive_timeout=]:
+# Sets the keep-alive timeout.
+# - {:max_retries}[rdoc-ref:Net::HTTP#max_retries]:
+# Returns the maximum retries.
+# - {#max_retries=}[rdoc-ref:Net::HTTP#max_retries=]:
+# Sets the maximum retries.
+# - {:open_timeout}[rdoc-ref:Net::HTTP#open_timeout]:
+# Returns the open timeout.
+# - {:open_timeout=}[rdoc-ref:Net::HTTP#open_timeout=]:
+# Sets the open timeout.
+# - {:read_timeout}[rdoc-ref:Net::HTTP#read_timeout]:
+# Returns the open timeout.
+# - {:read_timeout=}[rdoc-ref:Net::HTTP#read_timeout=]:
+# Sets the read timeout.
+# - {:ssl_timeout}[rdoc-ref:Net::HTTP#ssl_timeout]:
+# Returns the ssl timeout.
+# - {:ssl_timeout=}[rdoc-ref:Net::HTTP#ssl_timeout=]:
+# Sets the ssl timeout.
+# - {:write_timeout}[rdoc-ref:Net::HTTP#write_timeout]:
+# Returns the write timeout.
+# - {write_timeout=}[rdoc-ref:Net::HTTP#write_timeout=]:
+# Sets the write timeout.
+#
+# === Requests
+#
+# - {::get}[rdoc-ref:Net::HTTP.get]:
+# Sends a GET request and returns the string response body.
+# - {::get_print}[rdoc-ref:Net::HTTP.get_print]:
+# Sends a GET request and write the string response body to $stdout.
+# - {::get_response}[rdoc-ref:Net::HTTP.get_response]:
+# Sends a GET request and returns a response object.
+# - {::post_form}[rdoc-ref:Net::HTTP.post_form]:
+# Sends a POST request with form data and returns a response object.
+# - {::post}[rdoc-ref:Net::HTTP.post]:
+# Sends a POST request with data and returns a response object.
+# - {#copy}[rdoc-ref:Net::HTTP#copy]:
+# Sends a COPY request and returns a response object.
+# - {#delete}[rdoc-ref:Net::HTTP#delete]:
+# Sends a DELETE request and returns a response object.
+# - {#get}[rdoc-ref:Net::HTTP#get]:
+# Sends a GET request and returns a response object.
+# - {#head}[rdoc-ref:Net::HTTP#head]:
+# Sends a HEAD request and returns a response object.
+# - {#lock}[rdoc-ref:Net::HTTP#lock]:
+# Sends a LOCK request and returns a response object.
+# - {#mkcol}[rdoc-ref:Net::HTTP#mkcol]:
+# Sends a MKCOL request and returns a response object.
+# - {#move}[rdoc-ref:Net::HTTP#move]:
+# Sends a MOVE request and returns a response object.
+# - {#options}[rdoc-ref:Net::HTTP#options]:
+# Sends a OPTIONS request and returns a response object.
+# - {#patch}[rdoc-ref:Net::HTTP#patch]:
+# Sends a PATCH request and returns a response object.
+# - {#post}[rdoc-ref:Net::HTTP#post]:
+# Sends a POST request and returns a response object.
+# - {#propfind}[rdoc-ref:Net::HTTP#propfind]:
+# Sends a PROPFIND request and returns a response object.
+# - {#proppatch}[rdoc-ref:Net::HTTP#proppatch]:
+# Sends a PROPPATCH request and returns a response object.
+# - {#put}[rdoc-ref:Net::HTTP#put]:
+# Sends a PUT request and returns a response object.
+# - {#request}[rdoc-ref:Net::HTTP#request]:
+# Sends a request and returns a response object.
+# - {#request_get}[rdoc-ref:Net::HTTP#request_get]
+# (aliased as {#get2}[rdoc-ref:Net::HTTP#get2]):
+# Sends a GET request and forms a response object;
+# if a block given, calls the block with the object,
+# otherwise returns the object.
+# - {#request_head}[rdoc-ref:Net::HTTP#request_head]
+# (aliased as {#head2}[rdoc-ref:Net::HTTP#head2]):
+# Sends a HEAD request and forms a response object;
+# if a block given, calls the block with the object,
+# otherwise returns the object.
+# - {#request_post}[rdoc-ref:Net::HTTP#request_post]
+# (aliased as {#post2}[rdoc-ref:Net::HTTP#post2]):
+# Sends a POST request and forms a response object;
+# if a block given, calls the block with the object,
+# otherwise returns the object.
+# - {#send_request}[rdoc-ref:Net::HTTP#send_request]:
+# Sends a request and returns a response object.
+# - {#trace}[rdoc-ref:Net::HTTP#trace]:
+# Sends a TRACE request and returns a response object.
+# - {#unlock}[rdoc-ref:Net::HTTP#unlock]:
+# Sends an UNLOCK request and returns a response object.
+#
+# === Responses
+#
+# - {:close_on_empty_response}[rdoc-ref:Net::HTTP#close_on_empty_response]:
+# Returns whether to close connection on empty response.
+# - {:close_on_empty_response=}[rdoc-ref:Net::HTTP#close_on_empty_response=]:
+# Sets whether to close connection on empty response.
+# - {:ignore_eof}[rdoc-ref:Net::HTTP#ignore_eof]:
+# Returns whether to ignore end-of-file when reading a response body
+# with Content-Length headers.
+# - {:ignore_eof=}[rdoc-ref:Net::HTTP#ignore_eof=]:
+# Sets whether to ignore end-of-file when reading a response body
+# with Content-Length headers.
+# - {:response_body_encoding}[rdoc-ref:Net::HTTP#response_body_encoding]:
+# Returns the encoding to use for the response body.
+# - {#response_body_encoding=}[rdoc-ref:Net::HTTP#response_body_encoding=]:
+# Sets the response body encoding.
+#
+# === Proxies
+#
+# - {:proxy_address}[rdoc-ref:Net::HTTP#proxy_address]:
+# Returns the proxy address.
+# - {:proxy_address=}[rdoc-ref:Net::HTTP#proxy_address=]:
+# Sets the proxy address.
+# - {::proxy_class?}[rdoc-ref:Net::HTTP.proxy_class?]:
+# Returns whether +self+ is a proxy class.
+# - {#proxy?}[rdoc-ref:Net::HTTP#proxy?]:
+# Returns whether +self+ has a proxy.
+# - {#proxy_address}[rdoc-ref:Net::HTTP#proxy_address]
+# (aliased as {#proxyaddr}[rdoc-ref:Net::HTTP#proxyaddr]):
+# Returns the proxy address.
+# - {#proxy_from_env?}[rdoc-ref:Net::HTTP#proxy_from_env?]:
+# Returns whether the proxy is taken from an environment variable.
+# - {:proxy_from_env=}[rdoc-ref:Net::HTTP#proxy_from_env=]:
+# Sets whether the proxy is to be taken from an environment variable.
+# - {:proxy_pass}[rdoc-ref:Net::HTTP#proxy_pass]:
+# Returns the proxy password.
+# - {:proxy_pass=}[rdoc-ref:Net::HTTP#proxy_pass=]:
+# Sets the proxy password.
+# - {:proxy_port}[rdoc-ref:Net::HTTP#proxy_port]:
+# Returns the proxy port.
+# - {:proxy_port=}[rdoc-ref:Net::HTTP#proxy_port=]:
+# Sets the proxy port.
+# - {#proxy_user}[rdoc-ref:Net::HTTP#proxy_user]:
+# Returns the proxy user name.
+# - {:proxy_user=}[rdoc-ref:Net::HTTP#proxy_user=]:
+# Sets the proxy user.
+#
+# === Security
+#
+# - {:ca_file}[rdoc-ref:Net::HTTP#ca_file]:
+# Returns the path to a CA certification file.
+# - {:ca_file=}[rdoc-ref:Net::HTTP#ca_file=]:
+# Sets the path to a CA certification file.
+# - {:ca_path}[rdoc-ref:Net::HTTP#ca_path]:
+# Returns the path of to CA directory containing certification files.
+# - {:ca_path=}[rdoc-ref:Net::HTTP#ca_path=]:
+# Sets the path of to CA directory containing certification files.
+# - {:cert}[rdoc-ref:Net::HTTP#cert]:
+# Returns the OpenSSL::X509::Certificate object to be used for client certification.
+# - {:cert=}[rdoc-ref:Net::HTTP#cert=]:
+# Sets the OpenSSL::X509::Certificate object to be used for client certification.
+# - {:cert_store}[rdoc-ref:Net::HTTP#cert_store]:
+# Returns the X509::Store to be used for verifying peer certificate.
+# - {:cert_store=}[rdoc-ref:Net::HTTP#cert_store=]:
+# Sets the X509::Store to be used for verifying peer certificate.
+# - {:ciphers}[rdoc-ref:Net::HTTP#ciphers]:
+# Returns the available SSL ciphers.
+# - {:ciphers=}[rdoc-ref:Net::HTTP#ciphers=]:
+# Sets the available SSL ciphers.
+# - {:extra_chain_cert}[rdoc-ref:Net::HTTP#extra_chain_cert]:
+# Returns the extra X509 certificates to be added to the certificate chain.
+# - {:extra_chain_cert=}[rdoc-ref:Net::HTTP#extra_chain_cert=]:
+# Sets the extra X509 certificates to be added to the certificate chain.
+# - {:key}[rdoc-ref:Net::HTTP#key]:
+# Returns the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
+# - {:key=}[rdoc-ref:Net::HTTP#key=]:
+# Sets the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
+# - {:max_version}[rdoc-ref:Net::HTTP#max_version]:
+# Returns the maximum SSL version.
+# - {:max_version=}[rdoc-ref:Net::HTTP#max_version=]:
+# Sets the maximum SSL version.
+# - {:min_version}[rdoc-ref:Net::HTTP#min_version]:
+# Returns the minimum SSL version.
+# - {:min_version=}[rdoc-ref:Net::HTTP#min_version=]:
+# Sets the minimum SSL version.
+# - {#peer_cert}[rdoc-ref:Net::HTTP#peer_cert]:
+# Returns the X509 certificate chain for the session's socket peer.
+# - {:ssl_version}[rdoc-ref:Net::HTTP#ssl_version]:
+# Returns the SSL version.
+# - {:ssl_version=}[rdoc-ref:Net::HTTP#ssl_version=]:
+# Sets the SSL version.
+# - {#use_ssl=}[rdoc-ref:Net::HTTP#use_ssl=]:
+# Sets whether a new session is to use Transport Layer Security.
+# - {#use_ssl?}[rdoc-ref:Net::HTTP#use_ssl?]:
+# Returns whether +self+ uses SSL.
+# - {:verify_callback}[rdoc-ref:Net::HTTP#verify_callback]:
+# Returns the callback for the server certification verification.
+# - {:verify_callback=}[rdoc-ref:Net::HTTP#verify_callback=]:
+# Sets the callback for the server certification verification.
+# - {:verify_depth}[rdoc-ref:Net::HTTP#verify_depth]:
+# Returns the maximum depth for the certificate chain verification.
+# - {:verify_depth=}[rdoc-ref:Net::HTTP#verify_depth=]:
+# Sets the maximum depth for the certificate chain verification.
+# - {:verify_hostname}[rdoc-ref:Net::HTTP#verify_hostname]:
+# Returns the flags for server the certification verification at the beginning of the SSL/TLS session.
+# - {:verify_hostname=}[rdoc-ref:Net::HTTP#verify_hostname=]:
+# Sets he flags for server the certification verification at the beginning of the SSL/TLS session.
+# - {:verify_mode}[rdoc-ref:Net::HTTP#verify_mode]:
+# Returns the flags for server the certification verification at the beginning of the SSL/TLS session.
+# - {:verify_mode=}[rdoc-ref:Net::HTTP#verify_mode=]:
+# Sets the flags for server the certification verification at the beginning of the SSL/TLS session.
+#
+# === Addresses and Ports
+#
+# - {:address}[rdoc-ref:Net::HTTP#address]:
+# Returns the string host name or host IP.
+# - {::default_port}[rdoc-ref:Net::HTTP.default_port]:
+# Returns integer 80, the default port to use for HTTP requests.
+# - {::http_default_port}[rdoc-ref:Net::HTTP.http_default_port]:
+# Returns integer 80, the default port to use for HTTP requests.
+# - {::https_default_port}[rdoc-ref:Net::HTTP.https_default_port]:
+# Returns integer 443, the default port to use for HTTPS requests.
+# - {#ipaddr}[rdoc-ref:Net::HTTP#ipaddr]:
+# Returns the IP address for the connection.
+# - {#ipaddr=}[rdoc-ref:Net::HTTP#ipaddr=]:
+# Sets the IP address for the connection.
+# - {:local_host}[rdoc-ref:Net::HTTP#local_host]:
+# Returns the string local host used to establish the connection.
+# - {:local_host=}[rdoc-ref:Net::HTTP#local_host=]:
+# Sets the string local host used to establish the connection.
+# - {:local_port}[rdoc-ref:Net::HTTP#local_port]:
+# Returns the integer local port used to establish the connection.
+# - {:local_port=}[rdoc-ref:Net::HTTP#local_port=]:
+# Sets the integer local port used to establish the connection.
+# - {:port}[rdoc-ref:Net::HTTP#port]:
+# Returns the integer port number.
+#
+# === \HTTP Version
+#
+# - {::version_1_2?}[rdoc-ref:Net::HTTP.version_1_2?]
+# (aliased as {::is_version_1_2?}[rdoc-ref:Net::HTTP.is_version_1_2?]
+# and {::version_1_2}[rdoc-ref:Net::HTTP.version_1_2]):
+# Returns true; retained for compatibility.
+#
+# === Debugging
+#
+# - {#set_debug_output}[rdoc-ref:Net::HTTP#set_debug_output]:
+# Sets the output stream for debugging.
+#
+# source://net-http//lib/net/http.rb#722
+class Net::HTTP < ::Net::Protocol
+ # Creates a new \Net::HTTP object for the specified server address,
+ # without opening the TCP connection or initializing the \HTTP session.
+ # The +address+ should be a DNS hostname or IP address.
+ #
+ # @return [HTTP] a new instance of HTTP
+ #
+ # source://net-http//lib/net/http.rb#1093
+ def initialize(address, port = T.unsafe(nil)); end
+
+ # Returns +true+ if the \HTTP session has been started:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.started? # => false
+ # http.start
+ # http.started? # => true
+ # http.finish # => nil
+ # http.started? # => false
+ #
+ # Net::HTTP.start(hostname) do |http|
+ # http.started?
+ # end # => true
+ # http.started? # => false
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#1413
+ def active?; end
+
+ # Returns the string host name or host IP given as argument +address+ in ::new.
+ #
+ # source://net-http//lib/net/http.rb#1194
+ def address; end
+
+ # Sets or returns the path to a CA certification file in PEM format.
+ #
+ # source://net-http//lib/net/http.rb#1479
+ def ca_file; end
+
+ # Sets or returns the path to a CA certification file in PEM format.
+ #
+ # source://net-http//lib/net/http.rb#1479
+ def ca_file=(_arg0); end
+
+ # Sets or returns the path of to CA directory
+ # containing certification files in PEM format.
+ #
+ # source://net-http//lib/net/http.rb#1483
+ def ca_path; end
+
+ # Sets or returns the path of to CA directory
+ # containing certification files in PEM format.
+ #
+ # source://net-http//lib/net/http.rb#1483
+ def ca_path=(_arg0); end
+
+ # Sets or returns the OpenSSL::X509::Certificate object
+ # to be used for client certification.
+ #
+ # source://net-http//lib/net/http.rb#1487
+ def cert; end
+
+ # Sets or returns the OpenSSL::X509::Certificate object
+ # to be used for client certification.
+ #
+ # source://net-http//lib/net/http.rb#1487
+ def cert=(_arg0); end
+
+ # Sets or returns the X509::Store to be used for verifying peer certificate.
+ #
+ # source://net-http//lib/net/http.rb#1490
+ def cert_store; end
+
+ # Sets or returns the X509::Store to be used for verifying peer certificate.
+ #
+ # source://net-http//lib/net/http.rb#1490
+ def cert_store=(_arg0); end
+
+ # Sets or returns the available SSL ciphers.
+ # See {OpenSSL::SSL::SSLContext#ciphers=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ciphers-3D].
+ #
+ # source://net-http//lib/net/http.rb#1494
+ def ciphers; end
+
+ # Sets or returns the available SSL ciphers.
+ # See {OpenSSL::SSL::SSLContext#ciphers=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ciphers-3D].
+ #
+ # source://net-http//lib/net/http.rb#1494
+ def ciphers=(_arg0); end
+
+ # Sets or returns whether to close the connection when the response is empty;
+ # initially +false+.
+ #
+ # source://net-http//lib/net/http.rb#1421
+ def close_on_empty_response; end
+
+ # Sets or returns whether to close the connection when the response is empty;
+ # initially +false+.
+ #
+ # source://net-http//lib/net/http.rb#1421
+ def close_on_empty_response=(_arg0); end
+
+ # Returns the continue timeout value;
+ # see continue_timeout=.
+ #
+ # source://net-http//lib/net/http.rb#1374
+ def continue_timeout; end
+
+ # Sets the continue timeout value,
+ # which is the number of seconds to wait for an expected 100 Continue response.
+ # If the \HTTP object does not receive a response in this many seconds
+ # it sends the request body.
+ #
+ # source://net-http//lib/net/http.rb#1380
+ def continue_timeout=(sec); end
+
+ # Sends a COPY request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Copy object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.copy('/todos/1')
+ #
+ # source://net-http//lib/net/http.rb#2123
+ def copy(path, initheader = T.unsafe(nil)); end
+
+ # Sends a DELETE request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Delete object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.delete('/todos/1')
+ #
+ # source://net-http//lib/net/http.rb#2097
+ def delete(path, initheader = T.unsafe(nil)); end
+
+ # Sets or returns the extra X509 certificates to be added to the certificate chain.
+ # See {OpenSSL::SSL::SSLContext#add_certificate}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-add_certificate].
+ #
+ # source://net-http//lib/net/http.rb#1498
+ def extra_chain_cert; end
+
+ # Sets or returns the extra X509 certificates to be added to the certificate chain.
+ # See {OpenSSL::SSL::SSLContext#add_certificate}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-add_certificate].
+ #
+ # source://net-http//lib/net/http.rb#1498
+ def extra_chain_cert=(_arg0); end
+
+ # Finishes the \HTTP session:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.start
+ # http.started? # => true
+ # http.finish # => nil
+ # http.started? # => false
+ #
+ # Raises IOError if not in a session.
+ #
+ # @raise [IOError]
+ #
+ # source://net-http//lib/net/http.rb#1708
+ def finish; end
+
+ # :call-seq:
+ # get(path, initheader = nil) {|res| ... }
+ #
+ # Sends a GET request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Get object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # With a block given, calls the block with the response body:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.get('/todos/1') do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false\n}"
+ #
+ # With no block given, simply returns the response object:
+ #
+ # http.get('/') # => #
+ #
+ # Related:
+ #
+ # - Net::HTTP::Get: request class for \HTTP method GET.
+ # - Net::HTTP.get: sends GET request, returns response body.
+ #
+ # source://net-http//lib/net/http.rb#1914
+ def get(path, initheader = T.unsafe(nil), dest = T.unsafe(nil), &block); end
+
+ # Sends a GET request to the server;
+ # forms the response into a Net::HTTPResponse object.
+ #
+ # The request is based on the Net::HTTP::Get object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # With no block given, returns the response object:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.request_get('/todos') # => #
+ #
+ # With a block given, calls the block with the response object
+ # and returns the response object:
+ #
+ # http.request_get('/todos') do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # #
+ #
+ # source://net-http//lib/net/http.rb#2176
+ def get2(path, initheader = T.unsafe(nil), &block); end
+
+ # Sends a HEAD request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Head object
+ # created from string +path+ and initial headers hash +initheader+:
+ #
+ # res = http.head('/todos/1') # => #
+ # res.body # => nil
+ # res.to_hash.take(3)
+ # # =>
+ # [["date", ["Wed, 15 Feb 2023 15:25:42 GMT"]],
+ # ["content-type", ["application/json; charset=utf-8"]],
+ # ["connection", ["close"]]]
+ #
+ # source://net-http//lib/net/http.rb#1938
+ def head(path, initheader = T.unsafe(nil)); end
+
+ # Sends a HEAD request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Head object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.head('/todos/1') # => #
+ #
+ # source://net-http//lib/net/http.rb#2189
+ def head2(path, initheader = T.unsafe(nil), &block); end
+
+ # Sets or returns whether to ignore end-of-file when reading a response body
+ # with Content-Length headers;
+ # initially +true+.
+ #
+ # source://net-http//lib/net/http.rb#1397
+ def ignore_eof; end
+
+ # Sets or returns whether to ignore end-of-file when reading a response body
+ # with Content-Length headers;
+ # initially +true+.
+ #
+ # source://net-http//lib/net/http.rb#1397
+ def ignore_eof=(_arg0); end
+
+ # Returns a string representation of +self+:
+ #
+ # Net::HTTP.new(hostname).inspect
+ # # => "#"
+ #
+ # source://net-http//lib/net/http.rb#1135
+ def inspect; end
+
+ # Returns the IP address for the connection.
+ #
+ # If the session has not been started,
+ # returns the value set by #ipaddr=,
+ # or +nil+ if it has not been set:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.ipaddr # => nil
+ # http.ipaddr = '172.67.155.76'
+ # http.ipaddr # => "172.67.155.76"
+ #
+ # If the session has been started,
+ # returns the IP address from the socket:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.start
+ # http.ipaddr # => "172.67.155.76"
+ # http.finish
+ #
+ # source://net-http//lib/net/http.rb#1274
+ def ipaddr; end
+
+ # Sets the IP address for the connection:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.ipaddr # => nil
+ # http.ipaddr = '172.67.155.76'
+ # http.ipaddr # => "172.67.155.76"
+ #
+ # The IP address may not be set if the session has been started.
+ #
+ # @raise [IOError]
+ #
+ # source://net-http//lib/net/http.rb#1286
+ def ipaddr=(addr); end
+
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
+ # to keep the connection open after a request is sent;
+ # initially 2.
+ # If a new request is made during the given interval,
+ # the still-open connection is used;
+ # otherwise the connection will have been closed
+ # and a new connection is opened.
+ #
+ # source://net-http//lib/net/http.rb#1392
+ def keep_alive_timeout; end
+
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
+ # to keep the connection open after a request is sent;
+ # initially 2.
+ # If a new request is made during the given interval,
+ # the still-open connection is used;
+ # otherwise the connection will have been closed
+ # and a new connection is opened.
+ #
+ # source://net-http//lib/net/http.rb#1392
+ def keep_alive_timeout=(_arg0); end
+
+ # Sets or returns the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
+ #
+ # source://net-http//lib/net/http.rb#1501
+ def key; end
+
+ # Sets or returns the OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object.
+ #
+ # source://net-http//lib/net/http.rb#1501
+ def key=(_arg0); end
+
+ # Sets or returns the string local host used to establish the connection;
+ # initially +nil+.
+ #
+ # source://net-http//lib/net/http.rb#1201
+ def local_host; end
+
+ # Sets or returns the string local host used to establish the connection;
+ # initially +nil+.
+ #
+ # source://net-http//lib/net/http.rb#1201
+ def local_host=(_arg0); end
+
+ # Sets or returns the integer local port used to establish the connection;
+ # initially +nil+.
+ #
+ # source://net-http//lib/net/http.rb#1205
+ def local_port; end
+
+ # Sets or returns the integer local port used to establish the connection;
+ # initially +nil+.
+ #
+ # source://net-http//lib/net/http.rb#1205
+ def local_port=(_arg0); end
+
+ # Sends a LOCK request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Lock object
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http = Net::HTTP.new(hostname)
+ # http.lock('/todos/1', data)
+ #
+ # source://net-http//lib/net/http.rb#2043
+ def lock(path, body, initheader = T.unsafe(nil)); end
+
+ # Returns the maximum number of times to retry an idempotent request;
+ # see #max_retries=.
+ #
+ # source://net-http//lib/net/http.rb#1330
+ def max_retries; end
+
+ # Sets the maximum number of times to retry an idempotent request in case of
+ # \Net::ReadTimeout, IOError, EOFError, Errno::ECONNRESET,
+ # Errno::ECONNABORTED, Errno::EPIPE, OpenSSL::SSL::SSLError,
+ # Timeout::Error.
+ # The initial value is 1.
+ #
+ # Argument +retries+ must be a non-negative numeric value:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.max_retries = 2 # => 2
+ # http.max_retries # => 2
+ #
+ # source://net-http//lib/net/http.rb#1320
+ def max_retries=(retries); end
+
+ # Sets or returns the maximum SSL version.
+ # See {OpenSSL::SSL::SSLContext#max_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-max_version-3D].
+ #
+ # source://net-http//lib/net/http.rb#1516
+ def max_version; end
+
+ # Sets or returns the maximum SSL version.
+ # See {OpenSSL::SSL::SSLContext#max_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-max_version-3D].
+ #
+ # source://net-http//lib/net/http.rb#1516
+ def max_version=(_arg0); end
+
+ # Sets or returns the minimum SSL version.
+ # See {OpenSSL::SSL::SSLContext#min_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-min_version-3D].
+ #
+ # source://net-http//lib/net/http.rb#1512
+ def min_version; end
+
+ # Sets or returns the minimum SSL version.
+ # See {OpenSSL::SSL::SSLContext#min_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-min_version-3D].
+ #
+ # source://net-http//lib/net/http.rb#1512
+ def min_version=(_arg0); end
+
+ # Sends a MKCOL request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Mkcol object
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http.mkcol('/todos/1', data)
+ # http = Net::HTTP.new(hostname)
+ #
+ # source://net-http//lib/net/http.rb#2137
+ def mkcol(path, body = T.unsafe(nil), initheader = T.unsafe(nil)); end
+
+ # Sends a MOVE request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Move object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.move('/todos/1')
+ #
+ # source://net-http//lib/net/http.rb#2110
+ def move(path, initheader = T.unsafe(nil)); end
+
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
+ # to wait for a connection to open;
+ # initially 60.
+ # If the connection is not made in the given interval,
+ # an exception is raised.
+ #
+ # source://net-http//lib/net/http.rb#1296
+ def open_timeout; end
+
+ # Sets or returns the numeric (\Integer or \Float) number of seconds
+ # to wait for a connection to open;
+ # initially 60.
+ # If the connection is not made in the given interval,
+ # an exception is raised.
+ #
+ # source://net-http//lib/net/http.rb#1296
+ def open_timeout=(_arg0); end
+
+ # Sends an Options request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Options object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.options('/')
+ #
+ # source://net-http//lib/net/http.rb#2070
+ def options(path, initheader = T.unsafe(nil)); end
+
+ # :call-seq:
+ # patch(path, data, initheader = nil) {|res| ... }
+ #
+ # Sends a PATCH request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Patch object
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
+ #
+ # With a block given, calls the block with the response body:
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http = Net::HTTP.new(hostname)
+ # http.patch('/todos/1', data) do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false,\n \"{\\\"userId\\\": 1, \\\"id\\\": 1, \\\"title\\\": \\\"delectus aut autem\\\", \\\"completed\\\": false}\": \"\"\n}"
+ #
+ # With no block given, simply returns the response object:
+ #
+ # http.patch('/todos/1', data) # => #
+ #
+ # source://net-http//lib/net/http.rb#2001
+ def patch(path, data, initheader = T.unsafe(nil), dest = T.unsafe(nil), &block); end
+
+ # Returns the X509 certificate chain (an array of strings)
+ # for the session's socket peer,
+ # or +nil+ if none.
+ #
+ # source://net-http//lib/net/http.rb#1537
+ def peer_cert; end
+
+ # Returns the integer port number given as argument +port+ in ::new.
+ #
+ # source://net-http//lib/net/http.rb#1197
+ def port; end
+
+ # :call-seq:
+ # post(path, data, initheader = nil) {|res| ... }
+ #
+ # Sends a POST request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Post object
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
+ #
+ # With a block given, calls the block with the response body:
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http = Net::HTTP.new(hostname)
+ # http.post('/todos', data) do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # "{\n \"{\\\"userId\\\": 1, \\\"id\\\": 1, \\\"title\\\": \\\"delectus aut autem\\\", \\\"completed\\\": false}\": \"\",\n \"id\": 201\n}"
+ #
+ # With no block given, simply returns the response object:
+ #
+ # http.post('/todos', data) # => #
+ #
+ # Related:
+ #
+ # - Net::HTTP::Post: request class for \HTTP method POST.
+ # - Net::HTTP.post: sends POST request, returns response body.
+ #
+ # source://net-http//lib/net/http.rb#1972
+ def post(path, data, initheader = T.unsafe(nil), dest = T.unsafe(nil), &block); end
+
+ # Sends a POST request to the server;
+ # forms the response into a Net::HTTPResponse object.
+ #
+ # The request is based on the Net::HTTP::Post object
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
+ #
+ # With no block given, returns the response object:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.post('/todos', 'xyzzy')
+ # # => #
+ #
+ # With a block given, calls the block with the response body
+ # and returns the response object:
+ #
+ # http.post('/todos', 'xyzzy') do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # "{\n \"xyzzy\": \"\",\n \"id\": 201\n}"
+ #
+ # source://net-http//lib/net/http.rb#2216
+ def post2(path, data, initheader = T.unsafe(nil), &block); end
+
+ # Sends a PROPFIND request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Propfind object
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http = Net::HTTP.new(hostname)
+ # http.propfind('/todos/1', data)
+ #
+ # source://net-http//lib/net/http.rb#2084
+ def propfind(path, body = T.unsafe(nil), initheader = T.unsafe(nil)); end
+
+ # Sends a PROPPATCH request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Proppatch object
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http = Net::HTTP.new(hostname)
+ # http.proppatch('/todos/1', data)
+ #
+ # source://net-http//lib/net/http.rb#2029
+ def proppatch(path, body, initheader = T.unsafe(nil)); end
+
+ # Returns +true+ if a proxy server is defined, +false+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#1785
+ def proxy?; end
+
+ # Returns the address of the proxy server, if defined, +nil+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1807
+ def proxy_address; end
+
+ # Sets the proxy address;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1241
+ def proxy_address=(_arg0); end
+
+ # Sets whether to determine the proxy from environment variable
+ # 'ENV['http_proxy'] ';
+ # see {Proxy Using ENV['http_proxy']}[rdoc-ref:Net::HTTP@Proxy+Using+-27ENV-5B-27http_proxy-27-5D-27].
+ #
+ # source://net-http//lib/net/http.rb#1237
+ def proxy_from_env=(_arg0); end
+
+ # Returns +true+ if the proxy server is defined in the environment,
+ # +false+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#1792
+ def proxy_from_env?; end
+
+ # Returns the password of the proxy server, if defined, +nil+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1838
+ def proxy_pass; end
+
+ # Sets the proxy password;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1253
+ def proxy_pass=(_arg0); end
+
+ # Returns the port number of the proxy server, if defined, +nil+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1817
+ def proxy_port; end
+
+ # Sets the proxy port;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1245
+ def proxy_port=(_arg0); end
+
+ # The proxy URI determined from the environment for this connection.
+ #
+ # source://net-http//lib/net/http.rb#1797
+ def proxy_uri; end
+
+ # Returns the user name of the proxy server, if defined, +nil+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1827
+ def proxy_user; end
+
+ # Sets the proxy user;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1249
+ def proxy_user=(_arg0); end
+
+ # Returns the address of the proxy server, if defined, +nil+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1807
+ def proxyaddr; end
+
+ # Returns the port number of the proxy server, if defined, +nil+ otherwise;
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1817
+ def proxyport; end
+
+ # Sends a PUT request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Put object
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http = Net::HTTP.new(hostname)
+ # http.put('/todos/1', data) # => #
+ #
+ # source://net-http//lib/net/http.rb#2015
+ def put(path, data, initheader = T.unsafe(nil)); end
+
+ # Sends a PUT request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Put object
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.put('/todos/1', 'xyzzy')
+ # # => #
+ #
+ # source://net-http//lib/net/http.rb#2230
+ def put2(path, data, initheader = T.unsafe(nil), &block); end
+
+ # Returns the numeric (\Integer or \Float) number of seconds
+ # to wait for one block to be read (via one read(2) call);
+ # see #read_timeout=.
+ #
+ # source://net-http//lib/net/http.rb#1301
+ def read_timeout; end
+
+ # Sets the read timeout, in seconds, for +self+ to integer +sec+;
+ # the initial value is 60.
+ #
+ # Argument +sec+ must be a non-negative numeric value:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.read_timeout # => 60
+ # http.get('/todos/1') # => #
+ # http.read_timeout = 0
+ # http.get('/todos/1') # Raises Net::ReadTimeout.
+ #
+ # source://net-http//lib/net/http.rb#1343
+ def read_timeout=(sec); end
+
+ # Sends the given request +req+ to the server;
+ # forms the response into a Net::HTTPResponse object.
+ #
+ # The given +req+ must be an instance of a
+ # {subclass of Net::HTTPRequest}[rdoc-ref:Net::HTTPRequest@Request+Subclasses].
+ # Argument +body+ should be given only if needed for the request.
+ #
+ # With no block given, returns the response object:
+ #
+ # http = Net::HTTP.new(hostname)
+ #
+ # req = Net::HTTP::Get.new('/todos/1')
+ # http.request(req)
+ # # => #
+ #
+ # req = Net::HTTP::Post.new('/todos')
+ # http.request(req, 'xyzzy')
+ # # => #
+ #
+ # With a block given, calls the block with the response and returns the response:
+ #
+ # req = Net::HTTP::Get.new('/todos/1')
+ # http.request(req) do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # #
+ #
+ # source://net-http//lib/net/http.rb#2295
+ def request(req, body = T.unsafe(nil), &block); end
+
+ # Sends a GET request to the server;
+ # forms the response into a Net::HTTPResponse object.
+ #
+ # The request is based on the Net::HTTP::Get object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # With no block given, returns the response object:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.request_get('/todos') # => #
+ #
+ # With a block given, calls the block with the response object
+ # and returns the response object:
+ #
+ # http.request_get('/todos') do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # #
+ #
+ # source://net-http//lib/net/http.rb#2176
+ def request_get(path, initheader = T.unsafe(nil), &block); end
+
+ # Sends a HEAD request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Head object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.head('/todos/1') # => #
+ #
+ # source://net-http//lib/net/http.rb#2189
+ def request_head(path, initheader = T.unsafe(nil), &block); end
+
+ # Sends a POST request to the server;
+ # forms the response into a Net::HTTPResponse object.
+ #
+ # The request is based on the Net::HTTP::Post object
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
+ #
+ # With no block given, returns the response object:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.post('/todos', 'xyzzy')
+ # # => #
+ #
+ # With a block given, calls the block with the response body
+ # and returns the response object:
+ #
+ # http.post('/todos', 'xyzzy') do |res|
+ # p res
+ # end # => #
+ #
+ # Output:
+ #
+ # "{\n \"xyzzy\": \"\",\n \"id\": 201\n}"
+ #
+ # source://net-http//lib/net/http.rb#2216
+ def request_post(path, data, initheader = T.unsafe(nil), &block); end
+
+ # Sends a PUT request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Put object
+ # created from string +path+, string +data+, and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.put('/todos/1', 'xyzzy')
+ # # => #
+ #
+ # source://net-http//lib/net/http.rb#2230
+ def request_put(path, data, initheader = T.unsafe(nil), &block); end
+
+ # Returns the encoding to use for the response body;
+ # see #response_body_encoding=.
+ #
+ # source://net-http//lib/net/http.rb#1209
+ def response_body_encoding; end
+
+ # Sets the encoding to be used for the response body;
+ # returns the encoding.
+ #
+ # The given +value+ may be:
+ #
+ # - An Encoding object.
+ # - The name of an encoding.
+ # - An alias for an encoding name.
+ #
+ # See {Encoding}[https://docs.ruby-lang.org/en/master/Encoding.html].
+ #
+ # Examples:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.response_body_encoding = Encoding::US_ASCII # => #
+ # http.response_body_encoding = 'US-ASCII' # => "US-ASCII"
+ # http.response_body_encoding = 'ASCII' # => "ASCII"
+ #
+ # source://net-http//lib/net/http.rb#1229
+ def response_body_encoding=(value); end
+
+ # Sends an \HTTP request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTPRequest object
+ # created from string +path+, string +data+, and initial headers hash +header+.
+ # That object is an instance of the
+ # {subclass of Net::HTTPRequest}[rdoc-ref:Net::HTTPRequest@Request+Subclasses],
+ # that corresponds to the given uppercase string +name+,
+ # which must be
+ # an {HTTP request method}[https://en.wikipedia.org/wiki/HTTP#Request_methods]
+ # or a {WebDAV request method}[https://en.wikipedia.org/wiki/WebDAV#Implementation].
+ #
+ # Examples:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.send_request('GET', '/todos/1')
+ # # => #
+ # http.send_request('POST', '/todos', 'xyzzy')
+ # # => #
+ #
+ # source://net-http//lib/net/http.rb#2259
+ def send_request(name, path, data = T.unsafe(nil), header = T.unsafe(nil)); end
+
+ # *WARNING* This method opens a serious security hole.
+ # Never use this method in production code.
+ #
+ # Sets the output stream for debugging:
+ #
+ # http = Net::HTTP.new(hostname)
+ # File.open('t.tmp', 'w') do |file|
+ # http.set_debug_output(file)
+ # http.start
+ # http.get('/nosuch/1')
+ # http.finish
+ # end
+ # puts File.read('t.tmp')
+ #
+ # Output:
+ #
+ # opening connection to jsonplaceholder.typicode.com:80...
+ # opened
+ # <- "GET /nosuch/1 HTTP/1.1\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nUser-Agent: Ruby\r\nHost: jsonplaceholder.typicode.com\r\n\r\n"
+ # -> "HTTP/1.1 404 Not Found\r\n"
+ # -> "Date: Mon, 12 Dec 2022 21:14:11 GMT\r\n"
+ # -> "Content-Type: application/json; charset=utf-8\r\n"
+ # -> "Content-Length: 2\r\n"
+ # -> "Connection: keep-alive\r\n"
+ # -> "X-Powered-By: Express\r\n"
+ # -> "X-Ratelimit-Limit: 1000\r\n"
+ # -> "X-Ratelimit-Remaining: 999\r\n"
+ # -> "X-Ratelimit-Reset: 1670879660\r\n"
+ # -> "Vary: Origin, Accept-Encoding\r\n"
+ # -> "Access-Control-Allow-Credentials: true\r\n"
+ # -> "Cache-Control: max-age=43200\r\n"
+ # -> "Pragma: no-cache\r\n"
+ # -> "Expires: -1\r\n"
+ # -> "X-Content-Type-Options: nosniff\r\n"
+ # -> "Etag: W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"\r\n"
+ # -> "Via: 1.1 vegur\r\n"
+ # -> "CF-Cache-Status: MISS\r\n"
+ # -> "Server-Timing: cf-q-config;dur=1.3000000762986e-05\r\n"
+ # -> "Report-To: {\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=yOr40jo%2BwS1KHzhTlVpl54beJ5Wx2FcG4gGV0XVrh3X9OlR5q4drUn2dkt5DGO4GDcE%2BVXT7CNgJvGs%2BZleIyMu8CLieFiDIvOviOY3EhHg94m0ZNZgrEdpKD0S85S507l1vsEwEHkoTm%2Ff19SiO\"}],\"group\":\"cf-nel\",\"max_age\":604800}\r\n"
+ # -> "NEL: {\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}\r\n"
+ # -> "Server: cloudflare\r\n"
+ # -> "CF-RAY: 778977dc484ce591-DFW\r\n"
+ # -> "alt-svc: h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400\r\n"
+ # -> "\r\n"
+ # reading 2 bytes...
+ # -> "{}"
+ # read 2 bytes
+ # Conn keep-alive
+ #
+ # source://net-http//lib/net/http.rb#1188
+ def set_debug_output(output); end
+
+ # Sets or returns the SSL timeout seconds.
+ #
+ # source://net-http//lib/net/http.rb#1504
+ def ssl_timeout; end
+
+ # Sets or returns the SSL timeout seconds.
+ #
+ # source://net-http//lib/net/http.rb#1504
+ def ssl_timeout=(_arg0); end
+
+ # Sets or returns the SSL version.
+ # See {OpenSSL::SSL::SSLContext#ssl_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ssl_version-3D].
+ #
+ # source://net-http//lib/net/http.rb#1508
+ def ssl_version; end
+
+ # Sets or returns the SSL version.
+ # See {OpenSSL::SSL::SSLContext#ssl_version=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-ssl_version-3D].
+ #
+ # source://net-http//lib/net/http.rb#1508
+ def ssl_version=(_arg0); end
+
+ # Starts an \HTTP session.
+ #
+ # Without a block, returns +self+:
+ #
+ # http = Net::HTTP.new(hostname)
+ # # => #
+ # http.start
+ # # => #
+ # http.started? # => true
+ # http.finish
+ #
+ # With a block, calls the block with +self+,
+ # finishes the session when the block exits,
+ # and returns the block's value:
+ #
+ # http.start do |http|
+ # http
+ # end
+ # # => #
+ # http.started? # => false
+ #
+ # @raise [IOError]
+ #
+ # source://net-http//lib/net/http.rb#1565
+ def start; end
+
+ # Returns +true+ if the \HTTP session has been started:
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.started? # => false
+ # http.start
+ # http.started? # => true
+ # http.finish # => nil
+ # http.started? # => false
+ #
+ # Net::HTTP.start(hostname) do |http|
+ # http.started?
+ # end # => true
+ # http.started? # => false
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#1413
+ def started?; end
+
+ # Sends a TRACE request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Trace object
+ # created from string +path+ and initial headers hash +initheader+.
+ #
+ # http = Net::HTTP.new(hostname)
+ # http.trace('/todos/1')
+ #
+ # source://net-http//lib/net/http.rb#2150
+ def trace(path, initheader = T.unsafe(nil)); end
+
+ # Sends an UNLOCK request to the server;
+ # returns an instance of a subclass of Net::HTTPResponse.
+ #
+ # The request is based on the Net::HTTP::Unlock object
+ # created from string +path+, string +body+, and initial headers hash +initheader+.
+ #
+ # data = '{"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}'
+ # http = Net::HTTP.new(hostname)
+ # http.unlock('/todos/1', data)
+ #
+ # source://net-http//lib/net/http.rb#2057
+ def unlock(path, body, initheader = T.unsafe(nil)); end
+
+ # Sets whether a new session is to use
+ # {Transport Layer Security}[https://en.wikipedia.org/wiki/Transport_Layer_Security]:
+ #
+ # Raises IOError if attempting to change during a session.
+ #
+ # Raises OpenSSL::SSL::SSLError if the port is not an HTTPS port.
+ #
+ # source://net-http//lib/net/http.rb#1435
+ def use_ssl=(flag); end
+
+ # Returns +true+ if +self+ uses SSL, +false+ otherwise.
+ # See Net::HTTP#use_ssl=.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#1425
+ def use_ssl?; end
+
+ # Sets or returns the callback for the server certification verification.
+ #
+ # source://net-http//lib/net/http.rb#1519
+ def verify_callback; end
+
+ # Sets or returns the callback for the server certification verification.
+ #
+ # source://net-http//lib/net/http.rb#1519
+ def verify_callback=(_arg0); end
+
+ # Sets or returns the maximum depth for the certificate chain verification.
+ #
+ # source://net-http//lib/net/http.rb#1522
+ def verify_depth; end
+
+ # Sets or returns the maximum depth for the certificate chain verification.
+ #
+ # source://net-http//lib/net/http.rb#1522
+ def verify_depth=(_arg0); end
+
+ # Sets or returns whether to verify that the server certificate is valid
+ # for the hostname.
+ # See {OpenSSL::SSL::SSLContext#verify_hostname=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#attribute-i-verify_mode].
+ #
+ # source://net-http//lib/net/http.rb#1532
+ def verify_hostname; end
+
+ # Sets or returns whether to verify that the server certificate is valid
+ # for the hostname.
+ # See {OpenSSL::SSL::SSLContext#verify_hostname=}[https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#attribute-i-verify_mode].
+ #
+ # source://net-http//lib/net/http.rb#1532
+ def verify_hostname=(_arg0); end
+
+ # Sets or returns the flags for server the certification verification
+ # at the beginning of the SSL/TLS session.
+ # OpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER are acceptable.
+ #
+ # source://net-http//lib/net/http.rb#1527
+ def verify_mode; end
+
+ # Sets or returns the flags for server the certification verification
+ # at the beginning of the SSL/TLS session.
+ # OpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER are acceptable.
+ #
+ # source://net-http//lib/net/http.rb#1527
+ def verify_mode=(_arg0); end
+
+ # Returns the numeric (\Integer or \Float) number of seconds
+ # to wait for one block to be written (via one write(2) call);
+ # see #write_timeout=.
+ #
+ # source://net-http//lib/net/http.rb#1306
+ def write_timeout; end
+
+ # Sets the write timeout, in seconds, for +self+ to integer +sec+;
+ # the initial value is 60.
+ #
+ # Argument +sec+ must be a non-negative numeric value:
+ #
+ # _uri = uri.dup
+ # _uri.path = '/posts'
+ # body = 'bar' * 200000
+ # data = < 60
+ # http.post(_uri.path, data, headers)
+ # # => #
+ # http.write_timeout = 0
+ # http.post(_uri.path, data, headers) # Raises Net::WriteTimeout.
+ #
+ # source://net-http//lib/net/http.rb#1367
+ def write_timeout=(sec); end
+
+ private
+
+ # Adds a message to debugging output
+ #
+ # source://net-http//lib/net/http.rb#2472
+ def D(msg); end
+
+ # source://net-http//lib/net/http.rb#2464
+ def addr_port; end
+
+ # source://net-http//lib/net/http.rb#2381
+ def begin_transport(req); end
+
+ # without proxy, obsolete
+ #
+ # source://net-http//lib/net/http.rb#1859
+ def conn_address; end
+
+ # source://net-http//lib/net/http.rb#1863
+ def conn_port; end
+
+ # source://net-http//lib/net/http.rb#1585
+ def connect; end
+
+ # Adds a message to debugging output
+ #
+ # source://net-http//lib/net/http.rb#2472
+ def debug(msg); end
+
+ # source://net-http//lib/net/http.rb#1713
+ def do_finish; end
+
+ # source://net-http//lib/net/http.rb#1579
+ def do_start; end
+
+ # source://net-http//lib/net/http.rb#1867
+ def edit_path(path); end
+
+ # source://net-http//lib/net/http.rb#2404
+ def end_transport(req, res); end
+
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#2421
+ def keep_alive?(req, res); end
+
+ # source://net-http//lib/net/http.rb#1695
+ def on_connect; end
+
+ # Executes a request which uses a representation
+ # and returns its body.
+ #
+ # source://net-http//lib/net/http.rb#2318
+ def send_entity(path, data, initheader, dest, type, &block); end
+
+ # source://net-http//lib/net/http.rb#2445
+ def sspi_auth(req); end
+
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#2430
+ def sspi_auth?(res); end
+
+ # source://net-http//lib/net/http.rb#2329
+ def transport_request(req); end
+
+ # source://net-http//lib/net/http.rb#1852
+ def unescape(value); end
+
+ class << self
+ # Creates an \HTTP proxy class which behaves like \Net::HTTP, but
+ # performs all access via the specified proxy.
+ #
+ # This class is obsolete. You may pass these same parameters directly to
+ # \Net::HTTP.new. See Net::HTTP.new for details of the arguments.
+ #
+ # source://net-http//lib/net/http.rb#1739
+ def Proxy(p_addr = T.unsafe(nil), p_port = T.unsafe(nil), p_user = T.unsafe(nil), p_pass = T.unsafe(nil)); end
+
+ # Returns integer +80+, the default port to use for \HTTP requests:
+ #
+ # Net::HTTP.default_port # => 80
+ #
+ # source://net-http//lib/net/http.rb#900
+ def default_port; end
+
+ # :call-seq:
+ # Net::HTTP.get(hostname, path, port = 80) -> body
+ # Net::HTTP:get(uri, headers = {}, port = uri.port) -> body
+ #
+ # Sends a GET request and returns the \HTTP response body as a string.
+ #
+ # With string arguments +hostname+ and +path+:
+ #
+ # hostname = 'jsonplaceholder.typicode.com'
+ # path = '/todos/1'
+ # puts Net::HTTP.get(hostname, path)
+ #
+ # Output:
+ #
+ # {
+ # "userId": 1,
+ # "id": 1,
+ # "title": "delectus aut autem",
+ # "completed": false
+ # }
+ #
+ # With URI object +uri+ and optional hash argument +headers+:
+ #
+ # uri = URI('https://jsonplaceholder.typicode.com/todos/1')
+ # headers = {'Content-type' => 'application/json; charset=UTF-8'}
+ # Net::HTTP.get(uri, headers)
+ #
+ # Related:
+ #
+ # - Net::HTTP::Get: request class for \HTTP method +GET+.
+ # - Net::HTTP#get: convenience method for \HTTP method +GET+.
+ #
+ # source://net-http//lib/net/http.rb#802
+ def get(uri_or_host, path_or_headers = T.unsafe(nil), port = T.unsafe(nil)); end
+
+ # :call-seq:
+ # Net::HTTP.get_print(hostname, path, port = 80) -> nil
+ # Net::HTTP:get_print(uri, headers = {}, port = uri.port) -> nil
+ #
+ # Like Net::HTTP.get, but writes the returned body to $stdout;
+ # returns +nil+.
+ #
+ # source://net-http//lib/net/http.rb#761
+ def get_print(uri_or_host, path_or_headers = T.unsafe(nil), port = T.unsafe(nil)); end
+
+ # :call-seq:
+ # Net::HTTP.get_response(hostname, path, port = 80) -> http_response
+ # Net::HTTP:get_response(uri, headers = {}, port = uri.port) -> http_response
+ #
+ # Like Net::HTTP.get, but returns a Net::HTTPResponse object
+ # instead of the body string.
+ #
+ # source://net-http//lib/net/http.rb#812
+ def get_response(uri_or_host, path_or_headers = T.unsafe(nil), port = T.unsafe(nil), &block); end
+
+ # Returns integer +80+, the default port to use for \HTTP requests:
+ #
+ # Net::HTTP.http_default_port # => 80
+ #
+ # source://net-http//lib/net/http.rb#908
+ def http_default_port; end
+
+ # Returns integer +443+, the default port to use for HTTPS requests:
+ #
+ # Net::HTTP.https_default_port # => 443
+ #
+ # source://net-http//lib/net/http.rb#916
+ def https_default_port; end
+
+ # Returns +false+; retained for compatibility.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#746
+ def is_version_1_1?; end
+
+ # Returns +true+; retained for compatibility.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#741
+ def is_version_1_2?; end
+
+ # Returns a new \Net::HTTP object +http+
+ # (but does not open a TCP connection or \HTTP session).
+ #
+ # With only string argument +address+ given
+ # (and ENV['http_proxy'] undefined or +nil+),
+ # the returned +http+:
+ #
+ # - Has the given address.
+ # - Has the default port number, Net::HTTP.default_port (80).
+ # - Has no proxy.
+ #
+ # Example:
+ #
+ # http = Net::HTTP.new(hostname)
+ # # => #
+ # http.address # => "jsonplaceholder.typicode.com"
+ # http.port # => 80
+ # http.proxy? # => false
+ #
+ # With integer argument +port+ also given,
+ # the returned +http+ has the given port:
+ #
+ # http = Net::HTTP.new(hostname, 8000)
+ # # => #
+ # http.port # => 8000
+ #
+ # For proxy-defining arguments +p_addr+ through +p_no_proxy+,
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ #
+ # source://net-http//lib/net/http.rb#1065
+ def new(address, port = T.unsafe(nil), p_addr = T.unsafe(nil), p_port = T.unsafe(nil), p_user = T.unsafe(nil), p_pass = T.unsafe(nil), p_no_proxy = T.unsafe(nil)); end
+
+ # Posts data to a host; returns a Net::HTTPResponse object.
+ #
+ # Argument +url+ must be a URL;
+ # argument +data+ must be a string:
+ #
+ # _uri = uri.dup
+ # _uri.path = '/posts'
+ # data = '{"title": "foo", "body": "bar", "userId": 1}'
+ # headers = {'content-type': 'application/json'}
+ # res = Net::HTTP.post(_uri, data, headers) # => #
+ # puts res.body
+ #
+ # Output:
+ #
+ # {
+ # "title": "foo",
+ # "body": "bar",
+ # "userId": 1,
+ # "id": 101
+ # }
+ #
+ # Related:
+ #
+ # - Net::HTTP::Post: request class for \HTTP method +POST+.
+ # - Net::HTTP#post: convenience method for \HTTP method +POST+.
+ #
+ # source://net-http//lib/net/http.rb#855
+ def post(url, data, header = T.unsafe(nil)); end
+
+ # Posts data to a host; returns a Net::HTTPResponse object.
+ #
+ # Argument +url+ must be a URI;
+ # argument +data+ must be a hash:
+ #
+ # _uri = uri.dup
+ # _uri.path = '/posts'
+ # data = {title: 'foo', body: 'bar', userId: 1}
+ # res = Net::HTTP.post_form(_uri, data) # => #
+ # puts res.body
+ #
+ # Output:
+ #
+ # {
+ # "title": "foo",
+ # "body": "bar",
+ # "userId": "1",
+ # "id": 101
+ # }
+ #
+ # source://net-http//lib/net/http.rb#882
+ def post_form(url, params); end
+
+ # Returns the address of the proxy host, or +nil+ if none;
+ # see Net::HTTP@Proxy+Server.
+ #
+ # source://net-http//lib/net/http.rb#1768
+ def proxy_address; end
+
+ # Returns true if self is a class which was created by HTTP::Proxy.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#1762
+ def proxy_class?; end
+
+ # Returns the password for accessing the proxy, or +nil+ if none;
+ # see Net::HTTP@Proxy+Server.
+ #
+ # source://net-http//lib/net/http.rb#1780
+ def proxy_pass; end
+
+ # Returns the port number of the proxy host, or +nil+ if none;
+ # see Net::HTTP@Proxy+Server.
+ #
+ # source://net-http//lib/net/http.rb#1772
+ def proxy_port; end
+
+ # Returns the user name for accessing the proxy, or +nil+ if none;
+ # see Net::HTTP@Proxy+Server.
+ #
+ # source://net-http//lib/net/http.rb#1776
+ def proxy_user; end
+
+ # source://net-http//lib/net/http.rb#920
+ def socket_type; end
+
+ # :call-seq:
+ # HTTP.start(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil, opts) -> http
+ # HTTP.start(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil, opts) {|http| ... } -> object
+ #
+ # Creates a new \Net::HTTP object, +http+, via \Net::HTTP.new:
+ #
+ # - For arguments +address+ and +port+, see Net::HTTP.new.
+ # - For proxy-defining arguments +p_addr+ through +p_pass+,
+ # see {Proxy Server}[rdoc-ref:Net::HTTP@Proxy+Server].
+ # - For argument +opts+, see below.
+ #
+ # With no block given:
+ #
+ # - Calls http.start with no block (see #start),
+ # which opens a TCP connection and \HTTP session.
+ # - Returns +http+.
+ # - The caller should call #finish to close the session:
+ #
+ # http = Net::HTTP.start(hostname)
+ # http.started? # => true
+ # http.finish
+ # http.started? # => false
+ #
+ # With a block given:
+ #
+ # - Calls http.start with the block (see #start), which:
+ #
+ # - Opens a TCP connection and \HTTP session.
+ # - Calls the block,
+ # which may make any number of requests to the host.
+ # - Closes the \HTTP session and TCP connection on block exit.
+ # - Returns the block's value +object+.
+ #
+ # - Returns +object+.
+ #
+ # Example:
+ #
+ # hostname = 'jsonplaceholder.typicode.com'
+ # Net::HTTP.start(hostname) do |http|
+ # puts http.get('/todos/1').body
+ # puts http.get('/todos/2').body
+ # end
+ #
+ # Output:
+ #
+ # {
+ # "userId": 1,
+ # "id": 1,
+ # "title": "delectus aut autem",
+ # "completed": false
+ # }
+ # {
+ # "userId": 1,
+ # "id": 2,
+ # "title": "quis ut nam facilis et officia qui",
+ # "completed": false
+ # }
+ #
+ # If the last argument given is a hash, it is the +opts+ hash,
+ # where each key is a method or accessor to be called,
+ # and its value is the value to be set.
+ #
+ # The keys may include:
+ #
+ # - #ca_file
+ # - #ca_path
+ # - #cert
+ # - #cert_store
+ # - #ciphers
+ # - #close_on_empty_response
+ # - +ipaddr+ (calls #ipaddr=)
+ # - #keep_alive_timeout
+ # - #key
+ # - #open_timeout
+ # - #read_timeout
+ # - #ssl_timeout
+ # - #ssl_version
+ # - +use_ssl+ (calls #use_ssl=)
+ # - #verify_callback
+ # - #verify_depth
+ # - #verify_mode
+ # - #write_timeout
+ #
+ # Note: If +port+ is +nil+ and opts[:use_ssl] is a truthy value,
+ # the value passed to +new+ is Net::HTTP.https_default_port, not +port+.
+ #
+ # source://net-http//lib/net/http.rb#1010
+ def start(address, *arg, &block); end
+
+ # Returns +false+; retained for compatibility.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#746
+ def version_1_1?; end
+
+ # Returns +true+; retained for compatibility.
+ #
+ # source://net-http//lib/net/http.rb#736
+ def version_1_2; end
+
+ # Returns +true+; retained for compatibility.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http.rb#741
+ def version_1_2?; end
+ end
+end
+
+# source://net-http//lib/net/http/proxy_delta.rb#2
+module Net::HTTP::ProxyDelta
+ private
+
+ # source://net-http//lib/net/http/proxy_delta.rb#5
+ def conn_address; end
+
+ # source://net-http//lib/net/http/proxy_delta.rb#9
+ def conn_port; end
+
+ # source://net-http//lib/net/http/proxy_delta.rb#13
+ def edit_path(path); end
+end
+
+# source://net-http//lib/net/http/backward.rb#7
+Net::HTTP::ProxyMod = Net::HTTP::ProxyDelta
+
+# :stopdoc:
+#
+# source://net-http//lib/net/http.rb#725
+Net::HTTP::VERSION = T.let(T.unsafe(nil), String)
+
+# Response class for Already Reported (WebDAV) responses (status code 208).
+#
+# The Already Reported (WebDAV) response indicates that the server
+# has received the request,
+# and that the members of a DAV binding have already been enumerated
+# in a preceding part of the (multi-status) response,
+# and are not being included again.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {RFC 5842}[https://www.rfc-editor.org/rfc/rfc5842.html#section-7.1].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#208].
+#
+# source://net-http//lib/net/http/responses.rb#306
+class Net::HTTPAlreadyReported < ::Net::HTTPSuccess; end
+
+# source://net-http//lib/net/http/responses.rb#307
+Net::HTTPAlreadyReported::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# source://net-http//lib/net/http/responses.rb#67
+Net::HTTPClientError::EXCEPTION_TYPE = Net::HTTPClientException
+
+# source://net-http//lib/net/http/backward.rb#23
+Net::HTTPClientErrorCode = Net::HTTPClientError
+
+# Response class for Early Hints responses (status code 103).
+#
+# The Early Hints indicates that the server has received
+# and is processing the request, and contains certain headers;
+# the final response is not available yet.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103].
+# - {RFC 8297}[https://www.rfc-editor.org/rfc/rfc8297.html#section-2].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#103].
+#
+# source://net-http//lib/net/http/responses.rb#147
+class Net::HTTPEarlyHints < ::Net::HTTPInformation; end
+
+# source://net-http//lib/net/http/responses.rb#148
+Net::HTTPEarlyHints::HAS_BODY = T.let(T.unsafe(nil), FalseClass)
+
+# source://net-http//lib/net/http/backward.rb#24
+Net::HTTPFatalErrorCode = Net::HTTPClientError
+
+# \HTTPGenericRequest is the parent of the Net::HTTPRequest class.
+#
+# Do not use this directly; instead, use a subclass of Net::HTTPRequest.
+#
+# == About the Examples
+#
+# :include: doc/net-http/examples.rdoc
+#
+# source://net-http//lib/net/http/generic_request.rb#11
+class Net::HTTPGenericRequest
+ include ::Net::HTTPHeader
+
+ # @return [HTTPGenericRequest] a new instance of HTTPGenericRequest
+ #
+ # source://net-http//lib/net/http/generic_request.rb#15
+ def initialize(m, reqbody, resbody, uri_or_path, initheader = T.unsafe(nil)); end
+
+ # Don't automatically decode response content-encoding if the user indicates
+ # they want to handle it.
+ #
+ # source://net-http//lib/net/http/generic_request.rb#109
+ def []=(key, val); end
+
+ # Returns the string body for the request, or +nil+ if there is none:
+ #
+ # req = Net::HTTP::Post.new(uri)
+ # req.body # => nil
+ # req.body = '{"title": "foo","body": "bar","userId": 1}'
+ # req.body # => "{\"title\": \"foo\",\"body\": \"bar\",\"userId\": 1}"
+ #
+ # source://net-http//lib/net/http/generic_request.rb#145
+ def body; end
+
+ # Sets the body for the request:
+ #
+ # req = Net::HTTP::Post.new(uri)
+ # req.body # => nil
+ # req.body = '{"title": "foo","body": "bar","userId": 1}'
+ # req.body # => "{\"title\": \"foo\",\"body\": \"bar\",\"userId\": 1}"
+ #
+ # source://net-http//lib/net/http/generic_request.rb#154
+ def body=(str); end
+
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/generic_request.rb#133
+ def body_exist?; end
+
+ # Returns the body stream object for the request, or +nil+ if there is none:
+ #
+ # req = Net::HTTP::Post.new(uri) # => #
+ # req.body_stream # => nil
+ # require 'stringio'
+ # req.body_stream = StringIO.new('xyzzy') # => #
+ # req.body_stream # => #
+ #
+ # source://net-http//lib/net/http/generic_request.rb#169
+ def body_stream; end
+
+ # Sets the body stream for the request:
+ #
+ # req = Net::HTTP::Post.new(uri) # => #
+ # req.body_stream # => nil
+ # require 'stringio'
+ # req.body_stream = StringIO.new('xyzzy') # => #
+ # req.body_stream # => #
+ #
+ # source://net-http//lib/net/http/generic_request.rb#179
+ def body_stream=(input); end
+
+ # Returns +false+ if the request's header 'Accept-Encoding'
+ # has been set manually or deleted
+ # (indicating that the user intends to handle encoding in the response),
+ # +true+ otherwise:
+ #
+ # req = Net::HTTP::Get.new(uri) # => #
+ # req['Accept-Encoding'] # => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3"
+ # req.decode_content # => true
+ # req['Accept-Encoding'] = 'foo'
+ # req.decode_content # => false
+ # req.delete('Accept-Encoding')
+ # req.decode_content # => false
+ #
+ # source://net-http//lib/net/http/generic_request.rb#95
+ def decode_content; end
+
+ # write
+ #
+ # source://net-http//lib/net/http/generic_request.rb#198
+ def exec(sock, ver, path); end
+
+ # Returns a string representation of the request:
+ #
+ # Net::HTTP::Post.new(uri).inspect # => "#"
+ #
+ # source://net-http//lib/net/http/generic_request.rb#101
+ def inspect; end
+
+ # Returns the string method name for the request:
+ #
+ # Net::HTTP::Get.new(uri).method # => "GET"
+ # Net::HTTP::Post.new(uri).method # => "POST"
+ #
+ # source://net-http//lib/net/http/generic_request.rb#65
+ def method; end
+
+ # Returns the string path for the request:
+ #
+ # Net::HTTP::Get.new(uri).path # => "/"
+ # Net::HTTP::Post.new('example.com').path # => "example.com"
+ #
+ # source://net-http//lib/net/http/generic_request.rb#72
+ def path; end
+
+ # Returns whether the request may have a body:
+ #
+ # Net::HTTP::Post.new(uri).request_body_permitted? # => true
+ # Net::HTTP::Get.new(uri).request_body_permitted? # => false
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/generic_request.rb#120
+ def request_body_permitted?; end
+
+ # Returns whether the response may have a body:
+ #
+ # Net::HTTP::Post.new(uri).response_body_permitted? # => true
+ # Net::HTTP::Head.new(uri).response_body_permitted? # => false
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/generic_request.rb#129
+ def response_body_permitted?; end
+
+ # @raise [ArgumentError]
+ #
+ # source://net-http//lib/net/http/generic_request.rb#186
+ def set_body_internal(str); end
+
+ # source://net-http//lib/net/http/generic_request.rb#210
+ def update_uri(addr, port, ssl); end
+
+ # Returns the URI object for the request, or +nil+ if none:
+ #
+ # Net::HTTP::Get.new(uri).uri
+ # # => #
+ # Net::HTTP::Get.new('example.com').uri # => nil
+ #
+ # source://net-http//lib/net/http/generic_request.rb#80
+ def uri; end
+
+ private
+
+ # source://net-http//lib/net/http/generic_request.rb#312
+ def encode_multipart_form_data(out, params, opt); end
+
+ # source://net-http//lib/net/http/generic_request.rb#368
+ def flush_buffer(out, buf, chunked_p); end
+
+ # source://net-http//lib/net/http/generic_request.rb#363
+ def quote_string(str, charset); end
+
+ # source://net-http//lib/net/http/generic_request.rb#260
+ def send_request_with_body(sock, ver, path, body); end
+
+ # source://net-http//lib/net/http/generic_request.rb#286
+ def send_request_with_body_data(sock, ver, path, params); end
+
+ # source://net-http//lib/net/http/generic_request.rb#269
+ def send_request_with_body_stream(sock, ver, path, f); end
+
+ # source://net-http//lib/net/http/generic_request.rb#376
+ def supply_default_content_type; end
+
+ # Waits up to the continue timeout for a response from the server provided
+ # we're speaking HTTP 1.1 and are expecting a 100-continue response.
+ #
+ # source://net-http//lib/net/http/generic_request.rb#386
+ def wait_for_continue(sock, ver); end
+
+ # source://net-http//lib/net/http/generic_request.rb#399
+ def write_header(sock, ver, path); end
+end
+
+# source://net-http//lib/net/http/generic_request.rb#242
+class Net::HTTPGenericRequest::Chunker
+ # @return [Chunker] a new instance of Chunker
+ #
+ # source://net-http//lib/net/http/generic_request.rb#243
+ def initialize(sock); end
+
+ # source://net-http//lib/net/http/generic_request.rb#255
+ def finish; end
+
+ # source://net-http//lib/net/http/generic_request.rb#248
+ def write(buf); end
+end
+
+# The \HTTPHeader module provides access to \HTTP headers.
+#
+# The module is included in:
+#
+# - Net::HTTPGenericRequest (and therefore Net::HTTPRequest).
+# - Net::HTTPResponse.
+#
+# The headers are a hash-like collection of key/value pairs called _fields_.
+#
+# == Request and Response Fields
+#
+# Headers may be included in:
+#
+# - A Net::HTTPRequest object:
+# the object's headers will be sent with the request.
+# Any fields may be defined in the request;
+# see {Setters}[rdoc-ref:Net::HTTPHeader@Setters].
+# - A Net::HTTPResponse object:
+# the objects headers are usually those returned from the host.
+# Fields may be retrieved from the object;
+# see {Getters}[rdoc-ref:Net::HTTPHeader@Getters]
+# and {Iterators}[rdoc-ref:Net::HTTPHeader@Iterators].
+#
+# Exactly which fields should be sent or expected depends on the host;
+# see:
+#
+# - {Request fields}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields].
+# - {Response fields}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Response_fields].
+#
+# == About the Examples
+#
+# :include: doc/net-http/examples.rdoc
+#
+# == Fields
+#
+# A header field is a key/value pair.
+#
+# === Field Keys
+#
+# A field key may be:
+#
+# - A string: Key 'Accept' is treated as if it were
+# 'Accept'.downcase ; i.e., 'accept' .
+# - A symbol: Key :Accept is treated as if it were
+# :Accept.to_s.downcase ; i.e., 'accept' .
+#
+# Examples:
+#
+# req = Net::HTTP::Get.new(uri)
+# req[:accept] # => "*/*"
+# req['Accept'] # => "*/*"
+# req['ACCEPT'] # => "*/*"
+#
+# req['accept'] = 'text/html'
+# req[:accept] = 'text/html'
+# req['ACCEPT'] = 'text/html'
+#
+# === Field Values
+#
+# A field value may be returned as an array of strings or as a string:
+#
+# - These methods return field values as arrays:
+#
+# - #get_fields: Returns the array value for the given key,
+# or +nil+ if it does not exist.
+# - #to_hash: Returns a hash of all header fields:
+# each key is a field name; its value is the array value for the field.
+#
+# - These methods return field values as string;
+# the string value for a field is equivalent to
+# self[key.downcase.to_s].join(', ')) :
+#
+# - #[]: Returns the string value for the given key,
+# or +nil+ if it does not exist.
+# - #fetch: Like #[], but accepts a default value
+# to be returned if the key does not exist.
+#
+# The field value may be set:
+#
+# - #[]=: Sets the value for the given key;
+# the given value may be a string, a symbol, an array, or a hash.
+# - #add_field: Adds a given value to a value for the given key
+# (not overwriting the existing value).
+# - #delete: Deletes the field for the given key.
+#
+# Example field values:
+#
+# - \String:
+#
+# req['Accept'] = 'text/html' # => "text/html"
+# req['Accept'] # => "text/html"
+# req.get_fields('Accept') # => ["text/html"]
+#
+# - \Symbol:
+#
+# req['Accept'] = :text # => :text
+# req['Accept'] # => "text"
+# req.get_fields('Accept') # => ["text"]
+#
+# - Simple array:
+#
+# req[:foo] = %w[bar baz bat]
+# req[:foo] # => "bar, baz, bat"
+# req.get_fields(:foo) # => ["bar", "baz", "bat"]
+#
+# - Simple hash:
+#
+# req[:foo] = {bar: 0, baz: 1, bat: 2}
+# req[:foo] # => "bar, 0, baz, 1, bat, 2"
+# req.get_fields(:foo) # => ["bar", "0", "baz", "1", "bat", "2"]
+#
+# - Nested:
+#
+# req[:foo] = [%w[bar baz], {bat: 0, bam: 1}]
+# req[:foo] # => "bar, baz, bat, 0, bam, 1"
+# req.get_fields(:foo) # => ["bar", "baz", "bat", "0", "bam", "1"]
+#
+# req[:foo] = {bar: %w[baz bat], bam: {bah: 0, bad: 1}}
+# req[:foo] # => "bar, baz, bat, bam, bah, 0, bad, 1"
+# req.get_fields(:foo) # => ["bar", "baz", "bat", "bam", "bah", "0", "bad", "1"]
+#
+# == Convenience Methods
+#
+# Various convenience methods retrieve values, set values, query values,
+# set form values, or iterate over fields.
+#
+# === Setters
+#
+# \Method #[]= can set any field, but does little to validate the new value;
+# some of the other setter methods provide some validation:
+#
+# - #[]=: Sets the string or array value for the given key.
+# - #add_field: Creates or adds to the array value for the given key.
+# - #basic_auth: Sets the string authorization header for 'Authorization' .
+# - #content_length=: Sets the integer length for field 'Content-Length .
+# - #content_type=: Sets the string value for field 'Content-Type' .
+# - #proxy_basic_auth: Sets the string authorization header for 'Proxy-Authorization' .
+# - #set_range: Sets the value for field 'Range' .
+#
+# === Form Setters
+#
+# - #set_form: Sets an HTML form data set.
+# - #set_form_data: Sets header fields and a body from HTML form data.
+#
+# === Getters
+#
+# \Method #[] can retrieve the value of any field that exists,
+# but always as a string;
+# some of the other getter methods return something different
+# from the simple string value:
+#
+# - #[]: Returns the string field value for the given key.
+# - #content_length: Returns the integer value of field 'Content-Length' .
+# - #content_range: Returns the Range value of field 'Content-Range' .
+# - #content_type: Returns the string value of field 'Content-Type' .
+# - #fetch: Returns the string field value for the given key.
+# - #get_fields: Returns the array field value for the given +key+.
+# - #main_type: Returns first part of the string value of field 'Content-Type' .
+# - #sub_type: Returns second part of the string value of field 'Content-Type' .
+# - #range: Returns an array of Range objects of field 'Range' , or +nil+.
+# - #range_length: Returns the integer length of the range given in field 'Content-Range' .
+# - #type_params: Returns the string parameters for 'Content-Type' .
+#
+# === Queries
+#
+# - #chunked?: Returns whether field 'Transfer-Encoding' is set to 'chunked' .
+# - #connection_close?: Returns whether field 'Connection' is set to 'close' .
+# - #connection_keep_alive?: Returns whether field 'Connection' is set to 'keep-alive' .
+# - #key?: Returns whether a given key exists.
+#
+# === Iterators
+#
+# - #each_capitalized: Passes each field capitalized-name/value pair to the block.
+# - #each_capitalized_name: Passes each capitalized field name to the block.
+# - #each_header: Passes each field name/value pair to the block.
+# - #each_name: Passes each field name to the block.
+# - #each_value: Passes each string field value to the block.
+#
+# source://net-http//lib/net/http/header.rb#181
+module Net::HTTPHeader
+ # Returns the string field value for the case-insensitive field +key+,
+ # or +nil+ if there is no such key;
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['Connection'] # => "keep-alive"
+ # res['Nosuch'] # => nil
+ #
+ # Note that some field values may be retrieved via convenience methods;
+ # see {Getters}[rdoc-ref:Net::HTTPHeader@Getters].
+ #
+ # source://net-http//lib/net/http/header.rb#224
+ def [](key); end
+
+ # Sets the value for the case-insensitive +key+ to +val+,
+ # overwriting the previous value if the field exists;
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req['Accept'] # => "*/*"
+ # req['Accept'] = 'text/html'
+ # req['Accept'] # => "text/html"
+ #
+ # Note that some field values may be set via convenience methods;
+ # see {Setters}[rdoc-ref:Net::HTTPHeader@Setters].
+ #
+ # source://net-http//lib/net/http/header.rb#240
+ def []=(key, val); end
+
+ # Adds value +val+ to the value array for field +key+ if the field exists;
+ # creates the field with the given +key+ and +val+ if it does not exist.
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.add_field('Foo', 'bar')
+ # req['Foo'] # => "bar"
+ # req.add_field('Foo', 'baz')
+ # req['Foo'] # => "bar, baz"
+ # req.add_field('Foo', %w[baz bam])
+ # req['Foo'] # => "bar, baz, baz, bam"
+ # req.get_fields('Foo') # => ["bar", "baz", "baz", "bam"]
+ #
+ # source://net-http//lib/net/http/header.rb#261
+ def add_field(key, val); end
+
+ # Sets header 'Authorization' using the given
+ # +account+ and +password+ strings:
+ #
+ # req.basic_auth('my_account', 'my_password')
+ # req['Authorization']
+ # # => "Basic bXlfYWNjb3VudDpteV9wYXNzd29yZA=="
+ #
+ # source://net-http//lib/net/http/header.rb#945
+ def basic_auth(account, password); end
+
+ # Like #each_header, but the keys are returned in capitalized form.
+ #
+ # Net::HTTPHeader#canonical_each is an alias for Net::HTTPHeader#each_capitalized.
+ #
+ # source://net-http//lib/net/http/header.rb#484
+ def canonical_each; end
+
+ # Returns +true+ if field 'Transfer-Encoding'
+ # exists and has value 'chunked' ,
+ # +false+ otherwise;
+ # see {Transfer-Encoding response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#transfer-encoding-response-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['Transfer-Encoding'] # => "chunked"
+ # res.chunked? # => true
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/header.rb#654
+ def chunked?; end
+
+ # Returns whether the HTTP session is to be closed.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/header.rb#966
+ def connection_close?; end
+
+ # Returns whether the HTTP session is to be kept alive.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/header.rb#974
+ def connection_keep_alive?; end
+
+ # Returns the value of field 'Content-Length' as an integer,
+ # or +nil+ if there is no such field;
+ # see {Content-Length request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-length-request-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/nosuch/1')
+ # res.content_length # => 2
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.content_length # => nil
+ #
+ # source://net-http//lib/net/http/header.rb#616
+ def content_length; end
+
+ # Sets the value of field 'Content-Length' to the given numeric;
+ # see {Content-Length response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-length-response-header]:
+ #
+ # _uri = uri.dup
+ # hostname = _uri.hostname # => "jsonplaceholder.typicode.com"
+ # _uri.path = '/posts' # => "/posts"
+ # req = Net::HTTP::Post.new(_uri) # => #
+ # req.body = '{"title": "foo","body": "bar","userId": 1}'
+ # req.content_length = req.body.size # => 42
+ # req.content_type = 'application/json'
+ # res = Net::HTTP.start(hostname) do |http|
+ # http.request(req)
+ # end # => #
+ #
+ # source://net-http//lib/net/http/header.rb#637
+ def content_length=(len); end
+
+ # Returns a Range object representing the value of field
+ # 'Content-Range' , or +nil+ if no such field exists;
+ # see {Content-Range response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-range-response-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['Content-Range'] # => nil
+ # res['Content-Range'] = 'bytes 0-499/1000'
+ # res['Content-Range'] # => "bytes 0-499/1000"
+ # res.content_range # => 0..499
+ #
+ # source://net-http//lib/net/http/header.rb#670
+ def content_range; end
+
+ # Returns the {media type}[https://en.wikipedia.org/wiki/Media_type]
+ # from the value of field 'Content-Type' ,
+ # or +nil+ if no such field exists;
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['content-type'] # => "application/json; charset=utf-8"
+ # res.content_type # => "application/json"
+ #
+ # source://net-http//lib/net/http/header.rb#701
+ def content_type; end
+
+ # Sets the value of field 'Content-Type' ;
+ # returns the new value;
+ # see {Content-Type request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-request-header]:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.set_content_type('application/json') # => ["application/json"]
+ #
+ # Net::HTTPHeader#content_type= is an alias for Net::HTTPHeader#set_content_type.
+ #
+ # source://net-http//lib/net/http/header.rb#772
+ def content_type=(type, params = T.unsafe(nil)); end
+
+ # Removes the header for the given case-insensitive +key+
+ # (see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]);
+ # returns the deleted value, or +nil+ if no such field exists:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.delete('Accept') # => ["*/*"]
+ # req.delete('Nosuch') # => nil
+ #
+ # source://net-http//lib/net/http/header.rb#453
+ def delete(key); end
+
+ # Calls the block with each key/value pair:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.each_header do |key, value|
+ # p [key, value] if key.start_with?('c')
+ # end
+ #
+ # Output:
+ #
+ # ["content-type", "application/json; charset=utf-8"]
+ # ["connection", "keep-alive"]
+ # ["cache-control", "max-age=43200"]
+ # ["cf-cache-status", "HIT"]
+ # ["cf-ray", "771d17e9bc542cf5-ORD"]
+ #
+ # Returns an enumerator if no block is given.
+ #
+ # Net::HTTPHeader#each is an alias for Net::HTTPHeader#each_header.
+ #
+ # source://net-http//lib/net/http/header.rb#364
+ def each; end
+
+ # Like #each_header, but the keys are returned in capitalized form.
+ #
+ # Net::HTTPHeader#canonical_each is an alias for Net::HTTPHeader#each_capitalized.
+ #
+ # source://net-http//lib/net/http/header.rb#484
+ def each_capitalized; end
+
+ # Calls the block with each capitalized field name:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.each_capitalized_name do |key|
+ # p key if key.start_with?('C')
+ # end
+ #
+ # Output:
+ #
+ # "Content-Type"
+ # "Connection"
+ # "Cache-Control"
+ # "Cf-Cache-Status"
+ # "Cf-Ray"
+ #
+ # The capitalization is system-dependent;
+ # see {Case Mapping}[https://docs.ruby-lang.org/en/master/case_mapping_rdoc.html].
+ #
+ # Returns an enumerator if no block is given.
+ #
+ # source://net-http//lib/net/http/header.rb#417
+ def each_capitalized_name; end
+
+ # Calls the block with each key/value pair:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.each_header do |key, value|
+ # p [key, value] if key.start_with?('c')
+ # end
+ #
+ # Output:
+ #
+ # ["content-type", "application/json; charset=utf-8"]
+ # ["connection", "keep-alive"]
+ # ["cache-control", "max-age=43200"]
+ # ["cf-cache-status", "HIT"]
+ # ["cf-ray", "771d17e9bc542cf5-ORD"]
+ #
+ # Returns an enumerator if no block is given.
+ #
+ # Net::HTTPHeader#each is an alias for Net::HTTPHeader#each_header.
+ #
+ # source://net-http//lib/net/http/header.rb#364
+ def each_header; end
+
+ # Calls the block with each field key:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.each_key do |key|
+ # p key if key.start_with?('c')
+ # end
+ #
+ # Output:
+ #
+ # "content-type"
+ # "connection"
+ # "cache-control"
+ # "cf-cache-status"
+ # "cf-ray"
+ #
+ # Returns an enumerator if no block is given.
+ #
+ # Net::HTTPHeader#each_name is an alias for Net::HTTPHeader#each_key.
+ #
+ # source://net-http//lib/net/http/header.rb#391
+ def each_key(&block); end
+
+ # Calls the block with each field key:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.each_key do |key|
+ # p key if key.start_with?('c')
+ # end
+ #
+ # Output:
+ #
+ # "content-type"
+ # "connection"
+ # "cache-control"
+ # "cf-cache-status"
+ # "cf-ray"
+ #
+ # Returns an enumerator if no block is given.
+ #
+ # Net::HTTPHeader#each_name is an alias for Net::HTTPHeader#each_key.
+ #
+ # source://net-http//lib/net/http/header.rb#391
+ def each_name(&block); end
+
+ # Calls the block with each string field value:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.each_value do |value|
+ # p value if value.start_with?('c')
+ # end
+ #
+ # Output:
+ #
+ # "chunked"
+ # "cf-q-config;dur=6.0000002122251e-06"
+ # "cloudflare"
+ #
+ # Returns an enumerator if no block is given.
+ #
+ # source://net-http//lib/net/http/header.rb#438
+ def each_value; end
+
+ # call-seq:
+ # fetch(key, default_val = nil) {|key| ... } -> object
+ # fetch(key, default_val = nil) -> value or default_val
+ #
+ # With a block, returns the string value for +key+ if it exists;
+ # otherwise returns the value of the block;
+ # ignores the +default_val+;
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ #
+ # # Field exists; block not called.
+ # res.fetch('Connection') do |value|
+ # fail 'Cannot happen'
+ # end # => "keep-alive"
+ #
+ # # Field does not exist; block called.
+ # res.fetch('Nosuch') do |value|
+ # value.downcase
+ # end # => "nosuch"
+ #
+ # With no block, returns the string value for +key+ if it exists;
+ # otherwise, returns +default_val+ if it was given;
+ # otherwise raises an exception:
+ #
+ # res.fetch('Connection', 'Foo') # => "keep-alive"
+ # res.fetch('Nosuch', 'Foo') # => "Foo"
+ # res.fetch('Nosuch') # Raises KeyError.
+ #
+ # source://net-http//lib/net/http/header.rb#341
+ def fetch(key, *args, &block); end
+
+ # Sets the request body to a URL-encoded string derived from argument +params+,
+ # and sets request header field 'Content-Type'
+ # to 'application/x-www-form-urlencoded' .
+ #
+ # The resulting request is suitable for HTTP request +POST+ or +PUT+.
+ #
+ # Argument +params+ must be suitable for use as argument +enum+ to
+ # {URI.encode_www_form}[https://docs.ruby-lang.org/en/master/URI.html#method-c-encode_www_form].
+ #
+ # With only argument +params+ given,
+ # sets the body to a URL-encoded string with the default separator '&' :
+ #
+ # req = Net::HTTP::Post.new('example.com')
+ #
+ # req.set_form_data(q: 'ruby', lang: 'en')
+ # req.body # => "q=ruby&lang=en"
+ # req['Content-Type'] # => "application/x-www-form-urlencoded"
+ #
+ # req.set_form_data([['q', 'ruby'], ['lang', 'en']])
+ # req.body # => "q=ruby&lang=en"
+ #
+ # req.set_form_data(q: ['ruby', 'perl'], lang: 'en')
+ # req.body # => "q=ruby&q=perl&lang=en"
+ #
+ # req.set_form_data([['q', 'ruby'], ['q', 'perl'], ['lang', 'en']])
+ # req.body # => "q=ruby&q=perl&lang=en"
+ #
+ # With string argument +sep+ also given,
+ # uses that string as the separator:
+ #
+ # req.set_form_data({q: 'ruby', lang: 'en'}, '|')
+ # req.body # => "q=ruby|lang=en"
+ #
+ # Net::HTTPHeader#form_data= is an alias for Net::HTTPHeader#set_form_data.
+ #
+ # source://net-http//lib/net/http/header.rb#812
+ def form_data=(params, sep = T.unsafe(nil)); end
+
+ # Returns the array field value for the given +key+,
+ # or +nil+ if there is no such field;
+ # see {Fields}[rdoc-ref:Net::HTTPHeader@Fields]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res.get_fields('Connection') # => ["keep-alive"]
+ # res.get_fields('Nosuch') # => nil
+ #
+ # source://net-http//lib/net/http/header.rb#306
+ def get_fields(key); end
+
+ # source://net-http//lib/net/http/header.rb#185
+ def initialize_http_header(initheader); end
+
+ # Returns +true+ if the field for the case-insensitive +key+ exists, +false+ otherwise:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.key?('Accept') # => true
+ # req.key?('Nosuch') # => false
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/header.rb#463
+ def key?(key); end
+
+ # source://net-http//lib/net/http/header.rb#208
+ def length; end
+
+ # Returns the leading ('type') part of the
+ # {media type}[https://en.wikipedia.org/wiki/Media_type]
+ # from the value of field 'Content-Type' ,
+ # or +nil+ if no such field exists;
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['content-type'] # => "application/json; charset=utf-8"
+ # res.main_type # => "application"
+ #
+ # source://net-http//lib/net/http/header.rb#723
+ def main_type; end
+
+ # Sets header 'Proxy-Authorization' using the given
+ # +account+ and +password+ strings:
+ #
+ # req.proxy_basic_auth('my_account', 'my_password')
+ # req['Proxy-Authorization']
+ # # => "Basic bXlfYWNjb3VudDpteV9wYXNzd29yZA=="
+ #
+ # source://net-http//lib/net/http/header.rb#956
+ def proxy_basic_auth(account, password); end
+
+ # Returns an array of Range objects that represent
+ # the value of field 'Range' ,
+ # or +nil+ if there is no such field;
+ # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req['Range'] = 'bytes=0-99,200-299,400-499'
+ # req.range # => [0..99, 200..299, 400..499]
+ # req.delete('Range')
+ # req.range # # => nil
+ #
+ # source://net-http//lib/net/http/header.rb#509
+ def range; end
+
+ # call-seq:
+ # set_range(length) -> length
+ # set_range(offset, length) -> range
+ # set_range(begin..length) -> range
+ #
+ # Sets the value for field 'Range' ;
+ # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]:
+ #
+ # With argument +length+:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.set_range(100) # => 100
+ # req['Range'] # => "bytes=0-99"
+ #
+ # With arguments +offset+ and +length+:
+ #
+ # req.set_range(100, 100) # => 100...200
+ # req['Range'] # => "bytes=100-199"
+ #
+ # With argument +range+:
+ #
+ # req.set_range(100..199) # => 100..199
+ # req['Range'] # => "bytes=100-199"
+ #
+ # Net::HTTPHeader#range= is an alias for Net::HTTPHeader#set_range.
+ #
+ # source://net-http//lib/net/http/header.rb#576
+ def range=(r, e = T.unsafe(nil)); end
+
+ # Returns the integer representing length of the value of field
+ # 'Content-Range' , or +nil+ if no such field exists;
+ # see {Content-Range response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-range-response-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['Content-Range'] # => nil
+ # res['Content-Range'] = 'bytes 0-499/1000'
+ # res.range_length # => 500
+ #
+ # source://net-http//lib/net/http/header.rb#687
+ def range_length; end
+
+ # Sets the value of field 'Content-Type' ;
+ # returns the new value;
+ # see {Content-Type request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-request-header]:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.set_content_type('application/json') # => ["application/json"]
+ #
+ # Net::HTTPHeader#content_type= is an alias for Net::HTTPHeader#set_content_type.
+ #
+ # source://net-http//lib/net/http/header.rb#772
+ def set_content_type(type, params = T.unsafe(nil)); end
+
+ # Stores form data to be used in a +POST+ or +PUT+ request.
+ #
+ # The form data given in +params+ consists of zero or more fields;
+ # each field is:
+ #
+ # - A scalar value.
+ # - A name/value pair.
+ # - An IO stream opened for reading.
+ #
+ # Argument +params+ should be an
+ # {Enumerable}[https://docs.ruby-lang.org/en/master/Enumerable.html#module-Enumerable-label-Enumerable+in+Ruby+Classes]
+ # (method params.map will be called),
+ # and is often an array or hash.
+ #
+ # First, we set up a request:
+ #
+ # _uri = uri.dup
+ # _uri.path ='/posts'
+ # req = Net::HTTP::Post.new(_uri)
+ #
+ # Argument +params+ As an Array
+ #
+ # When +params+ is an array,
+ # each of its elements is a subarray that defines a field;
+ # the subarray may contain:
+ #
+ # - One string:
+ #
+ # req.set_form([['foo'], ['bar'], ['baz']])
+ #
+ # - Two strings:
+ #
+ # req.set_form([%w[foo 0], %w[bar 1], %w[baz 2]])
+ #
+ # - When argument +enctype+ (see below) is given as
+ # 'multipart/form-data' :
+ #
+ # - A string name and an IO stream opened for reading:
+ #
+ # require 'stringio'
+ # req.set_form([['file', StringIO.new('Ruby is cool.')]])
+ #
+ # - A string name, an IO stream opened for reading,
+ # and an options hash, which may contain these entries:
+ #
+ # - +:filename+: The name of the file to use.
+ # - +:content_type+: The content type of the uploaded file.
+ #
+ # Example:
+ #
+ # req.set_form([['file', file, {filename: "other-filename.foo"}]]
+ #
+ # The various forms may be mixed:
+ #
+ # req.set_form(['foo', %w[bar 1], ['file', file]])
+ #
+ # Argument +params+ As a Hash
+ #
+ # When +params+ is a hash,
+ # each of its entries is a name/value pair that defines a field:
+ #
+ # - The name is a string.
+ # - The value may be:
+ #
+ # - +nil+.
+ # - Another string.
+ # - An IO stream opened for reading
+ # (only when argument +enctype+ -- see below -- is given as
+ # 'multipart/form-data' ).
+ #
+ # Examples:
+ #
+ # # Nil-valued fields.
+ # req.set_form({'foo' => nil, 'bar' => nil, 'baz' => nil})
+ #
+ # # String-valued fields.
+ # req.set_form({'foo' => 0, 'bar' => 1, 'baz' => 2})
+ #
+ # # IO-valued field.
+ # require 'stringio'
+ # req.set_form({'file' => StringIO.new('Ruby is cool.')})
+ #
+ # # Mixture of fields.
+ # req.set_form({'foo' => nil, 'bar' => 1, 'file' => file})
+ #
+ # Optional argument +enctype+ specifies the value to be given
+ # to field 'Content-Type' , and must be one of:
+ #
+ # - 'application/x-www-form-urlencoded' (the default).
+ # - 'multipart/form-data' ;
+ # see {RFC 7578}[https://www.rfc-editor.org/rfc/rfc7578].
+ #
+ # Optional argument +formopt+ is a hash of options
+ # (applicable only when argument +enctype+
+ # is 'multipart/form-data' )
+ # that may include the following entries:
+ #
+ # - +:boundary+: The value is the boundary string for the multipart message.
+ # If not given, the boundary is a random string.
+ # See {Boundary}[https://www.rfc-editor.org/rfc/rfc7578#section-4.1].
+ # - +:charset+: Value is the character set for the form submission.
+ # Field names and values of non-file fields should be encoded with this charset.
+ #
+ # source://net-http//lib/net/http/header.rb#924
+ def set_form(params, enctype = T.unsafe(nil), formopt = T.unsafe(nil)); end
+
+ # Sets the request body to a URL-encoded string derived from argument +params+,
+ # and sets request header field 'Content-Type'
+ # to 'application/x-www-form-urlencoded' .
+ #
+ # The resulting request is suitable for HTTP request +POST+ or +PUT+.
+ #
+ # Argument +params+ must be suitable for use as argument +enum+ to
+ # {URI.encode_www_form}[https://docs.ruby-lang.org/en/master/URI.html#method-c-encode_www_form].
+ #
+ # With only argument +params+ given,
+ # sets the body to a URL-encoded string with the default separator '&' :
+ #
+ # req = Net::HTTP::Post.new('example.com')
+ #
+ # req.set_form_data(q: 'ruby', lang: 'en')
+ # req.body # => "q=ruby&lang=en"
+ # req['Content-Type'] # => "application/x-www-form-urlencoded"
+ #
+ # req.set_form_data([['q', 'ruby'], ['lang', 'en']])
+ # req.body # => "q=ruby&lang=en"
+ #
+ # req.set_form_data(q: ['ruby', 'perl'], lang: 'en')
+ # req.body # => "q=ruby&q=perl&lang=en"
+ #
+ # req.set_form_data([['q', 'ruby'], ['q', 'perl'], ['lang', 'en']])
+ # req.body # => "q=ruby&q=perl&lang=en"
+ #
+ # With string argument +sep+ also given,
+ # uses that string as the separator:
+ #
+ # req.set_form_data({q: 'ruby', lang: 'en'}, '|')
+ # req.body # => "q=ruby|lang=en"
+ #
+ # Net::HTTPHeader#form_data= is an alias for Net::HTTPHeader#set_form_data.
+ #
+ # source://net-http//lib/net/http/header.rb#812
+ def set_form_data(params, sep = T.unsafe(nil)); end
+
+ # call-seq:
+ # set_range(length) -> length
+ # set_range(offset, length) -> range
+ # set_range(begin..length) -> range
+ #
+ # Sets the value for field 'Range' ;
+ # see {Range request header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#range-request-header]:
+ #
+ # With argument +length+:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.set_range(100) # => 100
+ # req['Range'] # => "bytes=0-99"
+ #
+ # With arguments +offset+ and +length+:
+ #
+ # req.set_range(100, 100) # => 100...200
+ # req['Range'] # => "bytes=100-199"
+ #
+ # With argument +range+:
+ #
+ # req.set_range(100..199) # => 100..199
+ # req['Range'] # => "bytes=100-199"
+ #
+ # Net::HTTPHeader#range= is an alias for Net::HTTPHeader#set_range.
+ #
+ # source://net-http//lib/net/http/header.rb#576
+ def set_range(r, e = T.unsafe(nil)); end
+
+ # source://net-http//lib/net/http/header.rb#208
+ def size; end
+
+ # Returns the trailing ('subtype') part of the
+ # {media type}[https://en.wikipedia.org/wiki/Media_type]
+ # from the value of field 'Content-Type' ,
+ # or +nil+ if no such field exists;
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['content-type'] # => "application/json; charset=utf-8"
+ # res.sub_type # => "json"
+ #
+ # source://net-http//lib/net/http/header.rb#738
+ def sub_type; end
+
+ # Returns a hash of the key/value pairs:
+ #
+ # req = Net::HTTP::Get.new(uri)
+ # req.to_hash
+ # # =>
+ # {"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],
+ # "accept"=>["*/*"],
+ # "user-agent"=>["Ruby"],
+ # "host"=>["jsonplaceholder.typicode.com"]}
+ #
+ # source://net-http//lib/net/http/header.rb#477
+ def to_hash; end
+
+ # Returns the trailing ('parameters') part of the value of field 'Content-Type' ,
+ # or +nil+ if no such field exists;
+ # see {Content-Type response header}[https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#content-type-response-header]:
+ #
+ # res = Net::HTTP.get_response(hostname, '/todos/1')
+ # res['content-type'] # => "application/json; charset=utf-8"
+ # res.type_params # => {"charset"=>"utf-8"}
+ #
+ # source://net-http//lib/net/http/header.rb#753
+ def type_params; end
+
+ private
+
+ # source://net-http//lib/net/http/header.rb#285
+ def append_field_value(ary, val); end
+
+ # source://net-http//lib/net/http/header.rb#960
+ def basic_encode(account, password); end
+
+ # source://net-http//lib/net/http/header.rb#493
+ def capitalize(name); end
+
+ # source://net-http//lib/net/http/header.rb#270
+ def set_field(key, val); end
+end
+
+# source://net-http//lib/net/http/header.rb#183
+Net::HTTPHeader::MAX_FIELD_LENGTH = T.let(T.unsafe(nil), Integer)
+
+# source://net-http//lib/net/http/header.rb#182
+Net::HTTPHeader::MAX_KEY_LENGTH = T.let(T.unsafe(nil), Integer)
+
+# source://net-http//lib/net/http/responses.rb#23
+Net::HTTPInformation::EXCEPTION_TYPE = Net::HTTPError
+
+# source://net-http//lib/net/http/backward.rb#19
+Net::HTTPInformationCode = Net::HTTPInformation
+
+# Response class for Loop Detected (WebDAV) responses (status code 508).
+#
+# The server detected an infinite loop while processing the request.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/508].
+# - {RFC 5942}[https://www.rfc-editor.org/rfc/rfc5842.html#section-7.2].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#508].
+#
+# source://net-http//lib/net/http/responses.rb#1061
+class Net::HTTPLoopDetected < ::Net::HTTPServerError; end
+
+# source://net-http//lib/net/http/responses.rb#1062
+Net::HTTPLoopDetected::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# Response class for Misdirected Request responses (status code 421).
+#
+# The request was directed at a server that is not able to produce a response.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-421-misdirected-request].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#421].
+#
+# source://net-http//lib/net/http/responses.rb#776
+class Net::HTTPMisdirectedRequest < ::Net::HTTPClientError; end
+
+# source://net-http//lib/net/http/responses.rb#777
+Net::HTTPMisdirectedRequest::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# source://net-http//lib/net/http/responses.rb#378
+Net::HTTPMovedTemporarily = Net::HTTPFound
+
+# source://net-http//lib/net/http/responses.rb#343
+Net::HTTPMultipleChoice = Net::HTTPMultipleChoices
+
+# Response class for Not Extended responses (status code 510).
+#
+# Further extensions to the request are required for the server to fulfill it.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/510].
+# - {RFC 2774}[https://www.rfc-editor.org/rfc/rfc2774.html#section-7].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#510].
+#
+# source://net-http//lib/net/http/responses.rb#1078
+class Net::HTTPNotExtended < ::Net::HTTPServerError; end
+
+# source://net-http//lib/net/http/responses.rb#1079
+Net::HTTPNotExtended::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# Response class for Payload Too Large responses (status code 413).
+#
+# The request is larger than the server is willing or able to process.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/413].
+# - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-413-content-too-large].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#413].
+#
+# source://net-http//lib/net/http/responses.rb#688
+class Net::HTTPPayloadTooLarge < ::Net::HTTPClientError; end
+
+# source://net-http//lib/net/http/responses.rb#689
+Net::HTTPPayloadTooLarge::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# Response class for +Processing+ responses (status code 102).
+#
+# The +Processing+ response indicates that the server has received
+# and is processing the request, but no response is available yet.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {RFC 2518}[https://www.rfc-editor.org/rfc/rfc2518#section-10.1].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#102].
+#
+# source://net-http//lib/net/http/responses.rb#129
+class Net::HTTPProcessing < ::Net::HTTPInformation; end
+
+# source://net-http//lib/net/http/responses.rb#130
+Net::HTTPProcessing::HAS_BODY = T.let(T.unsafe(nil), FalseClass)
+
+# Response class for Range Not Satisfiable responses (status code 416).
+#
+# The request entity has a media type which the server or resource does not support.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/416].
+# - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-416-range-not-satisfiable].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#416].
+#
+# source://net-http//lib/net/http/responses.rb#739
+class Net::HTTPRangeNotSatisfiable < ::Net::HTTPClientError; end
+
+# source://net-http//lib/net/http/responses.rb#740
+Net::HTTPRangeNotSatisfiable::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# source://net-http//lib/net/http/responses.rb#53
+Net::HTTPRedirection::EXCEPTION_TYPE = Net::HTTPRetriableError
+
+# source://net-http//lib/net/http/backward.rb#21
+Net::HTTPRedirectionCode = Net::HTTPRedirection
+
+# source://net-http//lib/net/http/responses.rb#709
+Net::HTTPRequestURITooLarge = Net::HTTPURITooLong
+
+# Typo since 2001
+#
+# source://net-http//lib/net/http/backward.rb#28
+Net::HTTPResponceReceiver = Net::HTTPResponse
+
+# This class is the base class for \Net::HTTP response classes.
+#
+# == About the Examples
+#
+# :include: doc/net-http/examples.rdoc
+#
+# == Returned Responses
+#
+# \Method Net::HTTP.get_response returns
+# an instance of one of the subclasses of \Net::HTTPResponse:
+#
+# Net::HTTP.get_response(uri)
+# # => #
+# Net::HTTP.get_response(hostname, '/nosuch')
+# # => #
+#
+# As does method Net::HTTP#request:
+#
+# req = Net::HTTP::Get.new(uri)
+# Net::HTTP.start(hostname) do |http|
+# http.request(req)
+# end # => #
+#
+# \Class \Net::HTTPResponse includes module Net::HTTPHeader,
+# which provides access to response header values via (among others):
+#
+# - \Hash-like method [] .
+# - Specific reader methods, such as +content_type+.
+#
+# Examples:
+#
+# res = Net::HTTP.get_response(uri) # => #
+# res['Content-Type'] # => "text/html; charset=UTF-8"
+# res.content_type # => "text/html"
+#
+# == Response Subclasses
+#
+# \Class \Net::HTTPResponse has a subclass for each
+# {HTTP status code}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes].
+# You can look up the response class for a given code:
+#
+# Net::HTTPResponse::CODE_TO_OBJ['200'] # => Net::HTTPOK
+# Net::HTTPResponse::CODE_TO_OBJ['400'] # => Net::HTTPBadRequest
+# Net::HTTPResponse::CODE_TO_OBJ['404'] # => Net::HTTPNotFound
+#
+# And you can retrieve the status code for a response object:
+#
+# Net::HTTP.get_response(uri).code # => "200"
+# Net::HTTP.get_response(hostname, '/nosuch').code # => "404"
+#
+# The response subclasses (indentation shows class hierarchy):
+#
+# - Net::HTTPUnknownResponse (for unhandled \HTTP extensions).
+#
+# - Net::HTTPInformation:
+#
+# - Net::HTTPContinue (100)
+# - Net::HTTPSwitchProtocol (101)
+# - Net::HTTPProcessing (102)
+# - Net::HTTPEarlyHints (103)
+#
+# - Net::HTTPSuccess:
+#
+# - Net::HTTPOK (200)
+# - Net::HTTPCreated (201)
+# - Net::HTTPAccepted (202)
+# - Net::HTTPNonAuthoritativeInformation (203)
+# - Net::HTTPNoContent (204)
+# - Net::HTTPResetContent (205)
+# - Net::HTTPPartialContent (206)
+# - Net::HTTPMultiStatus (207)
+# - Net::HTTPAlreadyReported (208)
+# - Net::HTTPIMUsed (226)
+#
+# - Net::HTTPRedirection:
+#
+# - Net::HTTPMultipleChoices (300)
+# - Net::HTTPMovedPermanently (301)
+# - Net::HTTPFound (302)
+# - Net::HTTPSeeOther (303)
+# - Net::HTTPNotModified (304)
+# - Net::HTTPUseProxy (305)
+# - Net::HTTPTemporaryRedirect (307)
+# - Net::HTTPPermanentRedirect (308)
+#
+# - Net::HTTPClientError:
+#
+# - Net::HTTPBadRequest (400)
+# - Net::HTTPUnauthorized (401)
+# - Net::HTTPPaymentRequired (402)
+# - Net::HTTPForbidden (403)
+# - Net::HTTPNotFound (404)
+# - Net::HTTPMethodNotAllowed (405)
+# - Net::HTTPNotAcceptable (406)
+# - Net::HTTPProxyAuthenticationRequired (407)
+# - Net::HTTPRequestTimeOut (408)
+# - Net::HTTPConflict (409)
+# - Net::HTTPGone (410)
+# - Net::HTTPLengthRequired (411)
+# - Net::HTTPPreconditionFailed (412)
+# - Net::HTTPRequestEntityTooLarge (413)
+# - Net::HTTPRequestURITooLong (414)
+# - Net::HTTPUnsupportedMediaType (415)
+# - Net::HTTPRequestedRangeNotSatisfiable (416)
+# - Net::HTTPExpectationFailed (417)
+# - Net::HTTPMisdirectedRequest (421)
+# - Net::HTTPUnprocessableEntity (422)
+# - Net::HTTPLocked (423)
+# - Net::HTTPFailedDependency (424)
+# - Net::HTTPUpgradeRequired (426)
+# - Net::HTTPPreconditionRequired (428)
+# - Net::HTTPTooManyRequests (429)
+# - Net::HTTPRequestHeaderFieldsTooLarge (431)
+# - Net::HTTPUnavailableForLegalReasons (451)
+#
+# - Net::HTTPServerError:
+#
+# - Net::HTTPInternalServerError (500)
+# - Net::HTTPNotImplemented (501)
+# - Net::HTTPBadGateway (502)
+# - Net::HTTPServiceUnavailable (503)
+# - Net::HTTPGatewayTimeOut (504)
+# - Net::HTTPVersionNotSupported (505)
+# - Net::HTTPVariantAlsoNegotiates (506)
+# - Net::HTTPInsufficientStorage (507)
+# - Net::HTTPLoopDetected (508)
+# - Net::HTTPNotExtended (510)
+# - Net::HTTPNetworkAuthenticationRequired (511)
+#
+# There is also the Net::HTTPBadResponse exception which is raised when
+# there is a protocol error.
+#
+# source://net-http//lib/net/http/response.rb#135
+class Net::HTTPResponse
+ include ::Net::HTTPHeader
+
+ # @return [HTTPResponse] a new instance of HTTPResponse
+ #
+ # source://net-http//lib/net/http/response.rb#194
+ def initialize(httpv, code, msg); end
+
+ # Returns the string response body;
+ # note that repeated calls for the unmodified body return a cached string:
+ #
+ # path = '/todos/1'
+ # Net::HTTP.start(hostname) do |http|
+ # res = http.get(path)
+ # p res.body
+ # p http.head(path).body # No body.
+ # end
+ #
+ # Output:
+ #
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false\n}"
+ # nil
+ #
+ # source://net-http//lib/net/http/response.rb#400
+ def body; end
+
+ # Sets the body of the response to the given value.
+ #
+ # source://net-http//lib/net/http/response.rb#405
+ def body=(value); end
+
+ # Returns the value set by body_encoding=, or +false+ if none;
+ # see #body_encoding=.
+ #
+ # source://net-http//lib/net/http/response.rb#229
+ def body_encoding; end
+
+ # Sets the encoding that should be used when reading the body:
+ #
+ # - If the given value is an Encoding object, that encoding will be used.
+ # - Otherwise if the value is a string, the value of
+ # {Encoding#find(value)}[https://docs.ruby-lang.org/en/master/Encoding.html#method-c-find]
+ # will be used.
+ # - Otherwise an encoding will be deduced from the body itself.
+ #
+ # Examples:
+ #
+ # http = Net::HTTP.new(hostname)
+ # req = Net::HTTP::Get.new('/')
+ #
+ # http.request(req) do |res|
+ # p res.body.encoding # => #
+ # end
+ #
+ # http.request(req) do |res|
+ # res.body_encoding = "UTF-8"
+ # p res.body.encoding # => #
+ # end
+ #
+ # source://net-http//lib/net/http/response.rb#253
+ def body_encoding=(value); end
+
+ # The HTTP result code string. For example, '302'. You can also
+ # determine the response type by examining which response subclass
+ # the response object is an instance of.
+ #
+ # source://net-http//lib/net/http/response.rb#213
+ def code; end
+
+ # response <-> exception relationship
+ #
+ # source://net-http//lib/net/http/response.rb#270
+ def code_type; end
+
+ # Set to true automatically when the request did not contain an
+ # Accept-Encoding header from the user.
+ #
+ # source://net-http//lib/net/http/response.rb#225
+ def decode_content; end
+
+ # Set to true automatically when the request did not contain an
+ # Accept-Encoding header from the user.
+ #
+ # source://net-http//lib/net/http/response.rb#225
+ def decode_content=(_arg0); end
+
+ # Returns the string response body;
+ # note that repeated calls for the unmodified body return a cached string:
+ #
+ # path = '/todos/1'
+ # Net::HTTP.start(hostname) do |http|
+ # res = http.get(path)
+ # p res.body
+ # p http.head(path).body # No body.
+ # end
+ #
+ # Output:
+ #
+ # "{\n \"userId\": 1,\n \"id\": 1,\n \"title\": \"delectus aut autem\",\n \"completed\": false\n}"
+ # nil
+ #
+ # source://net-http//lib/net/http/response.rb#400
+ def entity; end
+
+ # @raise [error_type()]
+ #
+ # source://net-http//lib/net/http/response.rb#274
+ def error!; end
+
+ # source://net-http//lib/net/http/response.rb#280
+ def error_type; end
+
+ # source://net-http//lib/net/http/response.rb#302
+ def header; end
+
+ # The HTTP version supported by the server.
+ #
+ # source://net-http//lib/net/http/response.rb#208
+ def http_version; end
+
+ # Whether to ignore EOF when reading bodies with a specified Content-Length
+ # header.
+ #
+ # source://net-http//lib/net/http/response.rb#260
+ def ignore_eof; end
+
+ # Whether to ignore EOF when reading bodies with a specified Content-Length
+ # header.
+ #
+ # source://net-http//lib/net/http/response.rb#260
+ def ignore_eof=(_arg0); end
+
+ # source://net-http//lib/net/http/response.rb#262
+ def inspect; end
+
+ # The HTTP result message sent by the server. For example, 'Not Found'.
+ #
+ # source://net-http//lib/net/http/response.rb#216
+ def message; end
+
+ # The HTTP result message sent by the server. For example, 'Not Found'.
+ #
+ # source://net-http//lib/net/http/response.rb#216
+ def msg; end
+
+ # Gets the entity body returned by the remote HTTP server.
+ #
+ # If a block is given, the body is passed to the block, and
+ # the body is provided in fragments, as it is read in from the socket.
+ #
+ # If +dest+ argument is given, response is read into that variable,
+ # with dest#<<
method (it could be String or IO, or any
+ # other object responding to <<
).
+ #
+ # Calling this method a second or subsequent time for the same
+ # HTTPResponse object will return the value already read.
+ #
+ # http.request_get('/index.html') {|res|
+ # puts res.read_body
+ # }
+ #
+ # http.request_get('/index.html') {|res|
+ # p res.read_body.object_id # 538149362
+ # p res.read_body.object_id # 538149362
+ # }
+ #
+ # # using iterator
+ # http.request_get('/index.html') {|res|
+ # res.read_body do |segment|
+ # print segment
+ # end
+ # }
+ #
+ # source://net-http//lib/net/http/response.rb#355
+ def read_body(dest = T.unsafe(nil), &block); end
+
+ # source://net-http//lib/net/http/response.rb#307
+ def read_header; end
+
+ # body
+ #
+ # source://net-http//lib/net/http/response.rb#316
+ def reading_body(sock, reqmethodallowbody); end
+
+ # header (for backward compatibility only; DO NOT USE)
+ #
+ # source://net-http//lib/net/http/response.rb#297
+ def response; end
+
+ # The URI used to fetch this response. The response URI is only available
+ # if a URI was used to create the request.
+ #
+ # source://net-http//lib/net/http/response.rb#221
+ def uri; end
+
+ # source://net-http//lib/net/http/response.rb#289
+ def uri=(uri); end
+
+ # Raises an HTTP error if the response is not 2xx (success).
+ #
+ # source://net-http//lib/net/http/response.rb#285
+ def value; end
+
+ private
+
+ # source://net-http//lib/net/http/response.rb#450
+ def check_bom(str); end
+
+ # source://net-http//lib/net/http/response.rb#414
+ def detect_encoding(str, encoding = T.unsafe(nil)); end
+
+ # source://net-http//lib/net/http/response.rb#540
+ def extracting_encodings_from_meta_elements(value); end
+
+ # source://net-http//lib/net/http/response.rb#505
+ def get_attribute(ss); end
+
+ # Checks for a supported Content-Encoding header and yields an Inflate
+ # wrapper for this response's socket when zlib is present. If the
+ # Content-Encoding is not supported or zlib is missing, the plain socket is
+ # yielded.
+ #
+ # If a Content-Range header is present, a plain socket is yielded as the
+ # bytes in the range may not be a complete deflate block.
+ #
+ # source://net-http//lib/net/http/response.rb#557
+ def inflater; end
+
+ # @raise [ArgumentError]
+ #
+ # source://net-http//lib/net/http/response.rb#646
+ def procdest(dest, block); end
+
+ # source://net-http//lib/net/http/response.rb#592
+ def read_body_0(dest); end
+
+ # read_chunked reads from +@socket+ for chunk-size, chunk-extension, CRLF,
+ # etc. and +chunk_data_io+ for chunk-data which may be deflate or gzip
+ # encoded.
+ #
+ # See RFC 2616 section 3.6.1 for definitions
+ #
+ # source://net-http//lib/net/http/response.rb#622
+ def read_chunked(dest, chunk_data_io); end
+
+ # source://net-http//lib/net/http/response.rb#464
+ def scanning_meta(str); end
+
+ # source://net-http//lib/net/http/response.rb#434
+ def sniff_encoding(str, encoding = T.unsafe(nil)); end
+
+ # @raise [IOError]
+ #
+ # source://net-http//lib/net/http/response.rb#642
+ def stream_check; end
+
+ class << self
+ # true if the response has a body.
+ #
+ # @return [Boolean]
+ #
+ # source://net-http//lib/net/http/response.rb#138
+ def body_permitted?; end
+
+ # source://net-http//lib/net/http/response.rb#142
+ def exception_type; end
+
+ # source://net-http//lib/net/http/response.rb#146
+ def read_new(sock); end
+
+ private
+
+ # @yield [key, value]
+ #
+ # source://net-http//lib/net/http/response.rb#170
+ def each_response_header(sock); end
+
+ # source://net-http//lib/net/http/response.rb#157
+ def read_status_line(sock); end
+
+ # source://net-http//lib/net/http/response.rb#164
+ def response_class(code); end
+ end
+end
+
+# Inflater is a wrapper around Net::BufferedIO that transparently inflates
+# zlib and gzip streams.
+#
+# source://net-http//lib/net/http/response.rb#660
+class Net::HTTPResponse::Inflater
+ # Creates a new Inflater wrapping +socket+
+ #
+ # @return [Inflater] a new instance of Inflater
+ #
+ # source://net-http//lib/net/http/response.rb#665
+ def initialize(socket); end
+
+ # The number of bytes inflated, used to update the Content-Length of
+ # the response.
+ #
+ # source://net-http//lib/net/http/response.rb#683
+ def bytes_inflated; end
+
+ # Finishes the inflate stream.
+ #
+ # source://net-http//lib/net/http/response.rb#674
+ def finish; end
+
+ # Returns a Net::ReadAdapter that inflates each read chunk into +dest+.
+ #
+ # This allows a large response body to be inflated without storing the
+ # entire body in memory.
+ #
+ # source://net-http//lib/net/http/response.rb#693
+ def inflate_adapter(dest); end
+
+ # Reads +clen+ bytes from the socket, inflates them, then writes them to
+ # +dest+. +ignore_eof+ is passed down to Net::BufferedIO#read
+ #
+ # Unlike Net::BufferedIO#read, this method returns more than +clen+ bytes.
+ # At this time there is no way for a user of Net::HTTPResponse to read a
+ # specific number of bytes from the HTTP response body, so this internal
+ # API does not return the same number of bytes as were requested.
+ #
+ # See https://bugs.ruby-lang.org/issues/6492 for further discussion.
+ #
+ # source://net-http//lib/net/http/response.rb#720
+ def read(clen, dest, ignore_eof = T.unsafe(nil)); end
+
+ # Reads the rest of the socket, inflates it, then writes it to +dest+.
+ #
+ # source://net-http//lib/net/http/response.rb#729
+ def read_all(dest); end
+end
+
+# source://net-http//lib/net/http/backward.rb#26
+Net::HTTPResponseReceiver = Net::HTTPResponse
+
+# source://net-http//lib/net/http/backward.rb#22
+Net::HTTPRetriableCode = Net::HTTPRedirection
+
+# source://net-http//lib/net/http/responses.rb#81
+Net::HTTPServerError::EXCEPTION_TYPE = Net::HTTPFatalError
+
+# source://net-http//lib/net/http/backward.rb#25
+Net::HTTPServerErrorCode = Net::HTTPServerError
+
+# source://net-http//lib/net/http/backward.rb#17
+Net::HTTPSession = Net::HTTP
+
+# source://net-http//lib/net/http/responses.rb#38
+Net::HTTPSuccess::EXCEPTION_TYPE = Net::HTTPError
+
+# source://net-http//lib/net/http/backward.rb#20
+Net::HTTPSuccessCode = Net::HTTPSuccess
+
+# Response class for URI Too Long responses (status code 414).
+#
+# The URI provided was too long for the server to process.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/414].
+# - {RFC 9110}[https://www.rfc-editor.org/rfc/rfc9110.html#name-414-uri-too-long].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#414].
+#
+# source://net-http//lib/net/http/responses.rb#705
+class Net::HTTPURITooLong < ::Net::HTTPClientError; end
+
+# source://net-http//lib/net/http/responses.rb#706
+Net::HTTPURITooLong::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# source://net-http//lib/net/http/responses.rb#9
+Net::HTTPUnknownResponse::EXCEPTION_TYPE = Net::HTTPError
+
+# Response class for Variant Also Negotiates responses (status code 506).
+#
+# Transparent content negotiation for the request results in a circular reference.
+#
+# :include: doc/net-http/included_getters.rdoc
+#
+# References:
+#
+# - {Mozilla}[https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/506].
+# - {RFC 2295}[https://www.rfc-editor.org/rfc/rfc2295#section-8.1].
+# - {Wikipedia}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#506].
+#
+# source://net-http//lib/net/http/responses.rb#1029
+class Net::HTTPVariantAlsoNegotiates < ::Net::HTTPServerError; end
+
+# source://net-http//lib/net/http/responses.rb#1030
+Net::HTTPVariantAlsoNegotiates::HAS_BODY = T.let(T.unsafe(nil), TrueClass)
+
+# source://net-http//lib/net/http/backward.rb#12
+Net::NetPrivate::HTTPRequest = Net::HTTPRequest
diff --git a/sorbet/rbi/gems/netrc@0.11.0.rbi b/sorbet/rbi/gems/netrc@0.11.0.rbi
new file mode 100644
index 00000000..062a5577
--- /dev/null
+++ b/sorbet/rbi/gems/netrc@0.11.0.rbi
@@ -0,0 +1,158 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `netrc` gem.
+# Please instead update this file by running `bin/tapioca gem netrc`.
+
+# source://netrc//lib/netrc.rb#3
+class Netrc
+ # @return [Netrc] a new instance of Netrc
+ #
+ # source://netrc//lib/netrc.rb#166
+ def initialize(path, data); end
+
+ # source://netrc//lib/netrc.rb#180
+ def [](k); end
+
+ # source://netrc//lib/netrc.rb#188
+ def []=(k, info); end
+
+ # source://netrc//lib/netrc.rb#200
+ def delete(key); end
+
+ # source://netrc//lib/netrc.rb#211
+ def each(&block); end
+
+ # source://netrc//lib/netrc.rb#196
+ def length; end
+
+ # source://netrc//lib/netrc.rb#215
+ def new_item(m, l, p); end
+
+ # Returns the value of attribute new_item_prefix.
+ #
+ # source://netrc//lib/netrc.rb#178
+ def new_item_prefix; end
+
+ # Sets the attribute new_item_prefix
+ #
+ # @param value the value to set the attribute new_item_prefix to.
+ #
+ # source://netrc//lib/netrc.rb#178
+ def new_item_prefix=(_arg0); end
+
+ # source://netrc//lib/netrc.rb#219
+ def save; end
+
+ # source://netrc//lib/netrc.rb#233
+ def unparse; end
+
+ class << self
+ # source://netrc//lib/netrc.rb#42
+ def check_permissions(path); end
+
+ # source://netrc//lib/netrc.rb#33
+ def config; end
+
+ # @yield [self.config]
+ #
+ # source://netrc//lib/netrc.rb#37
+ def configure; end
+
+ # source://netrc//lib/netrc.rb#10
+ def default_path; end
+
+ # source://netrc//lib/netrc.rb#14
+ def home_path; end
+
+ # source://netrc//lib/netrc.rb#85
+ def lex(lines); end
+
+ # source://netrc//lib/netrc.rb#29
+ def netrc_filename; end
+
+ # Returns two values, a header and a list of items.
+ # Each item is a tuple, containing some or all of:
+ # - machine keyword (including trailing whitespace+comments)
+ # - machine name
+ # - login keyword (including surrounding whitespace+comments)
+ # - login
+ # - password keyword (including surrounding whitespace+comments)
+ # - password
+ # - trailing chars
+ # This lets us change individual fields, then write out the file
+ # with all its original formatting.
+ #
+ # source://netrc//lib/netrc.rb#129
+ def parse(ts); end
+
+ # Reads path and parses it as a .netrc file. If path doesn't
+ # exist, returns an empty object. Decrypt paths ending in .gpg.
+ #
+ # source://netrc//lib/netrc.rb#51
+ def read(path = T.unsafe(nil)); end
+
+ # @return [Boolean]
+ #
+ # source://netrc//lib/netrc.rb#112
+ def skip?(s); end
+ end
+end
+
+# source://netrc//lib/netrc.rb#8
+Netrc::CYGWIN = T.let(T.unsafe(nil), T.untyped)
+
+# source://netrc//lib/netrc.rb#244
+class Netrc::Entry < ::Struct
+ # Returns the value of attribute login
+ #
+ # @return [Object] the current value of login
+ def login; end
+
+ # Sets the attribute login
+ #
+ # @param value [Object] the value to set the attribute login to.
+ # @return [Object] the newly set value
+ def login=(_); end
+
+ # Returns the value of attribute password
+ #
+ # @return [Object] the current value of password
+ def password; end
+
+ # Sets the attribute password
+ #
+ # @param value [Object] the value to set the attribute password to.
+ # @return [Object] the newly set value
+ def password=(_); end
+
+ def to_ary; end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# source://netrc//lib/netrc.rb#250
+class Netrc::Error < ::StandardError; end
+
+# source://netrc//lib/netrc.rb#68
+class Netrc::TokenArray < ::Array
+ # source://netrc//lib/netrc.rb#76
+ def readto; end
+
+ # source://netrc//lib/netrc.rb#69
+ def take; end
+end
+
+# source://netrc//lib/netrc.rb#4
+Netrc::VERSION = T.let(T.unsafe(nil), String)
+
+# see http://stackoverflow.com/questions/4871309/what-is-the-correct-way-to-detect-if-ruby-is-running-on-windows
+#
+# source://netrc//lib/netrc.rb#7
+Netrc::WINDOWS = T.let(T.unsafe(nil), T.untyped)
diff --git a/sorbet/rbi/gems/nori@2.6.0.rbi b/sorbet/rbi/gems/nori@2.6.0.rbi
new file mode 100644
index 00000000..d550bc3e
--- /dev/null
+++ b/sorbet/rbi/gems/nori@2.6.0.rbi
@@ -0,0 +1,333 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `nori` gem.
+# Please instead update this file by running `bin/tapioca gem nori`.
+
+class Hash
+ include ::Enumerable
+ include ::Nori::CoreExt::Hash
+end
+
+# source://nori//lib/nori/version.rb#1
+class Nori
+ # @return [Nori] a new instance of Nori
+ #
+ # source://nori//lib/nori.rb#16
+ def initialize(options = T.unsafe(nil)); end
+
+ # source://nori//lib/nori.rb#32
+ def find(hash, *path); end
+
+ # source://nori//lib/nori.rb#42
+ def parse(xml); end
+
+ private
+
+ # Expects a +block+ which receives a tag to convert.
+ # Accepts +nil+ for a reset to the default behavior of not converting tags.
+ #
+ # source://nori//lib/nori.rb#58
+ def convert_tags_to(reset = T.unsafe(nil), &block); end
+
+ # source://nori//lib/nori.rb#71
+ def find_value(hash, key); end
+
+ # source://nori//lib/nori.rb#51
+ def load_parser(parser); end
+
+ # source://nori//lib/nori.rb#62
+ def validate_options!(available_options, options); end
+
+ class << self
+ # source://nori//lib/nori.rb#7
+ def hash_key(name, options = T.unsafe(nil)); end
+ end
+end
+
+# source://nori//lib/nori/core_ext/object.rb#2
+module Nori::CoreExt; end
+
+# source://nori//lib/nori/core_ext/hash.rb#5
+module Nori::CoreExt::Hash
+ # @example normalize_param(:name, "Bob Jones") #=> "name=Bob%20Jones"
+ # @param key [Object] The key for the param.
+ # @param value [Object] The value for the param.
+ # @return [String] This key value pair as a param
+ #
+ # source://nori//lib/nori/core_ext/hash.rb#13
+ def normalize_param(key, value); end
+
+ # @example
+ # { :one => 1, "two"=>"TWO" }.to_xml_attributes
+ # #=> 'one="1" two="TWO"'
+ # @return [String] The hash as attributes for an XML tag.
+ #
+ # source://nori//lib/nori/core_ext/hash.rb#28
+ def to_xml_attributes; end
+
+ private
+
+ # source://nori//lib/nori/core_ext/hash.rb#52
+ def encode_simple_value(value); end
+
+ # source://nori//lib/nori/core_ext/hash.rb#40
+ def normalize_array_params(key, array); end
+
+ # source://nori//lib/nori/core_ext/hash.rb#46
+ def normalize_hash_params(key, hash); end
+
+ # source://nori//lib/nori/core_ext/hash.rb#36
+ def normalize_simple_type_params(key, value); end
+end
+
+# source://nori//lib/nori/core_ext/object.rb#3
+module Nori::CoreExt::Object
+ # @return [Boolean]
+ #
+ # source://nori//lib/nori/core_ext/object.rb#5
+ def blank?; end
+end
+
+# source://nori//lib/nori/core_ext/string.rb#3
+module Nori::CoreExt::String
+ # Returns the String in snake_case.
+ #
+ # source://nori//lib/nori/core_ext/string.rb#6
+ def snakecase; end
+end
+
+# source://nori//lib/nori.rb#14
+Nori::PARSERS = T.let(T.unsafe(nil), Hash)
+
+# source://nori//lib/nori/string_io_file.rb#2
+class Nori::StringIOFile < ::StringIO
+ # Returns the value of attribute content_type.
+ #
+ # source://nori//lib/nori/string_io_file.rb#4
+ def content_type; end
+
+ # Sets the attribute content_type
+ #
+ # @param value the value to set the attribute content_type to.
+ #
+ # source://nori//lib/nori/string_io_file.rb#4
+ def content_type=(_arg0); end
+
+ # Returns the value of attribute original_filename.
+ #
+ # source://nori//lib/nori/string_io_file.rb#4
+ def original_filename; end
+
+ # Sets the attribute original_filename
+ #
+ # @param value the value to set the attribute original_filename to.
+ #
+ # source://nori//lib/nori/string_io_file.rb#4
+ def original_filename=(_arg0); end
+end
+
+# source://nori//lib/nori/string_with_attributes.rb#2
+class Nori::StringWithAttributes < ::String
+ # Returns the value of attribute attributes.
+ #
+ # source://nori//lib/nori/string_with_attributes.rb#4
+ def attributes; end
+
+ # Sets the attribute attributes
+ #
+ # @param value the value to set the attribute attributes to.
+ #
+ # source://nori//lib/nori/string_with_attributes.rb#4
+ def attributes=(_arg0); end
+end
+
+# source://nori//lib/nori/version.rb#2
+Nori::VERSION = T.let(T.unsafe(nil), String)
+
+# This is a slighly modified version of the XMLUtilityNode from
+# http://merb.devjavu.com/projects/merb/ticket/95 (has.sox@gmail.com)
+#
+# John Nunemaker:
+# It's mainly just adding vowels, as I ht cd wth n vwls :)
+# This represents the hard part of the work, all I did was change the
+# underlying parser.
+#
+# source://nori//lib/nori/xml_utility_node.rb#18
+class Nori::XMLUtilityNode
+ # @return [XMLUtilityNode] a new instance of XMLUtilityNode
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#86
+ def initialize(options, name, attributes = T.unsafe(nil)); end
+
+ # source://nori//lib/nori/xml_utility_node.rb#125
+ def add_node(node); end
+
+ # source://nori//lib/nori/xml_utility_node.rb#214
+ def advanced_typecasting(value); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def attributes; end
+
+ # Sets the attribute attributes
+ #
+ # @param value the value to set the attribute attributes to.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def attributes=(_arg0); end
+
+ # Returns the value of attribute children.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def children; end
+
+ # Sets the attribute children
+ #
+ # @param value the value to set the attribute children to.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def children=(_arg0); end
+
+ # Get the inner_html of the REXML node.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#237
+ def inner_html; end
+
+ # Returns the value of attribute name.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def name; end
+
+ # Sets the attribute name
+ #
+ # @param value the value to set the attribute name to.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def name=(_arg0); end
+
+ # source://nori//lib/nori/xml_utility_node.rb#120
+ def prefixed_attribute_name(attribute); end
+
+ # source://nori//lib/nori/xml_utility_node.rb#113
+ def prefixed_attributes; end
+
+ # source://nori//lib/nori/xml_utility_node.rb#130
+ def to_hash; end
+
+ # Converts the node into a readable HTML node.
+ #
+ # @return [String] The HTML node in text form.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#244
+ def to_html; end
+
+ # Converts the node into a readable HTML node.
+ #
+ # @return [String] The HTML node in text form.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#244
+ def to_s; end
+
+ # Returns the value of attribute type.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def type; end
+
+ # Sets the attribute type
+ #
+ # @param value the value to set the attribute type to.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#111
+ def type=(_arg0); end
+
+ # Typecasts a value based upon its type. For instance, if
+ # +node+ has #type == "integer",
+ # {{[node.typecast_value("12") #=> 12]}}
+ #
+ # @note If +self+ does not have a "type" key, or if it's not one of the
+ # options specified above, the raw +value+ will be returned.
+ # @param value [String] The value that is being typecast.
+ # @return [Integer, TrueClass, FalseClass, Time, Date, Object] The result of typecasting +value+.
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#208
+ def typecast_value(value); end
+
+ # Take keys of the form foo-bar and convert them to foo_bar
+ #
+ # source://nori//lib/nori/xml_utility_node.rb#229
+ def undasherize_keys(params); end
+
+ private
+
+ # source://nori//lib/nori/xml_utility_node.rb#257
+ def strip_namespace(string); end
+
+ # source://nori//lib/nori/xml_utility_node.rb#251
+ def try_to_convert(value, &block); end
+
+ class << self
+ # source://nori//lib/nori/xml_utility_node.rb#64
+ def available_typecasts; end
+
+ # source://nori//lib/nori/xml_utility_node.rb#68
+ def available_typecasts=(obj); end
+
+ # source://nori//lib/nori/xml_utility_node.rb#56
+ def typecasts; end
+
+ # source://nori//lib/nori/xml_utility_node.rb#60
+ def typecasts=(obj); end
+ end
+end
+
+# Simple xs:date Regexp.
+# Valid xs:date formats
+# 2004-04-12 April 12, 2004
+# -0045-01-01 January 1, 45 BC
+# 12004-04-12 April 12, 12004
+# 2004-04-12-05:00 April 12, 2004, US Eastern Standard Time, which is 5 hours behind Coordinated Universal Time (UTC)
+# 2004-04-12+02:00 April 12, 2004, Central European Summer Time, which is 2 hours ahead of Coordinated Universal Time (UTC)
+# 2004-04-12Z April 12, 2004, Coordinated Universal Time (UTC)
+#
+# source://nori//lib/nori/xml_utility_node.rb#42
+Nori::XMLUtilityNode::XS_DATE = T.let(T.unsafe(nil), Regexp)
+
+# Simple xs:dateTime Regexp.
+# Valid xs:dateTime formats
+# 2004-04-12T13:20:00 1:20 pm on April 12, 2004
+# 2004-04-12T13:20:15.5 1:20 pm and 15.5 seconds on April 12, 2004
+# 2004-04-12T13:20:00-05:00 1:20 pm on April 12, 2004, US Eastern Standard Time
+# 2004-04-12T13:20:00+02:00 1:20 pm on April 12, 2004, Central European Summer Time
+# 2004-04-12T13:20:15.5-05:00 1:20 pm and 15.5 seconds on April 12, 2004, US Eastern Standard Time
+# 2004-04-12T13:20:00Z 1:20 pm on April 12, 2004, Coordinated Universal Time (UTC)
+# 2004-04-12T13:20:15.5Z 1:20 pm and 15.5 seconds on April 12, 2004, Coordinated Universal Time (UTC)
+#
+# source://nori//lib/nori/xml_utility_node.rb#54
+Nori::XMLUtilityNode::XS_DATE_TIME = T.let(T.unsafe(nil), Regexp)
+
+# Simple xs:time Regexp.
+# Valid xs:time formats
+# 13:20:00 1:20 PM
+# 13:20:30.5555 1:20 PM and 30.5555 seconds
+# 13:20:00-05:00 1:20 PM, US Eastern Standard Time
+# 13:20:00+02:00 1:20 PM, Central European Standard Time
+# 13:20:00Z 1:20 PM, Coordinated Universal Time (UTC)
+# 13:20:30.5555Z 1:20 PM and 30.5555 seconds, Coordinated Universal Time (UTC)
+# 00:00:00 midnight
+# 24:00:00 midnight
+#
+# source://nori//lib/nori/xml_utility_node.rb#31
+Nori::XMLUtilityNode::XS_TIME = T.let(T.unsafe(nil), Regexp)
+
+class Object < ::BasicObject
+ include ::Kernel
+ include ::PP::ObjectMixin
+ include ::Nori::CoreExt::Object
+end
+
+class String
+ include ::Comparable
+ include ::Nori::CoreExt::String
+end
diff --git a/sorbet/rbi/gems/oauth2@1.4.11.rbi b/sorbet/rbi/gems/oauth2@1.4.11.rbi
new file mode 100644
index 00000000..3bd9d739
--- /dev/null
+++ b/sorbet/rbi/gems/oauth2@1.4.11.rbi
@@ -0,0 +1,832 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `oauth2` gem.
+# Please instead update this file by running `bin/tapioca gem oauth2`.
+
+# source://oauth2//lib/oauth2/error.rb#3
+module OAuth2; end
+
+# source://oauth2//lib/oauth2/access_token.rb#4
+class OAuth2::AccessToken
+ # Initalize an AccessToken
+ #
+ # @option opts
+ # @option opts
+ # @option opts
+ # @option opts
+ # @option opts
+ # @option opts
+ # @param client [Client] the OAuth2::Client instance
+ # @param token [String] the Access Token value
+ # @param opts [Hash] the options to create the Access Token with
+ # @return [AccessToken] a new instance of AccessToken
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#43
+ def initialize(client, token, opts = T.unsafe(nil)); end
+
+ # Indexer to additional params present in token response
+ #
+ # @param key [String] entry key to Hash
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#63
+ def [](key); end
+
+ # Returns the value of attribute client.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#5
+ def client; end
+
+ # Make a DELETE request with the Access Token
+ #
+ # @see AccessToken#request
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#145
+ def delete(path, opts = T.unsafe(nil), &block); end
+
+ # Whether or not the token is expired
+ #
+ # @return [Boolean]
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#77
+ def expired?; end
+
+ # Whether or not the token expires
+ #
+ # @return [Boolean]
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#70
+ def expires?; end
+
+ # Returns the value of attribute expires_at.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#5
+ def expires_at; end
+
+ # Returns the value of attribute expires_in.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#5
+ def expires_in; end
+
+ # Make a GET request with the Access Token
+ #
+ # @see AccessToken#request
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#117
+ def get(path, opts = T.unsafe(nil), &block); end
+
+ # Get the headers hash (includes Authorization token)
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#150
+ def headers; end
+
+ # Returns the value of attribute options.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#6
+ def options; end
+
+ # Sets the attribute options
+ #
+ # @param value the value to set the attribute options to.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#6
+ def options=(_arg0); end
+
+ # Returns the value of attribute params.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#5
+ def params; end
+
+ # Make a PATCH request with the Access Token
+ #
+ # @see AccessToken#request
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#138
+ def patch(path, opts = T.unsafe(nil), &block); end
+
+ # Make a POST request with the Access Token
+ #
+ # @see AccessToken#request
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#124
+ def post(path, opts = T.unsafe(nil), &block); end
+
+ # Make a PUT request with the Access Token
+ #
+ # @see AccessToken#request
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#131
+ def put(path, opts = T.unsafe(nil), &block); end
+
+ # Refreshes the current Access Token
+ #
+ # @note options should be carried over to the new AccessToken
+ # @return [AccessToken] a new AccessToken
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#85
+ def refresh!(params = T.unsafe(nil)); end
+
+ # Returns the value of attribute refresh_token.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#6
+ def refresh_token; end
+
+ # Sets the attribute refresh_token
+ #
+ # @param value the value to set the attribute refresh_token to.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#6
+ def refresh_token=(_arg0); end
+
+ # Make a request with the Access Token
+ #
+ # @param verb [Symbol] the HTTP request method
+ # @param path [String] the HTTP URL path of the request
+ # @param opts [Hash] the options to make the request with
+ # @see Client#request
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#109
+ def request(verb, path, opts = T.unsafe(nil), &block); end
+
+ # Convert AccessToken to a hash which can be used to rebuild itself with AccessToken.from_hash
+ #
+ # @return [Hash] a hash of AccessToken property values
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#99
+ def to_hash; end
+
+ # Returns the value of attribute token.
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#5
+ def token; end
+
+ private
+
+ # source://oauth2//lib/oauth2/access_token.rb#156
+ def configure_authentication!(opts); end
+
+ # source://oauth2//lib/oauth2/access_token.rb#177
+ def convert_expires_at(expires_at); end
+
+ class << self
+ # Initializes an AccessToken from a Hash
+ #
+ # @param the [Client] OAuth2::Client instance
+ # @param a [Hash] hash of AccessToken property values
+ # @return [AccessToken] the initalized AccessToken
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#15
+ def from_hash(client, hash); end
+
+ # Initializes an AccessToken from a key/value application/x-www-form-urlencoded string
+ #
+ # @param client [Client] the OAuth2::Client instance
+ # @param kvform [String] the application/x-www-form-urlencoded string
+ # @return [AccessToken] the initalized AccessToken
+ #
+ # source://oauth2//lib/oauth2/access_token.rb#25
+ def from_kvform(client, kvform); end
+ end
+end
+
+# source://oauth2//lib/oauth2/authenticator.rb#6
+class OAuth2::Authenticator
+ # @return [Authenticator] a new instance of Authenticator
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#9
+ def initialize(id, secret, mode); end
+
+ # Apply the request credentials used to authenticate to the Authorization Server
+ #
+ # Depending on configuration, this might be as request params or as an
+ # Authorization header.
+ #
+ # User-provided params and header take precedence.
+ #
+ # @param params [Hash] a Hash of params for the token endpoint
+ # @return [Hash] params amended with appropriate authentication details
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#24
+ def apply(params); end
+
+ # Returns the value of attribute id.
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#7
+ def id; end
+
+ # Returns the value of attribute mode.
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#7
+ def mode; end
+
+ # Returns the value of attribute secret.
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#7
+ def secret; end
+
+ private
+
+ # Adds an `Authorization` header with Basic Auth credentials if and only if
+ # it is not already set in the params.
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#59
+ def apply_basic_auth(params); end
+
+ # When using schemes that don't require the client_secret to be passed i.e TLS Client Auth,
+ # we don't want to send the secret
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#53
+ def apply_client_id(params); end
+
+ # Adds client_id and client_secret request parameters if they are not
+ # already set.
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#47
+ def apply_params_auth(params); end
+
+ # @see https://datatracker.ietf.org/doc/html/rfc2617#section-2
+ #
+ # source://oauth2//lib/oauth2/authenticator.rb#66
+ def basic_auth_header; end
+
+ class << self
+ # source://oauth2//lib/oauth2/authenticator.rb#39
+ def encode_basic_auth(user, password); end
+ end
+end
+
+# The OAuth2::Client class
+#
+# source://oauth2//lib/oauth2/client.rb#9
+class OAuth2::Client
+ # Instantiate a new OAuth 2.0 client using the
+ # Client ID and Client Secret registered to your
+ # application.
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param client_id [String] the client_id value
+ # @param client_secret [String] the client_secret value
+ # @param options [Hash] the options to create the client with
+ # @return [Client] a new instance of Client
+ # @yield [builder] The Faraday connection builder
+ #
+ # source://oauth2//lib/oauth2/client.rb#35
+ def initialize(client_id, client_secret, options = T.unsafe(nil), &block); end
+
+ # source://oauth2//lib/oauth2/client.rb#228
+ def assertion; end
+
+ # The Authorization Code strategy
+ #
+ # @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-15#section-4.1
+ #
+ # source://oauth2//lib/oauth2/client.rb#203
+ def auth_code; end
+
+ # The authorize endpoint URL of the OAuth2 provider
+ #
+ # @param params [Hash] additional query parameters
+ #
+ # source://oauth2//lib/oauth2/client.rb#79
+ def authorize_url(params = T.unsafe(nil)); end
+
+ # The Client Credentials strategy
+ #
+ # @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-15#section-4.4
+ #
+ # source://oauth2//lib/oauth2/client.rb#224
+ def client_credentials; end
+
+ # The Faraday connection object
+ #
+ # source://oauth2//lib/oauth2/client.rb#63
+ def connection; end
+
+ # Sets the attribute connection
+ #
+ # @param value the value to set the attribute connection to.
+ #
+ # source://oauth2//lib/oauth2/client.rb#14
+ def connection=(_arg0); end
+
+ # Initializes an AccessToken by making a request to the token endpoint
+ #
+ # @param params [Hash] a Hash of params for the token endpoint
+ # @param access_token_opts [Hash] access token options, to pass to the AccessToken object
+ # @param access_token_class [Class] class of access token for easier subclassing OAuth2::AccessToken
+ # @return [AccessToken] the initialized AccessToken
+ #
+ # source://oauth2//lib/oauth2/client.rb#155
+ def get_token(params, access_token_opts = T.unsafe(nil), extract_access_token = T.unsafe(nil)); end
+
+ # Returns the value of attribute id.
+ #
+ # source://oauth2//lib/oauth2/client.rb#12
+ def id; end
+
+ # The Implicit strategy
+ #
+ # @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-26#section-4.2
+ #
+ # source://oauth2//lib/oauth2/client.rb#210
+ def implicit; end
+
+ # Returns the value of attribute options.
+ #
+ # source://oauth2//lib/oauth2/client.rb#13
+ def options; end
+
+ # Sets the attribute options
+ #
+ # @param value the value to set the attribute options to.
+ #
+ # source://oauth2//lib/oauth2/client.rb#13
+ def options=(_arg0); end
+
+ # The Resource Owner Password Credentials strategy
+ #
+ # @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-15#section-4.3
+ #
+ # source://oauth2//lib/oauth2/client.rb#217
+ def password; end
+
+ # The redirect_uri parameters, if configured
+ #
+ # The redirect_uri query parameter is OPTIONAL (though encouraged) when
+ # requesting authorization. If it is provided at authorization time it MUST
+ # also be provided with the token exchange request.
+ #
+ # Providing the :redirect_uri to the OAuth2::Client instantiation will take
+ # care of managing this.
+ #
+ # @api semipublic
+ # @return [Hash] the params to add to a request or URL
+ # @see https://datatracker.ietf.org/doc/html/rfc6749#section-4.1
+ # @see https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3
+ # @see https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.1
+ # @see https://datatracker.ietf.org/doc/html/rfc6749#section-10.6
+ #
+ # source://oauth2//lib/oauth2/client.rb#248
+ def redirection_params; end
+
+ # Makes a request relative to the specified site root.
+ #
+ # @option opts
+ # @option opts
+ # @option opts
+ # @option opts
+ # @option opts
+ # @param verb [Symbol] one of :get, :post, :put, :delete
+ # @param url [String] URL path of request
+ # @param opts [Hash] the options to make the request with
+ # @yield [req] The Faraday request
+ #
+ # source://oauth2//lib/oauth2/client.rb#103
+ def request(verb, url, opts = T.unsafe(nil)); end
+
+ # Returns the value of attribute secret.
+ #
+ # source://oauth2//lib/oauth2/client.rb#12
+ def secret; end
+
+ # Returns the value of attribute site.
+ #
+ # source://oauth2//lib/oauth2/client.rb#12
+ def site; end
+
+ # Set the site host
+ #
+ # @param value [String] the OAuth2 provider site host
+ #
+ # source://oauth2//lib/oauth2/client.rb#57
+ def site=(value); end
+
+ # The token endpoint URL of the OAuth2 provider
+ #
+ # @param params [Hash] additional query parameters
+ #
+ # source://oauth2//lib/oauth2/client.rb#87
+ def token_url(params = T.unsafe(nil)); end
+
+ private
+
+ # Returns the authenticator object
+ #
+ # @return [Authenticator] the initialized Authenticator
+ #
+ # source://oauth2//lib/oauth2/client.rb#266
+ def authenticator; end
+
+ # Builds the access token from the response of the HTTP call
+ #
+ # @return [AccessToken] the initialized AccessToken
+ #
+ # source://oauth2//lib/oauth2/client.rb#273
+ def build_access_token(response, access_token_opts, extract_access_token); end
+
+ # source://oauth2//lib/oauth2/client.rb#288
+ def oauth_debug_logging(builder); end
+end
+
+# source://oauth2//lib/oauth2/client.rb#256
+OAuth2::Client::DEFAULT_EXTRACT_ACCESS_TOKEN = T.let(T.unsafe(nil), Proc)
+
+# source://oauth2//lib/oauth2/client.rb#10
+OAuth2::Client::RESERVED_PARAM_KEYS = T.let(T.unsafe(nil), Array)
+
+# source://oauth2//lib/oauth2/client.rb#7
+class OAuth2::ConnectionError < ::Faraday::ConnectionFailed; end
+
+# source://oauth2//lib/oauth2/error.rb#4
+class OAuth2::Error < ::StandardError
+ # standard error values include:
+ # :invalid_request, :invalid_client, :invalid_token, :invalid_grant, :unsupported_grant_type, :invalid_scope
+ #
+ # @return [Error] a new instance of Error
+ #
+ # source://oauth2//lib/oauth2/error.rb#9
+ def initialize(response); end
+
+ # Returns the value of attribute code.
+ #
+ # source://oauth2//lib/oauth2/error.rb#5
+ def code; end
+
+ # Returns the value of attribute description.
+ #
+ # source://oauth2//lib/oauth2/error.rb#5
+ def description; end
+
+ # Makes a error message
+ #
+ # @param response_body [String] response body of request
+ # @param opts [String] :error_description error description to show first line
+ #
+ # source://oauth2//lib/oauth2/error.rb#25
+ def error_message(response_body, opts = T.unsafe(nil)); end
+
+ # Returns the value of attribute response.
+ #
+ # source://oauth2//lib/oauth2/error.rb#5
+ def response; end
+end
+
+# source://oauth2//lib/oauth2/mac_token.rb#9
+class OAuth2::MACToken < ::OAuth2::AccessToken
+ # Initalize a MACToken
+ #
+ # @option [String]
+ # @option opts
+ # @option opts
+ # @option opts
+ # @option opts
+ # @param client [Client] the OAuth2::Client instance
+ # @param token [String] the Access Token value
+ # @param opts [Hash] the options to create the Access Token with
+ # @param [String] [Hash] a customizable set of options
+ # @return [MACToken] a new instance of MACToken
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#32
+ def initialize(client, token, secret, opts = T.unsafe(nil)); end
+
+ # Returns the value of attribute algorithm.
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#20
+ def algorithm; end
+
+ # Set the HMAC algorithm
+ #
+ # @param alg [String] the algorithm to use (one of 'hmac-sha-1', 'hmac-sha-256')
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#99
+ def algorithm=(alg); end
+
+ # Generate the MAC header
+ #
+ # @param verb [Symbol] the HTTP request method
+ # @param url [String] the HTTP URL path of the request
+ # @raise [ArgumentError]
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#63
+ def header(verb, url); end
+
+ # Get the headers hash (always an empty hash)
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#55
+ def headers; end
+
+ # Make a request with the MAC Token
+ #
+ # @param verb [Symbol] the HTTP request method
+ # @param path [String] the HTTP URL path of the request
+ # @param opts [Hash] the options to make the request with
+ # @see Client#request
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#45
+ def request(verb, path, opts = T.unsafe(nil), &block); end
+
+ # Returns the value of attribute secret.
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#20
+ def secret; end
+
+ # Generate the Base64-encoded HMAC digest signature
+ #
+ # @param timestamp [Fixnum] the timestamp of the request in seconds since epoch
+ # @param nonce [String] the MAC header nonce
+ # @param verb [Symbol] the HTTP request method
+ # @param url [String] the HTTP URL path of the request
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#82
+ def signature(timestamp, nonce, verb, uri); end
+
+ private
+
+ # Base64.strict_encode64 is not available on Ruby 1.8.7
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#126
+ def strict_encode64(str); end
+
+ # No-op since we need the verb and path
+ # and the MAC always goes in a header
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#122
+ def token=(_noop); end
+
+ class << self
+ # Generates a MACToken from an AccessToken and secret
+ #
+ # @option [String]
+ # @param token [AccessToken] the OAuth2::Token instance
+ # @param opts [Hash] the options to create the Access Token with
+ # @param [String] [Hash] a customizable set of options
+ # @see MACToken#initialize
+ #
+ # source://oauth2//lib/oauth2/mac_token.rb#16
+ def from_access_token(token, secret, options = T.unsafe(nil)); end
+ end
+end
+
+# OAuth2::Response class
+#
+# source://oauth2//lib/oauth2/response.rb#9
+class OAuth2::Response
+ # Initializes a Response instance
+ #
+ # @option opts
+ # @param response [Faraday::Response] The Faraday response instance
+ # @param opts [Hash] options in which to initialize the instance
+ # @return [Response] a new instance of Response
+ #
+ # source://oauth2//lib/oauth2/response.rb#48
+ def initialize(response, opts = T.unsafe(nil)); end
+
+ # The HTTP response body
+ #
+ # source://oauth2//lib/oauth2/response.rb#64
+ def body; end
+
+ # Attempts to determine the content type of the response.
+ #
+ # source://oauth2//lib/oauth2/response.rb#78
+ def content_type; end
+
+ # Returns the value of attribute error.
+ #
+ # source://oauth2//lib/oauth2/response.rb#11
+ def error; end
+
+ # Sets the attribute error
+ #
+ # @param value the value to set the attribute error to.
+ #
+ # source://oauth2//lib/oauth2/response.rb#11
+ def error=(_arg0); end
+
+ # The HTTP response headers
+ #
+ # source://oauth2//lib/oauth2/response.rb#54
+ def headers; end
+
+ # Returns the value of attribute options.
+ #
+ # source://oauth2//lib/oauth2/response.rb#11
+ def options; end
+
+ # Sets the attribute options
+ #
+ # @param value the value to set the attribute options to.
+ #
+ # source://oauth2//lib/oauth2/response.rb#11
+ def options=(_arg0); end
+
+ # The parsed response body.
+ # Will attempt to parse application/x-www-form-urlencoded and
+ # application/json Content-Type response bodies
+ #
+ # source://oauth2//lib/oauth2/response.rb#71
+ def parsed; end
+
+ # Determines the parser that will be used to supply the content of #parsed
+ #
+ # source://oauth2//lib/oauth2/response.rb#83
+ def parser; end
+
+ # Returns the value of attribute response.
+ #
+ # source://oauth2//lib/oauth2/response.rb#10
+ def response; end
+
+ # The HTTP response status code
+ #
+ # source://oauth2//lib/oauth2/response.rb#59
+ def status; end
+
+ class << self
+ # Adds a new content type parser.
+ #
+ # @param key [Symbol] A descriptive symbol key such as :json or :query.
+ # @param mime_types [Array] One or more mime types to which this parser applies.
+ # @yield [String] A block returning parsed content.
+ #
+ # source://oauth2//lib/oauth2/response.rb#34
+ def register_parser(key, mime_types, &block); end
+ end
+end
+
+# source://oauth2//lib/oauth2/strategy/base.rb#4
+module OAuth2::Strategy; end
+
+# The Client Assertion Strategy
+#
+# Sample usage:
+# client = OAuth2::Client.new(client_id, client_secret,
+# :site => 'http://localhost:8080')
+#
+# params = {:hmac_secret => "some secret",
+# # or :private_key => "private key string",
+# :iss => "http://localhost:3001",
+# :prn => "me@here.com",
+# :exp => Time.now.utc.to_i + 3600}
+#
+# access = client.assertion.get_token(params)
+# access.token # actual access_token string
+# access.get("/api/stuff") # making api calls with access token in header
+#
+# @see https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-10#section-4.1.3
+#
+# source://oauth2//lib/oauth2/strategy/assertion.rb#25
+class OAuth2::Strategy::Assertion < ::OAuth2::Strategy::Base
+ # Not used for this strategy
+ #
+ # @raise [NotImplementedError]
+ #
+ # source://oauth2//lib/oauth2/strategy/assertion.rb#29
+ def authorize_url; end
+
+ # source://oauth2//lib/oauth2/strategy/assertion.rb#62
+ def build_assertion(params); end
+
+ # source://oauth2//lib/oauth2/strategy/assertion.rb#52
+ def build_request(params); end
+
+ # Retrieve an access token given the specified client.
+ #
+ # pass either :hmac_secret or :private_key, but not both.
+ #
+ # params :hmac_secret, secret string.
+ # params :private_key, private key string.
+ #
+ # params :iss, issuer
+ # params :aud, audience, optional
+ # params :prn, principal, current user
+ # params :exp, expired at, in seconds, like Time.now.utc.to_i + 3600
+ #
+ # @param params [Hash] assertion params
+ # @param opts [Hash] options
+ #
+ # source://oauth2//lib/oauth2/strategy/assertion.rb#47
+ def get_token(params = T.unsafe(nil), opts = T.unsafe(nil)); end
+end
+
+# The Authorization Code Strategy
+#
+# @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-15#section-4.1
+#
+# source://oauth2//lib/oauth2/strategy/auth_code.rb#8
+class OAuth2::Strategy::AuthCode < ::OAuth2::Strategy::Base
+ # The required query parameters for the authorize URL
+ #
+ # @param params [Hash] additional query parameters
+ #
+ # source://oauth2//lib/oauth2/strategy/auth_code.rb#12
+ def authorize_params(params = T.unsafe(nil)); end
+
+ # The authorization URL endpoint of the provider
+ #
+ # @param params [Hash] additional query parameters for the URL
+ #
+ # source://oauth2//lib/oauth2/strategy/auth_code.rb#19
+ def authorize_url(params = T.unsafe(nil)); end
+
+ # Retrieve an access token given the specified validation code.
+ #
+ # @note that you must also provide a :redirect_uri with most OAuth 2.0 providers
+ # @param code [String] The Authorization Code value
+ # @param params [Hash] additional params
+ # @param opts [Hash] options
+ #
+ # source://oauth2//lib/oauth2/strategy/auth_code.rb#29
+ def get_token(code, params = T.unsafe(nil), opts = T.unsafe(nil)); end
+end
+
+# source://oauth2//lib/oauth2/strategy/base.rb#5
+class OAuth2::Strategy::Base
+ # @return [Base] a new instance of Base
+ #
+ # source://oauth2//lib/oauth2/strategy/base.rb#6
+ def initialize(client); end
+end
+
+# The Client Credentials Strategy
+#
+# @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-15#section-4.4
+#
+# source://oauth2//lib/oauth2/strategy/client_credentials.rb#8
+class OAuth2::Strategy::ClientCredentials < ::OAuth2::Strategy::Base
+ # Not used for this strategy
+ #
+ # @raise [NotImplementedError]
+ #
+ # source://oauth2//lib/oauth2/strategy/client_credentials.rb#12
+ def authorize_url; end
+
+ # Retrieve an access token given the specified client.
+ #
+ # @param params [Hash] additional params
+ # @param opts [Hash] options
+ #
+ # source://oauth2//lib/oauth2/strategy/client_credentials.rb#20
+ def get_token(params = T.unsafe(nil), opts = T.unsafe(nil)); end
+end
+
+# The Implicit Strategy
+#
+# @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-26#section-4.2
+#
+# source://oauth2//lib/oauth2/strategy/implicit.rb#8
+class OAuth2::Strategy::Implicit < ::OAuth2::Strategy::Base
+ # The required query parameters for the authorize URL
+ #
+ # @param params [Hash] additional query parameters
+ #
+ # source://oauth2//lib/oauth2/strategy/implicit.rb#12
+ def authorize_params(params = T.unsafe(nil)); end
+
+ # The authorization URL endpoint of the provider
+ #
+ # @param params [Hash] additional query parameters for the URL
+ #
+ # source://oauth2//lib/oauth2/strategy/implicit.rb#19
+ def authorize_url(params = T.unsafe(nil)); end
+
+ # Not used for this strategy
+ #
+ # @raise [NotImplementedError]
+ #
+ # source://oauth2//lib/oauth2/strategy/implicit.rb#26
+ def get_token(*_arg0); end
+end
+
+# The Resource Owner Password Credentials Authorization Strategy
+#
+# @see http://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-15#section-4.3
+#
+# source://oauth2//lib/oauth2/strategy/password.rb#8
+class OAuth2::Strategy::Password < ::OAuth2::Strategy::Base
+ # Not used for this strategy
+ #
+ # @raise [NotImplementedError]
+ #
+ # source://oauth2//lib/oauth2/strategy/password.rb#12
+ def authorize_url; end
+
+ # Retrieve an access token given the specified End User username and password.
+ #
+ # @param username [String] the End User username
+ # @param password [String] the End User password
+ # @param params [Hash] additional params
+ #
+ # source://oauth2//lib/oauth2/strategy/password.rb#21
+ def get_token(username, password, params = T.unsafe(nil), opts = T.unsafe(nil)); end
+end
diff --git a/sorbet/rbi/gems/octokit@8.1.0.rbi b/sorbet/rbi/gems/octokit@8.1.0.rbi
new file mode 100644
index 00000000..d37d6081
--- /dev/null
+++ b/sorbet/rbi/gems/octokit@8.1.0.rbi
@@ -0,0 +1,11272 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `octokit` gem.
+# Please instead update this file by running `bin/tapioca gem octokit`.
+
+# Ruby toolkit for the GitHub API
+#
+# source://octokit//lib/octokit/middleware/follow_redirects.rb#11
+module Octokit
+ extend ::Octokit::Configurable
+
+ class << self
+ # API client based on configured options {Configurable}
+ #
+ # @return [Octokit::Client] API wrapper
+ #
+ # source://octokit//lib/octokit.rb#16
+ def client; end
+
+ # EnterpriseAdminClient client based on configured options {Configurable}
+ #
+ # @return [Octokit::EnterpriseAdminClient] API wrapper
+ #
+ # source://octokit//lib/octokit.rb#25
+ def enterprise_admin_client; end
+
+ # EnterpriseManagementConsoleClient client based on configured options {Configurable}
+ #
+ # @return [Octokit::EnterpriseManagementConsoleClient] API wrapper
+ #
+ # source://octokit//lib/octokit.rb#36
+ def enterprise_management_console_client; end
+
+ private
+
+ # source://octokit//lib/octokit.rb#52
+ def method_missing(method_name, *args, &block); end
+
+ # @return [Boolean]
+ #
+ # source://octokit//lib/octokit.rb#46
+ def respond_to_missing?(method_name, include_private = T.unsafe(nil)); end
+ end
+end
+
+# Raised when GitHub returns a 403 HTTP status code
+# and body matches 'abuse'
+#
+# source://octokit//lib/octokit/error.rb#278
+class Octokit::AbuseDetected < ::Octokit::Forbidden; end
+
+# Raised when GitHub returns a 403 HTTP status code
+# and body matches 'account was suspended'
+#
+# source://octokit//lib/octokit/error.rb#290
+class Octokit::AccountSuspended < ::Octokit::Forbidden; end
+
+# Raised when a method requires an application client_id
+# and secret but none is provided
+#
+# source://octokit//lib/octokit/error.rb#357
+class Octokit::ApplicationCredentialsRequired < ::StandardError; end
+
+# Extracts options from method arguments
+#
+# @private
+#
+# source://octokit//lib/octokit/arguments.rb#6
+class Octokit::Arguments < ::Array
+ # @return [Arguments] a new instance of Arguments
+ #
+ # source://octokit//lib/octokit/arguments.rb#9
+ def initialize(args); end
+
+ # Returns the value of attribute options.
+ #
+ # source://octokit//lib/octokit/arguments.rb#7
+ def options; end
+end
+
+# Authentication methods for {Octokit::Client}
+#
+# source://octokit//lib/octokit/authentication.rb#5
+module Octokit::Authentication
+ # Indicates if the client has OAuth Application
+ # client_id and secret credentials to make anonymous
+ # requests at a higher rate limit
+ #
+ # @return [Boolean]
+ # @see https://developer.github.com/v3/#unauthenticated-rate-limited-requests
+ #
+ # source://octokit//lib/octokit/authentication.rb#55
+ def application_authenticated?; end
+
+ # Indicates if the client was supplied Basic Auth
+ # username and password
+ #
+ # @return [Boolean]
+ # @see https://developer.github.com/v3/#authentication
+ #
+ # source://octokit//lib/octokit/authentication.rb#19
+ def basic_authenticated?; end
+
+ # Indicates if the client was supplied a bearer token
+ #
+ # @return [Boolean]
+ # @see https://developer.github.com/early-access/integrations/authentication/#as-an-integration
+ #
+ # source://octokit//lib/octokit/authentication.rb#36
+ def bearer_authenticated?; end
+
+ # Indicates if the client was supplied an OAuth
+ # access token
+ #
+ # @return [Boolean]
+ # @see https://developer.github.com/v3/#authentication
+ #
+ # source://octokit//lib/octokit/authentication.rb#28
+ def token_authenticated?; end
+
+ # Indicates if the client was supplied an OAuth
+ # access token or Basic Auth username and password
+ #
+ # @return [Boolean]
+ # @see https://developer.github.com/v3/#authentication
+ #
+ # source://octokit//lib/octokit/authentication.rb#45
+ def user_authenticated?; end
+
+ private
+
+ # source://octokit//lib/octokit/authentication.rb#61
+ def login_from_netrc; end
+end
+
+# In Faraday 2.x, the authorization middleware uses new interface
+#
+# source://octokit//lib/octokit/authentication.rb#7
+Octokit::Authentication::FARADAY_BASIC_AUTH_KEYS = T.let(T.unsafe(nil), Array)
+
+# Raised when GitHub returns a 502 HTTP status code
+#
+# source://octokit//lib/octokit/error.rb#347
+class Octokit::BadGateway < ::Octokit::ServerError; end
+
+# Raised when GitHub returns a 400 HTTP status code
+#
+# source://octokit//lib/octokit/error.rb#229
+class Octokit::BadRequest < ::Octokit::ClientError; end
+
+# Raised when GitHub returns a 403 HTTP status code
+# and body matches 'billing issue'
+#
+# source://octokit//lib/octokit/error.rb#294
+class Octokit::BillingIssue < ::Octokit::Forbidden; end
+
+# Raised when GitHub returns a 404 HTTP status code
+# and body matches 'Branch not protected'
+#
+# source://octokit//lib/octokit/error.rb#309
+class Octokit::BranchNotProtected < ::Octokit::ClientError; end
+
+# Client for the GitHub API
+#
+# @see https://developer.github.com
+#
+# source://octokit//lib/octokit/client/actions_artifacts.rb#4
+class Octokit::Client
+ include ::Octokit::Authentication
+ include ::Octokit::Configurable
+ include ::Octokit::Connection
+ include ::Octokit::Warnable
+ include ::Octokit::Client::ActionsArtifacts
+ include ::Octokit::Client::ActionsSecrets
+ include ::Octokit::Client::Checks
+ include ::Octokit::Client::CodeScanning
+ include ::Octokit::Client::CodespacesSecrets
+ include ::Octokit::Client::Commits
+ include ::Octokit::Client::CommitComments
+ include ::Octokit::Client::CommitPulls
+ include ::Octokit::Client::CommitBranches
+ include ::Octokit::Client::CommunityProfile
+ include ::Octokit::Client::Contents
+ include ::Octokit::Client::DependabotSecrets
+ include ::Octokit::Client::Deployments
+ include ::Octokit::Client::Downloads
+ include ::Octokit::Client::Environments
+ include ::Octokit::Client::Emojis
+ include ::Octokit::Client::Events
+ include ::Octokit::Client::Feeds
+ include ::Octokit::Client::Gists
+ include ::Octokit::Client::Gitignore
+ include ::Octokit::Client::Hooks
+ include ::Octokit::Client::ActionsWorkflows
+ include ::Octokit::Client::ActionsWorkflowJobs
+ include ::Octokit::Client::ActionsWorkflowRuns
+ include ::Octokit::Client::Apps
+ include ::Octokit::Client::Issues
+ include ::Octokit::Client::Labels
+ include ::Octokit::Client::LegacySearch
+ include ::Octokit::Client::Licenses
+ include ::Octokit::Client::Meta
+ include ::Octokit::Client::Markdown
+ include ::Octokit::Client::Marketplace
+ include ::Octokit::Client::Milestones
+ include ::Octokit::Client::Notifications
+ include ::Octokit::Client::OauthApplications
+ include ::Octokit::Client::Objects
+ include ::Octokit::Client::Organizations
+ include ::Octokit::Client::Pages
+ include ::Octokit::Client::Projects
+ include ::Octokit::Client::PubSubHubbub
+ include ::Octokit::Client::PullRequests
+ include ::Octokit::Client::RateLimit
+ include ::Octokit::Client::Reactions
+ include ::Octokit::Client::Refs
+ include ::Octokit::Client::Releases
+ include ::Octokit::Client::Repositories
+ include ::Octokit::Client::RepositoryInvitations
+ include ::Octokit::Client::Reviews
+ include ::Octokit::Client::Say
+ include ::Octokit::Client::Search
+ include ::Octokit::Client::ServiceStatus
+ include ::Octokit::Client::SourceImport
+ include ::Octokit::Client::Stats
+ include ::Octokit::Client::Statuses
+ include ::Octokit::Client::Tokens
+ include ::Octokit::Client::Traffic
+ include ::Octokit::Client::Users
+
+ # @return [Client] a new instance of Client
+ #
+ # source://octokit//lib/octokit/client.rb#143
+ def initialize(options = T.unsafe(nil)); end
+
+ # Set OAuth access token for authentication
+ #
+ # @param value [String] 40 character GitHub OAuth access token
+ #
+ # source://octokit//lib/octokit/client.rb#228
+ def access_token=(value); end
+
+ # Duplicate client using client_id and client_secret as
+ # Basic Authentication credentials.
+ #
+ # @example
+ # Octokit.client_id = "foo"
+ # Octokit.client_secret = "bar"
+ #
+ # # GET https://api.github.com/?client_id=foo&client_secret=bar
+ # Octokit.get "/"
+ #
+ # Octokit.client.as_app do |client|
+ # # GET https://foo:bar@api.github.com/
+ # client.get "/"
+ # end
+ # @yield [app_client]
+ #
+ # source://octokit//lib/octokit/client.rb#196
+ def as_app(key = T.unsafe(nil), secret = T.unsafe(nil)); end
+
+ # Set Bearer Token for authentication
+ #
+ # @param value [String] JWT
+ #
+ # source://octokit//lib/octokit/client.rb#236
+ def bearer_token=(value); end
+
+ # Set OAuth app client_id
+ #
+ # @param value [String] 20 character GitHub OAuth app client_id
+ #
+ # source://octokit//lib/octokit/client.rb#244
+ def client_id=(value); end
+
+ # Set OAuth app client_secret
+ #
+ # @param value [String] 40 character GitHub OAuth app client_secret
+ #
+ # source://octokit//lib/octokit/client.rb#252
+ def client_secret=(value); end
+
+ # source://octokit//lib/octokit/client.rb#257
+ def client_without_redirects(options = T.unsafe(nil)); end
+
+ # Text representation of the client, masking tokens and passwords
+ #
+ # @return [String]
+ #
+ # source://octokit//lib/octokit/client.rb#163
+ def inspect; end
+
+ # Set username for authentication
+ #
+ # @param value [String] GitHub username
+ #
+ # source://octokit//lib/octokit/client.rb#212
+ def login=(value); end
+
+ # Set password for authentication
+ #
+ # @param value [String] GitHub password
+ #
+ # source://octokit//lib/octokit/client.rb#220
+ def password=(value); end
+
+ private
+
+ # convenience method for constructing a user specific path, if the user is logged in
+ #
+ # source://octokit//lib/octokit/client/users.rb#454
+ def user_path(user, path); end
+end
+
+# Methods for the Actions Artifacts API
+#
+# @see https://developer.github.com/v3/actions/artifacts
+#
+# source://octokit//lib/octokit/client/actions_artifacts.rb#8
+module Octokit::Client::ActionsArtifacts
+ # Get an artifact
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of an artifact
+ # @return [Sawyer::Resource] Artifact information
+ # @see https://docs.github.com/en/rest/actions/artifacts#get-an-artifact
+ #
+ # source://octokit//lib/octokit/client/actions_artifacts.rb#41
+ def artifact(repo, id, options = T.unsafe(nil)); end
+
+ # Get a download URL for an artifact
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of an artifact
+ # @return [String] URL to the .zip archive of the artifact
+ # @see https://docs.github.com/en/rest/actions/artifacts#download-an-artifact
+ #
+ # source://octokit//lib/octokit/client/actions_artifacts.rb#52
+ def artifact_download_url(repo, id, options = T.unsafe(nil)); end
+
+ # Delete an artifact
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of an artifact
+ # @return [Boolean] Return true if the artifact was successfully deleted
+ # @see https://docs.github.com/en/rest/actions/artifacts#delete-an-artifact
+ #
+ # source://octokit//lib/octokit/client/actions_artifacts.rb#66
+ def delete_artifact(repo, id, options = T.unsafe(nil)); end
+
+ # List all artifacts for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Sawyer::Resource] the total count and an array of artifacts
+ # @see https://developer.github.com/v3/actions/artifacts#list-artifacts-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/actions_artifacts.rb#15
+ def repository_artifacts(repo, options = T.unsafe(nil)); end
+
+ # List all artifacts for a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param workflow_run_id [Integer] Id of a workflow run
+ # @return [Sawyer::Resource] the total count and an array of artifacts
+ # @see https://docs.github.com/en/rest/actions/artifacts#list-workflow-run-artifacts
+ #
+ # source://octokit//lib/octokit/client/actions_artifacts.rb#28
+ def workflow_run_artifacts(repo, workflow_run_id, options = T.unsafe(nil)); end
+end
+
+# Methods for the Actions Secrets API
+#
+# @see https://developer.github.com/v3/actions/secrets/
+#
+# source://octokit//lib/octokit/client/actions_secrets.rb#8
+module Octokit::Client::ActionsSecrets
+ # Create or update an environment secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param environment [String] Name of environment
+ # @param name [String] Name of secret
+ # @param options [Hash] encrypted_value and key_id
+ # @see https://docs.github.com/en/rest/actions/secrets#create-or-update-an-environment-secret
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#147
+ def create_or_update_actions_environment_secret(repo, environment, name, options); end
+
+ # Create or update secrets
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @param options [Hash] encrypted_value and key_id
+ # @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#75
+ def create_or_update_actions_secret(repo, name, options); end
+
+ # Create or update org secrets
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @param options [Hash] encrypted_value and key_id
+ # @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#85
+ def create_or_update_org_actions_secret(org, name, options); end
+
+ # Delete environment secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param environment [String] Name of environment
+ # @param name [String] Name of secret
+ # @see https://docs.github.com/en/rest/actions/secrets#delete-an-environment-secret
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#156
+ def delete_actions_environment_secret(repo, environment, name); end
+
+ # Delete a secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#94
+ def delete_actions_secret(repo, name); end
+
+ # Delete an org secret
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @see https://developer.github.com/v3/actions/secrets/#delete-a-secret
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#103
+ def delete_org_actions_secret(org, name); end
+
+ # Get environment public key for secrets encryption
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param environment [String] Name of environment
+ # @return [Hash] key_id and key
+ # @see https://docs.github.com/en/rest/actions/secrets#get-an-environment-public-key
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#113
+ def get_actions_environment_public_key(repo, environment); end
+
+ # Get an environment secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param environment [String] Name of environment
+ # @param name [String] Name of secret
+ # @return [Hash] name, created_at and updated_at
+ # @see https://docs.github.com/en/rest/actions/secrets#get-an-environment-secret
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#136
+ def get_actions_environment_secret(repo, environment, name); end
+
+ # Get public key for secrets encryption
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Hash] key_id and key
+ # @see https://developer.github.com/v3/actions/secrets/#get-your-public-key
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#14
+ def get_actions_public_key(repo); end
+
+ # Get a secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @return [Hash] name, created_at and updated_at
+ # @see https://developer.github.com/v3/actions/secrets/#get-a-secret
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#55
+ def get_actions_secret(repo, name); end
+
+ # Get public key for secrets encryption
+ #
+ # @param org [String] A GitHub organization
+ # @return [Hash] key_id and key
+ # @see https://developer.github.com/v3/actions/secrets/#get-your-public-key
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#23
+ def get_org_actions_public_key(org); end
+
+ # Get an org secret
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @return [Hash] name, created_at and updated_at
+ # @see https://developer.github.com/v3/actions/secrets/#get-a-secret
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#65
+ def get_org_actions_secret(org, name); end
+
+ # List environment secrets
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param environment [String] Name of environment
+ # @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
+ # @see https://developer.github.com/v3/actions/secrets/#list-environment-secrets
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#123
+ def list_actions_environment_secrets(repo, environment); end
+
+ # List secrets
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
+ # @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#32
+ def list_actions_secrets(repo); end
+
+ # List org secrets
+ #
+ # @param org [String] A GitHub organization
+ # @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
+ # @see https://developer.github.com/v3/actions/secrets/#list-organization-secrets
+ #
+ # source://octokit//lib/octokit/client/actions_secrets.rb#43
+ def list_org_actions_secrets(org); end
+end
+
+# Methods for the Actions Workflows jobs API
+#
+# @see https://docs.github.com/rest/actions/workflow-jobs
+#
+# source://octokit//lib/octokit/client/actions_workflow_jobs.rb#8
+module Octokit::Client::ActionsWorkflowJobs
+ # List jobs for a workflow run attempt
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param run_id [Integer, String] Id of the workflow run
+ # @param attempt_number [Integer, String] Attempt number of the workflow run
+ # @return [Sawyer::Resource] Jobs information
+ # @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_jobs.rb#42
+ def list_workflow_run_attempt_jobs(repo, run_id, attempt_number, options = T.unsafe(nil)); end
+
+ # List jobs for a workflow run
+ #
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param run_id [Integer, String] Id of the workflow run
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Jobs information
+ # @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_jobs.rb#57
+ def list_workflow_run_jobs(repo, run_id, options = T.unsafe(nil)); end
+
+ # List jobs for a workflow run attempt
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param run_id [Integer, String] Id of the workflow run
+ # @param attempt_number [Integer, String] Attempt number of the workflow run
+ # @return [Sawyer::Resource] Jobs information
+ # @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_jobs.rb#42
+ def workflow_run_attempt_jobs(repo, run_id, attempt_number, options = T.unsafe(nil)); end
+
+ # Get a job for a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param job_id [Integer, String] Id of the job
+ # @return [Sawyer::Resource] Job information
+ # @see https://docs.github.com/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_jobs.rb#16
+ def workflow_run_job(repo, job_id, options = T.unsafe(nil)); end
+
+ # Download job logs for a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param job_id [Integer, String] Id of the job
+ # @return [String] URL to the archived log files of the job
+ # @see https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_jobs.rb#27
+ def workflow_run_job_logs(repo, job_id, options = T.unsafe(nil)); end
+
+ # List jobs for a workflow run
+ #
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param run_id [Integer, String] Id of the workflow run
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Jobs information
+ # @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_jobs.rb#57
+ def workflow_run_jobs(repo, run_id, options = T.unsafe(nil)); end
+end
+
+# Methods for the Actions Workflows runs API
+#
+# @see https://docs.github.com/rest/actions/workflow-runs
+#
+# source://octokit//lib/octokit/client/actions_workflow_runs.rb#8
+module Octokit::Client::ActionsWorkflowRuns
+ # Cancels a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of a workflow run
+ # @return [Boolean] Returns true if the cancellation was accepted
+ # @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#73
+ def cancel_workflow_run(repo, id, options = T.unsafe(nil)); end
+
+ # Deletes a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of a workflow run
+ # @return [Boolean] Returns true if the run is deleted
+ # @see https://docs.github.com/en/rest/reference/actions#delete-a-workflow-run
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#84
+ def delete_workflow_run(repo, id, options = T.unsafe(nil)); end
+
+ # Delete all log files of a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of a workflow run
+ # @return [Boolean] Returns true if the logs are deleted
+ # @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#109
+ def delete_workflow_run_logs(repo, id, options = T.unsafe(nil)); end
+
+ # List all workflow runs for a repository
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] the total count and an array of workflows
+ # @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#37
+ def list_repository_workflow_runs(repo, options = T.unsafe(nil)); end
+
+ # List all runs for a repository workflow
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param workflow [Integer, String] Id or file name of the workflow
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] the total count and an array of workflows
+ # @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#20
+ def list_workflow_runs(repo, workflow, options = T.unsafe(nil)); end
+
+ # List all workflow runs for a repository
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] the total count and an array of workflows
+ # @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#37
+ def repository_workflow_runs(repo, options = T.unsafe(nil)); end
+
+ # Re-runs a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of a workflow run
+ # @return [Boolean] Returns true if the re-run request was accepted
+ # @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#62
+ def rerun_workflow_run(repo, id, options = T.unsafe(nil)); end
+
+ # Get a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of a workflow run
+ # @return [Sawyer::Resource] Run information
+ # @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#51
+ def workflow_run(repo, id, options = T.unsafe(nil)); end
+
+ # Get a download url for archived log files of a workflow run
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of a workflow run
+ # @return [String] URL to the archived log files of the run
+ # @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#95
+ def workflow_run_logs(repo, id, options = T.unsafe(nil)); end
+
+ # Get workflow run usage
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] Id of a workflow run
+ # @return [Sawyer::Resource] Run usage
+ # @see https://developer.github.com/v3/actions/workflow-runs/#get-workflow-run-usage
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#120
+ def workflow_run_usage(repo, id, options = T.unsafe(nil)); end
+
+ # List all runs for a repository workflow
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param workflow [Integer, String] Id or file name of the workflow
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] the total count and an array of workflows
+ # @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs
+ #
+ # source://octokit//lib/octokit/client/actions_workflow_runs.rb#20
+ def workflow_runs(repo, workflow, options = T.unsafe(nil)); end
+end
+
+# Methods for the Actions Workflows API
+#
+# @see https://developer.github.com/v3/actions/workflows
+#
+# source://octokit//lib/octokit/client/actions_workflows.rb#8
+module Octokit::Client::ActionsWorkflows
+ # Get the workflows in a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Sawyer::Resource] the total count and an array of workflows
+ # @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows
+ #
+ # source://octokit//lib/octokit/client/actions_workflows.rb#15
+ def list_workflows(repo, options = T.unsafe(nil)); end
+
+ # Get single workflow in a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer, String] Id or file name of the workflow
+ # @return [Sawyer::Resource] A single workflow
+ # @see https://developer.github.com/v3/actions/workflows/#get-a-workflow
+ #
+ # source://octokit//lib/octokit/client/actions_workflows.rb#29
+ def workflow(repo, id, options = T.unsafe(nil)); end
+
+ # Disable a workflow
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer, String] Id or file name of the workflow
+ # @return [Boolean] True if workflow was disabled, false otherwise
+ # @see https://docs.github.com/en/rest/actions/workflows#disable-a-workflow
+ #
+ # source://octokit//lib/octokit/client/actions_workflows.rb#63
+ def workflow_disable(repo, id, options = T.unsafe(nil)); end
+
+ # Create a workflow dispatch event
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer, String] Id or file name of the workflow
+ # @param ref [String] A SHA, branch name, or tag name
+ # @return [Boolean] True if event was dispatched, false otherwise
+ # @see https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event
+ #
+ # source://octokit//lib/octokit/client/actions_workflows.rb#41
+ def workflow_dispatch(repo, id, ref, options = T.unsafe(nil)); end
+
+ # Enable a workflow
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer, String] Id or file name of the workflow
+ # @return [Boolean] True if workflow was enabled, false otherwise
+ # @see https://docs.github.com/en/rest/actions/workflows#enable-a-workflow
+ #
+ # source://octokit//lib/octokit/client/actions_workflows.rb#52
+ def workflow_enable(repo, id, options = T.unsafe(nil)); end
+
+ # Get the workflows in a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Sawyer::Resource] the total count and an array of workflows
+ # @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows
+ #
+ # source://octokit//lib/octokit/client/actions_workflows.rb#15
+ def workflows(repo, options = T.unsafe(nil)); end
+end
+
+# Methods for the Apps API
+#
+# source://octokit//lib/octokit/client/apps.rb#6
+module Octokit::Client::Apps
+ # Add a single repository to an installation
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param repo [Integer] The id of the GitHub repository
+ # @param options [Hash] A customizable set of options
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#156
+ def add_repo_to_installation(installation, repo, options = T.unsafe(nil)); end
+
+ # Add a single repository to an installation
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param repo [Integer] The id of the GitHub repository
+ # @param options [Hash] A customizable set of options
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#156
+ def add_repository_to_app_installation(installation, repo, options = T.unsafe(nil)); end
+
+ # source://octokit//lib/octokit/client/apps.rb#161
+ def add_repository_to_integration_installation(installation, repo, options = T.unsafe(nil)); end
+
+ # Get the authenticated App
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] App information
+ # @see https://developer.github.com/v3/apps/#get-the-authenticated-app
+ #
+ # source://octokit//lib/octokit/client/apps.rb#14
+ def app(options = T.unsafe(nil)); end
+
+ # Create a new installation token
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param options [Hash] A customizable set of options
+ # @return [] An installation token
+ # @see https://developer.github.com/v3/apps/#create-a-new-installation-token
+ #
+ # source://octokit//lib/octokit/client/apps.rb#72
+ def create_app_installation_access_token(installation, options = T.unsafe(nil)); end
+
+ # Create a new installation token
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param options [Hash] A customizable set of options
+ # @return [] An installation token
+ # @see https://developer.github.com/v3/apps/#create-a-new-installation-token
+ #
+ # source://octokit//lib/octokit/client/apps.rb#72
+ def create_installation_access_token(installation, options = T.unsafe(nil)); end
+
+ # source://octokit//lib/octokit/client/apps.rb#77
+ def create_integration_installation_access_token(installation, options = T.unsafe(nil)); end
+
+ # Delete an installation and uninstall a GitHub App
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param options [Hash] A customizable set of options
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/apps/#delete-an-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#217
+ def delete_installation(installation, options = T.unsafe(nil)); end
+
+ # Redeliver a delivery for the webhook configured for a GitHub App.
+ #
+ # @param delivery_id [Integer] The id of a GitHub App Hook Delivery
+ # @param options [Hash] A customizable set of options
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/apps/#redeliver-a-delivery-for-an-app-webhook
+ #
+ # source://octokit//lib/octokit/client/apps.rb#242
+ def deliver_app_hook(delivery_id, options = T.unsafe(nil)); end
+
+ # Find all installations that belong to an App
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Array] the total_count and an array of installations
+ # @see https://developer.github.com/v3/apps/#list-installations
+ #
+ # source://octokit//lib/octokit/client/apps.rb#25
+ def find_app_installations(options = T.unsafe(nil)); end
+
+ # List repositories accessible to the user for an installation
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] the total_count and an array of repositories
+ # @see https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#203
+ def find_installation_repositories_for_user(installation, options = T.unsafe(nil)); end
+
+ # Find all installations that belong to an App
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Array] the total_count and an array of installations
+ # @see https://developer.github.com/v3/apps/#list-installations
+ #
+ # source://octokit//lib/octokit/client/apps.rb#25
+ def find_installations(options = T.unsafe(nil)); end
+
+ # source://octokit//lib/octokit/client/apps.rb#30
+ def find_integration_installations(options = T.unsafe(nil)); end
+
+ # Enables an app to find the organization's installation information.
+ #
+ # @param organization [String] Organization GitHub login
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] Installation information
+ # @see https://developer.github.com/v3/apps/#get-an-organization-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#95
+ def find_organization_installation(organization, options = T.unsafe(nil)); end
+
+ # Enables an app to find the repository's installation information.
+ #
+ # @param repo [String] A GitHub repository
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] Installation information
+ # @see https://developer.github.com/v3/apps/#get-a-repository-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#107
+ def find_repository_installation(repo, options = T.unsafe(nil)); end
+
+ # Enables an app to find the user's installation information.
+ #
+ # @param user [String] GitHub user login
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] Installation information
+ # @see https://developer.github.com/v3/apps/#get-a-user-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#119
+ def find_user_installation(user, options = T.unsafe(nil)); end
+
+ # Find all installations that are accessible to the authenticated user
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] the total_count and an array of installations
+ # @see https://developer.github.com/v3/apps/installations/#list-installations-for-a-user
+ #
+ # source://octokit//lib/octokit/client/apps.rb#47
+ def find_user_installations(options = T.unsafe(nil)); end
+
+ # Get a single installation
+ #
+ # @param id [Integer] Installation id
+ # @return [Sawyer::Resource] Installation information
+ # @see https://developer.github.com/v3/apps/#get-an-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#60
+ def installation(id, options = T.unsafe(nil)); end
+
+ # Returns a list of webhook deliveries for the webhook configured for a GitHub App.
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Array] an array of hook deliveries
+ # @see https://docs.github.com/en/rest/apps/webhooks#list-deliveries-for-an-app-webhook
+ #
+ # source://octokit//lib/octokit/client/apps.rb#228
+ def list_app_hook_deliveries(options = T.unsafe(nil)); end
+
+ # List repositories that are accessible to the authenticated installation
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] the total_count and an array of repositories
+ # @see https://developer.github.com/v3/apps/installations/#list-repositories
+ #
+ # source://octokit//lib/octokit/client/apps.rb#130
+ def list_app_installation_repositories(options = T.unsafe(nil)); end
+
+ # List repositories that are accessible to the authenticated installation
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] the total_count and an array of repositories
+ # @see https://developer.github.com/v3/apps/installations/#list-repositories
+ #
+ # source://octokit//lib/octokit/client/apps.rb#130
+ def list_installation_repos(options = T.unsafe(nil)); end
+
+ # source://octokit//lib/octokit/client/apps.rb#137
+ def list_integration_installation_repositories(options = T.unsafe(nil)); end
+
+ # Remove a single repository to an installation
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param repo [Integer] The id of the GitHub repository
+ # @param options [Hash] A customizable set of options
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#180
+ def remove_repo_from_installation(installation, repo, options = T.unsafe(nil)); end
+
+ # Remove a single repository to an installation
+ #
+ # @param installation [Integer] The id of a GitHub App Installation
+ # @param repo [Integer] The id of the GitHub repository
+ # @param options [Hash] A customizable set of options
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation
+ #
+ # source://octokit//lib/octokit/client/apps.rb#180
+ def remove_repository_from_app_installation(installation, repo, options = T.unsafe(nil)); end
+
+ # source://octokit//lib/octokit/client/apps.rb#185
+ def remove_repository_from_integration_installation(installation, repo, options = T.unsafe(nil)); end
+end
+
+# Header keys that can be passed in options hash to {#get},{#head}
+#
+# source://octokit//lib/octokit/client.rb#141
+Octokit::Client::CONVENIENCE_HEADERS = T.let(T.unsafe(nil), Set)
+
+# Methods for the Checks API
+#
+# @see https://developer.github.com/v3/checks/
+#
+# source://octokit//lib/octokit/client/checks.rb#8
+module Octokit::Client::Checks
+ # Get a single check run
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The ID of the check run
+ # @return [Sawyer::Resource] A hash representing the check run
+ # @see https://developer.github.com/v3/checks/runs/#get-a-single-check-run
+ #
+ # source://octokit//lib/octokit/client/checks.rb#100
+ def check_run(repo, id, options = T.unsafe(nil)); end
+
+ # List annotations for a check run
+ #
+ # @example List annotations for a check run
+ # annotations = @client.check_run_annotations("octocat/Hello-World", 51295429)
+ # annotations.count # => 1
+ # annotations[0].path # => "README.md"
+ # annotations[0].message # => "Looks good!"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The ID of the check run
+ # @return [Array] An array of hashes representing check run annotations
+ # @see https://developer.github.com/v3/checks/runs/#list-annotations-for-a-check-run
+ #
+ # source://octokit//lib/octokit/client/checks.rb#115
+ def check_run_annotations(repo, id, options = T.unsafe(nil)); end
+
+ # List check runs in a check suite
+ #
+ # @example List check runs in a check suite
+ # result = @client.check_runs_for_check_suite("octocat/Hello-World", 50440400, status: "in_progress")
+ # result.total_count # => 1
+ # result.check_runs.count # => 1
+ # result.check_runs[0].check_suite.id # => 50440400
+ # result.check_runs[0].status # => "in_progress"
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The ID of the check suite
+ # @param options [Hash] A set of optional filters
+ # @return [Sawyer::Resource] A hash representing a collection of check runs
+ # @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite
+ #
+ # source://octokit//lib/octokit/client/checks.rb#86
+ def check_runs_for_check_suite(repo, id, options = T.unsafe(nil)); end
+
+ # List check runs for a specific ref
+ #
+ # @example List check runs for a specific ref
+ # result = @client.check_runs_for_ref("octocat/Hello-World", "7638417db6d59f3c431d3e1f261cc637155684cd", status: "in_progress")
+ # result.total_count # => 1
+ # result.check_runs.count # => 1
+ # result.check_runs[0].id # => 51295429
+ # result.check_runs[0].status # => "in_progress"
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param ref [String] A SHA, branch name, or tag name
+ # @param options [Hash] A set of optional filters
+ # @return [Sawyer::Resource] A hash representing a collection of check runs
+ # @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-specific-ref
+ #
+ # source://octokit//lib/octokit/client/checks.rb#62
+ def check_runs_for_ref(repo, ref, options = T.unsafe(nil)); end
+
+ # Get a single check suite
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The ID of the check suite
+ # @return [Sawyer::Resource] A hash representing the check suite
+ # @see https://developer.github.com/v3/checks/suites/#get-a-single-check-suite
+ #
+ # source://octokit//lib/octokit/client/checks.rb#129
+ def check_suite(repo, id, options = T.unsafe(nil)); end
+
+ # List check suites for a specific ref
+ #
+ # @example List check suites for a specific ref
+ # result = @client.check_suites_for_ref("octocat/Hello-World", "7638417db6d59f3c431d3e1f261cc637155684cd", app_id: 76765)
+ # result.total_count # => 1
+ # result.check_suites.count # => 1
+ # result.check_suites[0].id # => 50440400
+ # result.check_suites[0].app.id # => 76765
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param ref [String] A SHA, branch name, or tag name
+ # @param options [Hash] A set of optional filters
+ # @return [Sawyer::Resource] A hash representing a collection of check suites
+ # @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-specific-ref
+ #
+ # source://octokit//lib/octokit/client/checks.rb#148
+ def check_suites_for_ref(repo, ref, options = T.unsafe(nil)); end
+
+ # Create a check run
+ #
+ # @example Create a check run
+ # check_run = @client.create_check_run("octocat/Hello-World", "my-check", "7638417db6d59f3c431d3e1f261cc637155684cd")
+ # check_run.name # => "my-check"
+ # check_run.head_sha # => "7638417db6d59f3c431d3e1f261cc637155684cd"
+ # check_run.status # => "queued"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] The name of the check
+ # @param head_sha [String] The SHA of the commit to check
+ # @return [Sawyer::Resource] A hash representing the new check run
+ # @see https://developer.github.com/v3/checks/runs/#create-a-check-run
+ #
+ # source://octokit//lib/octokit/client/checks.rb#25
+ def create_check_run(repo, name, head_sha, options = T.unsafe(nil)); end
+
+ # Create a check suite
+ #
+ # @example Create a check suite
+ # check_suite = @client.create_check_suite("octocat/Hello-World", "7638417db6d59f3c431d3e1f261cc637155684cd")
+ # check_suite.head_sha # => "7638417db6d59f3c431d3e1f261cc637155684cd"
+ # check_suite.status # => "queued"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param head_sha [String] The SHA of the commit to check
+ # @return [Sawyer::Resource] A hash representing the new check suite
+ # @see https://developer.github.com/v3/checks/suites/#create-a-check-suite
+ #
+ # source://octokit//lib/octokit/client/checks.rb#182
+ def create_check_suite(repo, head_sha, options = T.unsafe(nil)); end
+
+ # List check runs in a check suite
+ #
+ # @example List check runs in a check suite
+ # result = @client.check_runs_for_check_suite("octocat/Hello-World", 50440400, status: "in_progress")
+ # result.total_count # => 1
+ # result.check_runs.count # => 1
+ # result.check_runs[0].check_suite.id # => 50440400
+ # result.check_runs[0].status # => "in_progress"
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The ID of the check suite
+ # @param options [Hash] A set of optional filters
+ # @return [Sawyer::Resource] A hash representing a collection of check runs
+ # @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite
+ #
+ # source://octokit//lib/octokit/client/checks.rb#86
+ def list_check_runs_for_check_suite(repo, id, options = T.unsafe(nil)); end
+
+ # List check runs for a specific ref
+ #
+ # @example List check runs for a specific ref
+ # result = @client.check_runs_for_ref("octocat/Hello-World", "7638417db6d59f3c431d3e1f261cc637155684cd", status: "in_progress")
+ # result.total_count # => 1
+ # result.check_runs.count # => 1
+ # result.check_runs[0].id # => 51295429
+ # result.check_runs[0].status # => "in_progress"
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param ref [String] A SHA, branch name, or tag name
+ # @param options [Hash] A set of optional filters
+ # @return [Sawyer::Resource] A hash representing a collection of check runs
+ # @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-specific-ref
+ #
+ # source://octokit//lib/octokit/client/checks.rb#62
+ def list_check_runs_for_ref(repo, ref, options = T.unsafe(nil)); end
+
+ # List check suites for a specific ref
+ #
+ # @example List check suites for a specific ref
+ # result = @client.check_suites_for_ref("octocat/Hello-World", "7638417db6d59f3c431d3e1f261cc637155684cd", app_id: 76765)
+ # result.total_count # => 1
+ # result.check_suites.count # => 1
+ # result.check_suites[0].id # => 50440400
+ # result.check_suites[0].app.id # => 76765
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param ref [String] A SHA, branch name, or tag name
+ # @param options [Hash] A set of optional filters
+ # @return [Sawyer::Resource] A hash representing a collection of check suites
+ # @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-specific-ref
+ #
+ # source://octokit//lib/octokit/client/checks.rb#148
+ def list_check_suites_for_ref(repo, ref, options = T.unsafe(nil)); end
+
+ # Rerequest check suite
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The ID of the check suite
+ # @return [Boolean] True if successful, raises an error otherwise
+ # @see https://developer.github.com/v3/checks/suites/#rerequest-check-suite
+ #
+ # source://octokit//lib/octokit/client/checks.rb#194
+ def rerequest_check_suite(repo, id, options = T.unsafe(nil)); end
+
+ # Set preferences for check suites on a repository
+ #
+ # @example Set preferences for check suites on a repository
+ # result = @client.set_check_suite_preferences("octocat/Hello-World", auto_trigger_checks: [{ app_id: 76765, setting: false }])
+ # result.preferences.auto_trigger_checks.count # => 1
+ # result.preferences.auto_trigger_checks[0].app_id # => 76765
+ # result.preferences.auto_trigger_checks[0].setting # => false
+ # result.repository.full_name # => "octocat/Hello-World"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param options [Hash] Preferences to set
+ # @return [Sawyer::Resource] A hash representing the repository's check suite preferences
+ # @see https://developer.github.com/v3/checks/suites/#set-preferences-for-check-suites-on-a-repository
+ #
+ # source://octokit//lib/octokit/client/checks.rb#168
+ def set_check_suite_preferences(repo, options = T.unsafe(nil)); end
+
+ # Update a check run
+ #
+ # @example Update a check run
+ # check_run = @client.update_check_run("octocat/Hello-World", 51295429, status: "in_progress")
+ # check_run.id # => 51295429
+ # check_run.status # => "in_progress"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The ID of the check run
+ # @return [Sawyer::Resource] A hash representing the updated check run
+ # @see https://developer.github.com/v3/checks/runs/#update-a-check-run
+ #
+ # source://octokit//lib/octokit/client/checks.rb#42
+ def update_check_run(repo, id, options = T.unsafe(nil)); end
+end
+
+# Methods for the code scanning alerts API
+#
+# @see https://docs.github.com/rest/code-scanning
+#
+# source://octokit//lib/octokit/client/code_scanning.rb#12
+module Octokit::Client::CodeScanning
+ # Gets information about a SARIF upload
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param sarif_id [String] The SARIF ID obtained after uploading
+ # @return [Sawyer::Resource] SARIF upload information
+ # @see https://docs.github.com/rest/code-scanning#get-information-about-a-sarif-upload
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#37
+ def get_sarif_upload_information(repo, sarif_id, options = T.unsafe(nil)); end
+
+ # Uploads SARIF data containing the results of a code scanning analysis
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param file [String] Path to the SARIF file to upload
+ # @param sha [String] The SHA of the commit to which the analysis you are uploading relates
+ # @param ref [String] The full Git reference, formatted as `refs/heads/`, `refs/pull//merge`, or `refs/pull//head`
+ # @return [Sawyer::Resource] SARIF upload information
+ # @see https://docs.github.com/rest/code-scanning#upload-an-analysis-as-sarif-data
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#22
+ def upload_sarif_data(repo, file, sha, ref, options = T.unsafe(nil)); end
+
+ private
+
+ # source://octokit//lib/octokit/client/code_scanning.rb#43
+ def compress_sarif_data(file); end
+end
+
+# Methods for the Codespaces Secrets API
+#
+# @see https://docs.github.com/en/rest/codespaces/
+#
+# source://octokit//lib/octokit/client/codespaces_secrets.rb#8
+module Octokit::Client::CodespacesSecrets
+ # Create or update secrets
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @param options [Hash] encrypted_value and key_id
+ # @see https://docs.github.com/en/rest/codespaces/repository-secrets?apiVersion=2022-11-28#create-or-update-a-repository-secret
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#75
+ def create_or_update_codespaces_secret(repo, name, options); end
+
+ # Create or update org secrets
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @param options [Hash] encrypted_value and key_id
+ # @see https://docs.github.com/en/rest/codespaces/organization-secrets?apiVersion=2022-11-28#create-or-update-an-organization-secret
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#85
+ def create_or_update_org_codespaces_secret(org, name, options); end
+
+ # Delete a secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @see https://docs.github.com/en/rest/codespaces/repository-secrets?apiVersion=2022-11-28#delete-a-repository-secret
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#94
+ def delete_codespaces_secret(repo, name); end
+
+ # Delete an org secret
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @see https://docs.github.com/en/rest/codespaces/organization-secrets?apiVersion=2022-11-28#delete-an-organization-secret
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#103
+ def delete_org_codespaces_secret(org, name); end
+
+ # Get public key for secrets encryption
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Hash] key_id and key
+ # @see https://docs.github.com/en/rest/codespaces/repository-secrets#get-a-repository-public-key
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#14
+ def get_codespaces_public_key(repo); end
+
+ # Get a secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @return [Hash] name, created_at, updated_at, and visibility
+ # @see https://docs.github.com/en/rest/codespaces/repository-secrets?apiVersion=2022-11-28#get-a-repository-secret
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#55
+ def get_codespaces_secret(repo, name); end
+
+ # Get public key for secrets encryption
+ #
+ # @param org [String] A GitHub organization
+ # @return [Hash] key_id and key
+ # @see https://docs.github.com/en/rest/codespaces/organization-secrets?apiVersion=2022-11-28#get-an-organization-public-key
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#23
+ def get_org_codespaces_public_key(org); end
+
+ # Get an org secret
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @return [Hash] name, created_at, updated_at, and visibility
+ # @see https://docs.github.com/en/rest/codespaces/organization-secrets?apiVersion=2022-11-28#get-an-organization-secret
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#65
+ def get_org_codespaces_secret(org, name); end
+
+ # List secrets
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
+ # @see https://docs.github.com/en/rest/codespaces/repository-secrets?apiVersion=2022-11-28#list-repository-secrets
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#32
+ def list_codespaces_secrets(repo); end
+
+ # List org secrets
+ #
+ # @param org [String] A GitHub organization
+ # @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
+ # @see https://docs.github.com/en/rest/codespaces/organization-secrets?apiVersion=2022-11-28#list-organization-secrets
+ #
+ # source://octokit//lib/octokit/client/codespaces_secrets.rb#43
+ def list_org_codespaces_secrets(org); end
+end
+
+# Methods for the Branches for HEAD API
+#
+# @see https://developer.github.com/v3/repos/commits/
+#
+# source://octokit//lib/octokit/client/commit_branches.rb#8
+module Octokit::Client::CommitBranches
+ # List branches for a single HEAD commit
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param sha [String] The SHA of the commit whose branches will be fetched
+ # @return [Array] List of branches
+ # @see https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit
+ #
+ # source://octokit//lib/octokit/client/commit_branches.rb#15
+ def commit_branches(repo, sha, options = T.unsafe(nil)); end
+end
+
+# Methods for the Commit Comments API
+#
+# @see https://developer.github.com/v3/repos/comments/
+#
+# source://octokit//lib/octokit/client/commit_comments.rb#8
+module Octokit::Client::CommitComments
+ # Get a single commit comment
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [String] The ID of the comment to fetch
+ # @return [Sawyer::Resource] Commit comment
+ # @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment
+ #
+ # source://octokit//lib/octokit/client/commit_comments.rb#34
+ def commit_comment(repo, id, options = T.unsafe(nil)); end
+
+ # List comments for a single commit
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param sha [String] The SHA of the commit whose comments will be fetched
+ # @return [Array] List of commit comments
+ # @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit
+ #
+ # source://octokit//lib/octokit/client/commit_comments.rb#24
+ def commit_comments(repo, sha, options = T.unsafe(nil)); end
+
+ # Create a commit comment
+ #
+ # @example Create a commit comment
+ # comment = Octokit.create_commit_comment("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132", "My comment message", "README.md", 10, 1)
+ # comment.commit_id # => "827efc6d56897b048c772eb4087f854f46256132"
+ # comment.id # => 54321
+ # comment.body # => "My comment message"
+ # comment.path # => "README.md"
+ # comment.line # => 10
+ # comment.position # => 1
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param sha [String] Sha of the commit to comment on
+ # @param body [String] Message
+ # @param path [String] Relative path of file to comment on
+ # @param line [Integer] Line number in the file to comment on
+ # @param position [Integer] Line index in the diff to comment on
+ # @return [Sawyer::Resource] Commit comment
+ # @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment
+ #
+ # source://octokit//lib/octokit/client/commit_comments.rb#56
+ def create_commit_comment(repo, sha, body, path = T.unsafe(nil), line = T.unsafe(nil), position = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Delete a commit comment
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [String] The ID of the comment to delete
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment
+ #
+ # source://octokit//lib/octokit/client/commit_comments.rb#90
+ def delete_commit_comment(repo, id, options = T.unsafe(nil)); end
+
+ # List all commit comments
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Array] List of commit comments
+ # @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/commit_comments.rb#14
+ def list_commit_comments(repo, options = T.unsafe(nil)); end
+
+ # Update a commit comment
+ #
+ # @example Update a commit comment
+ # comment = Octokit.update_commit_comment("octocat/Hello-World", "860296", "Updated commit comment")
+ # comment.id # => 860296
+ # comment.body # => "Updated commit comment"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [String] The ID of the comment to update
+ # @param body [String] Message
+ # @return [Sawyer::Resource] Updated commit comment
+ # @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment
+ #
+ # source://octokit//lib/octokit/client/commit_comments.rb#77
+ def update_commit_comment(repo, id, body, options = T.unsafe(nil)); end
+end
+
+# Methods for the Commit Pulls API
+#
+# @see https://developer.github.com/v3/repos/comments/
+#
+# source://octokit//lib/octokit/client/commit_pulls.rb#8
+module Octokit::Client::CommitPulls
+ # List pulls for a single commit
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param sha [String] The SHA of the commit whose pulls will be fetched
+ # @return [Array] List of commit pulls
+ # @see https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit
+ #
+ # source://octokit//lib/octokit/client/commit_pulls.rb#15
+ def commit_pulls(repo, sha, options = T.unsafe(nil)); end
+end
+
+# Methods for the Commits API
+#
+# @see https://developer.github.com/v3/repos/commits/
+#
+# source://octokit//lib/octokit/client/commits.rb#10
+module Octokit::Client::Commits
+ # Get a single commit
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param sha [String] The SHA of the commit to fetch
+ # @return [Sawyer::Resource] A hash representing the commit
+ # @see https://developer.github.com/v3/repos/commits/#get-a-single-commit
+ #
+ # source://octokit//lib/octokit/client/commits.rb#143
+ def commit(repo, sha, options = T.unsafe(nil)); end
+
+ # List commits
+ #
+ # @overload commits
+ # @overload commits
+ # @return [Array] An array of hashes representing commits
+ # @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
+ #
+ # source://octokit//lib/octokit/client/commits.rb#23
+ def commits(*args); end
+
+ # Get commits before a specified date
+ #
+ # @example
+ # Octokit.commits_before('octokit/octokit.rb', '2012-10-01')
+ # @overload commits_before
+ # @overload commits_before
+ # @return [Array] An array of hashes representing commits
+ # @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
+ #
+ # source://octokit//lib/octokit/client/commits.rb#71
+ def commits_before(*args); end
+
+ # Get commits made between two nominated dates
+ #
+ # @example
+ # Octokit.commits_between('octokit/octokit.rb', '2012-10-01', '2012-11-01')
+ # @overload commits_between
+ # @overload commits_between
+ # @return [Array] An array of hashes representing commits
+ # @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
+ #
+ # source://octokit//lib/octokit/client/commits.rb#122
+ def commits_between(*args); end
+
+ # Get commits on a specified date
+ #
+ # @example
+ # Octokit.commits_on('octokit/octokit.rb', '2012-10-01')
+ # @overload commits_on
+ # @overload commits_on
+ # @return [Array] An array of hashes representing commits
+ # @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
+ #
+ # source://octokit//lib/octokit/client/commits.rb#95
+ def commits_on(*args); end
+
+ # Get commits after a specified date
+ #
+ # @example
+ # Octokit.commits_since('octokit/octokit.rb', '2012-10-01')
+ # @overload commits_since
+ # @overload commits_since
+ # @return [Array] An array of hashes representing commits
+ # @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
+ #
+ # source://octokit//lib/octokit/client/commits.rb#47
+ def commits_since(*args); end
+
+ # Compare two commits
+ #
+ # When using auto_pagination, commits from all pages will be concatenated
+ # into the commits attribute of the first page's response.
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param start [String] The sha of the starting commit
+ # @param endd [String] The sha of the ending commit
+ # @return [Sawyer::Resource] A hash representing the comparison
+ # @see https://developer.github.com/v3/repos/commits/#compare-two-commits
+ #
+ # source://octokit//lib/octokit/client/commits.rb#192
+ def compare(repo, start, endd, options = T.unsafe(nil)); end
+
+ # Create a commit
+ #
+ # Optionally pass author and committer hashes in options
+ # if you'd like manual control over those parameters. If absent, details will be
+ # inferred from the authenticated user. See GitHub's documentation
+ # for details about how to format committer identities.
+ #
+ # @example Create a commit
+ # commit = Octokit.create_commit("octocat/Hello-World", "My commit message", "827efc6d56897b048c772eb4087f854f46256132", "7d1b31e74ee336d15cbd21741bc88a537ed063a0")
+ # commit.sha # => "7638417db6d59f3c431d3e1f261cc637155684cd"
+ # commit.tree.sha # => "827efc6d56897b048c772eb4087f854f46256132"
+ # commit.message # => "My commit message"
+ # commit.committer # => { "name" => "Wynn Netherland", "email" => "wynn@github.com", ... }
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param message [String] The commit message
+ # @param tree [String] The SHA of the tree object the new commit will point to
+ # @param parents [String, Array] One SHA (for a normal commit) or an array of SHAs (for a merge) of the new commit's parent commits. If ommitted or empty, a root commit will be created
+ # @return [Sawyer::Resource] A hash representing the new commit
+ # @see https://developer.github.com/v3/git/commits/#create-a-commit
+ #
+ # source://octokit//lib/octokit/client/commits.rb#176
+ def create_commit(repo, message, tree, parents = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Get a detailed git commit
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param sha [String] The SHA of the commit to fetch
+ # @return [Sawyer::Resource] A hash representing the commit
+ # @see https://developer.github.com/v3/git/commits/#get-a-commit
+ #
+ # source://octokit//lib/octokit/client/commits.rb#153
+ def git_commit(repo, sha, options = T.unsafe(nil)); end
+
+ # List commits
+ #
+ # @overload commits
+ # @overload commits
+ # @return [Array] An array of hashes representing commits
+ # @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository
+ #
+ # source://octokit//lib/octokit/client/commits.rb#23
+ def list_commits(*args); end
+
+ # Merge a branch or sha
+ #
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param base [String] The name of the base branch to merge into
+ # @param head [String] The branch or SHA1 to merge
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] A hash representing the comparison
+ # @see https://developer.github.com/v3/repos/merging/#perform-a-merge
+ #
+ # source://octokit//lib/octokit/client/commits.rb#206
+ def merge(repo, base, head, options = T.unsafe(nil)); end
+
+ protected
+
+ # source://octokit//lib/octokit/client/commits.rb#216
+ def iso8601(date); end
+
+ # Parses the given string representation of a date, throwing a meaningful exception
+ # (containing the date that failed to parse) in case of failure.
+ #
+ # @param date [String] String representation of a date
+ # @return [DateTime]
+ #
+ # source://octokit//lib/octokit/client/commits.rb#229
+ def parse_date(date); end
+end
+
+# Methods for the Community Profile API
+#
+# @see https://developer.github.com/v3/repos/community/
+#
+# source://octokit//lib/octokit/client/community_profile.rb#8
+module Octokit::Client::CommunityProfile
+ # Get community profile metrics for a repository
+ #
+ # @example Get community profile metrics for octokit/octokit.rb
+ # @client.community_profile('octokit/octokit.rb')
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Sawyer::Resource] Community profile metrics
+ # @see https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics
+ #
+ # source://octokit//lib/octokit/client/community_profile.rb#16
+ def community_profile(repo, options = T.unsafe(nil)); end
+end
+
+# Methods for the Repo Contents API
+#
+# @see https://developer.github.com/v3/repos/contents/
+#
+# source://octokit//lib/octokit/client/contents.rb#10
+module Octokit::Client::Contents
+ # Add content to a repository
+ #
+ # @example Add content at lib/octokit.rb
+ # Octokit.create_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Adding content",
+ # "File content",
+ # :branch => "my-new-feature")
+ # @overload create_contents
+ # @raise [ArgumentError]
+ # @return [Sawyer::Resource] The contents and commit info for the addition
+ # @see https://developer.github.com/v3/repos/contents/#create-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#61
+ def add_content(*args); end
+
+ # Add content to a repository
+ #
+ # @example Add content at lib/octokit.rb
+ # Octokit.create_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Adding content",
+ # "File content",
+ # :branch => "my-new-feature")
+ # @overload create_contents
+ # @raise [ArgumentError]
+ # @return [Sawyer::Resource] The contents and commit info for the addition
+ # @see https://developer.github.com/v3/repos/contents/#create-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#61
+ def add_contents(*args); end
+
+ # This method will provide a URL to download a tarball or zipball archive for a repository.
+ #
+ # @example Get archive link for octokit/octokit.rb
+ # Octokit.archive_link("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository.
+ # @param options [Hash] a customizable set of options
+ # @return [String] Location of the download
+ # @see https://developer.github.com/v3/repos/contents/#get-archive-link
+ #
+ # source://octokit//lib/octokit/client/contents.rb#157
+ def archive_link(repo, options = T.unsafe(nil)); end
+
+ # Receive a listing of a repository folder or the contents of a file
+ #
+ # @example List the contents of lib/octokit.rb
+ # Octokit.contents("octokit/octokit.rb", :path => 'lib/octokit.rb')
+ # @example Lists the contents of lib /octokit.rb on a particular branch
+ # Octokit.contents("octokit/octokit.rb", :path => 'lib/octokit.rb', :query => {:ref => 'some-other-branch'})
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The contents of a file or list of the files in the folder
+ # @see https://developer.github.com/v3/repos/contents/#get-contents
+ #
+ # source://octokit//lib/octokit/client/contents.rb#36
+ def content(repo, options = T.unsafe(nil)); end
+
+ # Receive a listing of a repository folder or the contents of a file
+ #
+ # @example List the contents of lib/octokit.rb
+ # Octokit.contents("octokit/octokit.rb", :path => 'lib/octokit.rb')
+ # @example Lists the contents of lib /octokit.rb on a particular branch
+ # Octokit.contents("octokit/octokit.rb", :path => 'lib/octokit.rb', :query => {:ref => 'some-other-branch'})
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The contents of a file or list of the files in the folder
+ # @see https://developer.github.com/v3/repos/contents/#get-contents
+ #
+ # source://octokit//lib/octokit/client/contents.rb#36
+ def contents(repo, options = T.unsafe(nil)); end
+
+ # Add content to a repository
+ #
+ # @example Add content at lib/octokit.rb
+ # Octokit.create_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Adding content",
+ # "File content",
+ # :branch => "my-new-feature")
+ # @overload create_contents
+ # @raise [ArgumentError]
+ # @return [Sawyer::Resource] The contents and commit info for the addition
+ # @see https://developer.github.com/v3/repos/contents/#create-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#61
+ def create_content(*args); end
+
+ # Add content to a repository
+ #
+ # @example Add content at lib/octokit.rb
+ # Octokit.create_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Adding content",
+ # "File content",
+ # :branch => "my-new-feature")
+ # @overload create_contents
+ # @raise [ArgumentError]
+ # @return [Sawyer::Resource] The contents and commit info for the addition
+ # @see https://developer.github.com/v3/repos/contents/#create-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#61
+ def create_contents(*args); end
+
+ # Delete content in a repository
+ #
+ # @example Delete content at lib/octokit.rb
+ # Octokit.delete_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Deleting content",
+ # "7eb95f97e1a0636015df3837478d3f15184a5f49",
+ # :branch => "my-new-feature")
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param path [String] A path for the content to delete
+ # @param message [String] A commit message for deleting the content
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The commit info for the delete
+ # @see https://developer.github.com/v3/repos/contents/#delete-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#138
+ def delete_content(repo, path, message, sha, options = T.unsafe(nil)); end
+
+ # Delete content in a repository
+ #
+ # @example Delete content at lib/octokit.rb
+ # Octokit.delete_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Deleting content",
+ # "7eb95f97e1a0636015df3837478d3f15184a5f49",
+ # :branch => "my-new-feature")
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param path [String] A path for the content to delete
+ # @param message [String] A commit message for deleting the content
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The commit info for the delete
+ # @see https://developer.github.com/v3/repos/contents/#delete-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#138
+ def delete_contents(repo, path, message, sha, options = T.unsafe(nil)); end
+
+ # Receive the default Readme for a repository
+ #
+ # @example Get the readme file for a repo
+ # Octokit.readme("octokit/octokit.rb")
+ # @example Get the readme file for a particular branch of the repo
+ # Octokit.readme("octokit/octokit.rb", :query => {:ref => 'some-other-branch'})
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The detail of the readme
+ # @see https://developer.github.com/v3/repos/contents/#get-the-readme
+ #
+ # source://octokit//lib/octokit/client/contents.rb#21
+ def readme(repo, options = T.unsafe(nil)); end
+
+ # Delete content in a repository
+ #
+ # @example Delete content at lib/octokit.rb
+ # Octokit.delete_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Deleting content",
+ # "7eb95f97e1a0636015df3837478d3f15184a5f49",
+ # :branch => "my-new-feature")
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param path [String] A path for the content to delete
+ # @param message [String] A commit message for deleting the content
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The commit info for the delete
+ # @see https://developer.github.com/v3/repos/contents/#delete-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#138
+ def remove_content(repo, path, message, sha, options = T.unsafe(nil)); end
+
+ # Delete content in a repository
+ #
+ # @example Delete content at lib/octokit.rb
+ # Octokit.delete_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Deleting content",
+ # "7eb95f97e1a0636015df3837478d3f15184a5f49",
+ # :branch => "my-new-feature")
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param path [String] A path for the content to delete
+ # @param message [String] A commit message for deleting the content
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The commit info for the delete
+ # @see https://developer.github.com/v3/repos/contents/#delete-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#138
+ def remove_contents(repo, path, message, sha, options = T.unsafe(nil)); end
+
+ # Update content in a repository
+ #
+ # @example Update content at lib/octokit.rb
+ # Octokit.update_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Updating content",
+ # "7eb95f97e1a0636015df3837478d3f15184a5f49",
+ # "File content",
+ # :branch => "my-new-feature")
+ # @overload update_contents
+ # @return [Sawyer::Resource] The contents and commit info for the update
+ # @see https://developer.github.com/v3/repos/contents/#update-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#111
+ def update_content(*args); end
+
+ # Update content in a repository
+ #
+ # @example Update content at lib/octokit.rb
+ # Octokit.update_contents("octokit/octokit.rb",
+ # "lib/octokit.rb",
+ # "Updating content",
+ # "7eb95f97e1a0636015df3837478d3f15184a5f49",
+ # "File content",
+ # :branch => "my-new-feature")
+ # @overload update_contents
+ # @return [Sawyer::Resource] The contents and commit info for the update
+ # @see https://developer.github.com/v3/repos/contents/#update-a-file
+ #
+ # source://octokit//lib/octokit/client/contents.rb#111
+ def update_contents(*args); end
+end
+
+# Methods for the dependabot Secrets API
+#
+# @see https://docs.github.com/en/rest/dependabot/
+#
+# source://octokit//lib/octokit/client/dependabot_secrets.rb#8
+module Octokit::Client::DependabotSecrets
+ # Create or update secrets
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @param options [Hash] encrypted_value and key_id
+ # @see https://docs.github.com/en/rest/dependabot/repository-secrets?apiVersion=2022-11-28#create-or-update-a-repository-secret
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#75
+ def create_or_update_dependabot_secret(repo, name, options); end
+
+ # Create or update org secrets
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @param options [Hash] encrypted_value and key_id
+ # @see https://docs.github.com/en/rest/dependabot/organization-secrets?apiVersion=2022-11-28#create-or-update-an-organization-secret
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#85
+ def create_or_update_org_dependabot_secret(org, name, options); end
+
+ # Delete a secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @see https://docs.github.com/en/rest/dependabot/repository-secrets?apiVersion=2022-11-28#delete-a-repository-secret
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#94
+ def delete_dependabot_secret(repo, name); end
+
+ # Delete an org secret
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @see https://docs.github.com/en/rest/dependabot/organization-secrets?apiVersion=2022-11-28#delete-an-organization-secret
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#103
+ def delete_org_dependabot_secret(org, name); end
+
+ # Get public key for secrets encryption
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Hash] key_id and key
+ # @see https://docs.github.com/en/rest/dependabot/repository-secrets#get-a-repository-public-key
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#14
+ def get_dependabot_public_key(repo); end
+
+ # Get a secret
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param name [String] Name of secret
+ # @return [Hash] name, created_at, updated_at, and visibility
+ # @see https://docs.github.com/en/rest/dependabot/repository-secrets?apiVersion=2022-11-28#get-a-repository-secret
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#55
+ def get_dependabot_secret(repo, name); end
+
+ # Get public key for secrets encryption
+ #
+ # @param org [String] A GitHub organization
+ # @return [Hash] key_id and key
+ # @see https://docs.github.com/en/rest/dependabot/organization-secrets?apiVersion=2022-11-28#get-an-organization-public-key
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#23
+ def get_org_dependabot_public_key(org); end
+
+ # Get an org secret
+ #
+ # @param org [String] A GitHub organization
+ # @param name [String] Name of secret
+ # @return [Hash] name, created_at, updated_at, and visibility
+ # @see https://docs.github.com/en/rest/dependabot/organization-secrets?apiVersion=2022-11-28#get-an-organization-secret
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#65
+ def get_org_dependabot_secret(org, name); end
+
+ # List secrets
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
+ # @see https://docs.github.com/en/rest/dependabot/repository-secrets?apiVersion=2022-11-28#list-repository-secrets
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#32
+ def list_dependabot_secrets(repo); end
+
+ # List org secrets
+ #
+ # @param org [String] A GitHub organization
+ # @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
+ # @see https://docs.github.com/en/rest/dependabot/organization-secrets?apiVersion=2022-11-28#list-organization-secrets
+ #
+ # source://octokit//lib/octokit/client/dependabot_secrets.rb#43
+ def list_org_dependabot_secrets(org); end
+end
+
+# Methods for the Deployments API
+#
+# @see https://developer.github.com/v3/repos/commits/deployments/
+#
+# source://octokit//lib/octokit/client/deployments.rb#8
+module Octokit::Client::Deployments
+ # Create a deployment for a ref
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param ref [String] The ref to deploy
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] A deployment
+ # @see https://developer.github.com/v3/repos/deployments/#create-a-deployment
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#41
+ def create_deployment(repo, ref, options = T.unsafe(nil)); end
+
+ # Create a deployment status for a Deployment
+ #
+ # @option options
+ # @option options
+ # @param deployment_url [String] A URL for a deployment resource
+ # @param state [String] The state: pending, success, failure, error
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] A deployment status
+ # @see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#75
+ def create_deployment_status(deployment_url, state, options = T.unsafe(nil)); end
+
+ # Delete a Deployment
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param deployment_id [Integer, String, Repository, Hash] A GitHub repository
+ # @return [No Content]
+ # @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#52
+ def delete_deployment(repo, deployment_id, options = T.unsafe(nil)); end
+
+ # Fetch a single deployment for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param deployment_id [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Sawyer::Resource] A single deployment
+ # @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#15
+ def deployment(repo, deployment_id, options = T.unsafe(nil)); end
+
+ # List all statuses for a Deployment
+ #
+ # @param deployment_url [String] A URL for a deployment resource
+ # @return [Array] A list of deployment statuses
+ # @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#61
+ def deployment_statuses(deployment_url, options = T.unsafe(nil)); end
+
+ # List all deployments for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] A list of deployments
+ # @see https://developer.github.com/v3/repos/deployments/#list-deployments
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#24
+ def deployments(repo, options = T.unsafe(nil)); end
+
+ # List all statuses for a Deployment
+ #
+ # @param deployment_url [String] A URL for a deployment resource
+ # @return [Array] A list of deployment statuses
+ # @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#61
+ def list_deployment_statuses(deployment_url, options = T.unsafe(nil)); end
+
+ # List all deployments for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] A list of deployments
+ # @see https://developer.github.com/v3/repos/deployments/#list-deployments
+ #
+ # source://octokit//lib/octokit/client/deployments.rb#24
+ def list_deployments(repo, options = T.unsafe(nil)); end
+end
+
+# Methods for the Repo Downloads API
+#
+# @see https://developer.github.com/v3/repos/downloads/
+#
+# source://octokit//lib/octokit/client/downloads.rb#8
+module Octokit::Client::Downloads
+ # Delete a single download for a repository
+ #
+ # @deprecated As of December 11th, 2012: https://github.com/blog/1302-goodbye-uploads
+ # @example Get the "Robawt" download from Github/Hubot
+ # Octokit.delete_download("github/hubot", 1234)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] ID of the download
+ # @return [Boolean] Status
+ # @see https://developer.github.com/v3/repos/downloads/#delete-a-download
+ #
+ # source://octokit//lib/octokit/client/downloads.rb#44
+ def delete_download(repo, id, options = T.unsafe(nil)); end
+
+ # Get single download for a repository
+ #
+ # @deprecated As of December 11th, 2012: https://github.com/blog/1302-goodbye-uploads
+ # @example Get the "Robawt" download from Github/Hubot
+ # Octokit.download("github/hubot")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer] ID of the download
+ # @return [Sawyer::Resource] A single download from the repository
+ # @see https://developer.github.com/v3/repos/downloads/#get-a-single-download
+ #
+ # source://octokit//lib/octokit/client/downloads.rb#31
+ def download(repo, id, options = T.unsafe(nil)); end
+
+ # List available downloads for a repository
+ #
+ # @deprecated As of December 11th, 2012: https://github.com/blog/1302-goodbye-uploads
+ # @example List all downloads for Github/Hubot
+ # Octokit.downloads("github/hubot")
+ # @param repo [Integer, String, Repository, Hash] A Github Repository
+ # @return [Array] A list of available downloads
+ # @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/downloads.rb#17
+ def downloads(repo, options = T.unsafe(nil)); end
+
+ # List available downloads for a repository
+ #
+ # @deprecated As of December 11th, 2012: https://github.com/blog/1302-goodbye-uploads
+ # @example List all downloads for Github/Hubot
+ # Octokit.downloads("github/hubot")
+ # @param repo [Integer, String, Repository, Hash] A Github Repository
+ # @return [Array] A list of available downloads
+ # @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/downloads.rb#17
+ def list_downloads(repo, options = T.unsafe(nil)); end
+end
+
+# Methods for the Emojis API
+#
+# source://octokit//lib/octokit/client/emojis.rb#6
+module Octokit::Client::Emojis
+ # List all emojis used on GitHub
+ #
+ # @example List all emojis
+ # Octokit.emojis
+ # @return [Sawyer::Resource] A list of all emojis on GitHub
+ # @see https://developer.github.com/v3/emojis/#emojis
+ #
+ # source://octokit//lib/octokit/client/emojis.rb#13
+ def emojis(options = T.unsafe(nil)); end
+end
+
+# Methods for the Environments API
+#
+# @see https://docs.github.com/en/rest/deployments/environments
+#
+# source://octokit//lib/octokit/client/environments.rb#8
+module Octokit::Client::Environments
+ # Create or update an environment with protection rules, such as required reviewers
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param environment_name [String] The name of the environment
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] An environment
+ # @see https://docs.github.com/en/rest/deployments/environments#create-or-update-an-environment
+ #
+ # source://octokit//lib/octokit/client/environments.rb#40
+ def create_or_update_environment(repo, environment_name, options = T.unsafe(nil)); end
+
+ # Delete an Environment
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param environment_name [String] The name of the environment
+ # @return [No Content]
+ # @see https://docs.github.com/en/rest/deployments/environments#delete-an-environment
+ #
+ # source://octokit//lib/octokit/client/environments.rb#50
+ def delete_environment(repo, environment_name, options = T.unsafe(nil)); end
+
+ # Fetch a single environment for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param environment_name [String] The name of the environment
+ # @return [Sawyer::Resource] A single environment
+ # @see https://docs.github.com/en/rest/deployments/environments#get-an-environment
+ #
+ # source://octokit//lib/octokit/client/environments.rb#15
+ def environment(repo, environment_name, options = T.unsafe(nil)); end
+
+ # Lists the environments for a repository
+ #
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Total count of environments and list of environments
+ # @see https://docs.github.com/en/rest/deployments/environments#list-environments
+ #
+ # source://octokit//lib/octokit/client/environments.rb#26
+ def environments(repo, options = T.unsafe(nil)); end
+
+ # Lists the environments for a repository
+ #
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Total count of environments and list of environments
+ # @see https://docs.github.com/en/rest/deployments/environments#list-environments
+ #
+ # source://octokit//lib/octokit/client/environments.rb#26
+ def list_environments(repo, options = T.unsafe(nil)); end
+end
+
+# Method for the Events API
+#
+# @see https://developer.github.com/v3/activity/events/
+# @see https://developer.github.com/v3/issues/events/
+#
+# source://octokit//lib/octokit/client/events.rb#9
+module Octokit::Client::Events
+ # Get information on a single Issue Event
+ #
+ # @example Get Event information for ID 3094334 (a pull request was closed)
+ # Octokit.issue_event("octokit/octokit.rb", 3094334)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Event number
+ # @return [Sawyer::Resource] A single Event for an Issue
+ # @see https://developer.github.com/v3/issues/events/#get-a-single-event
+ #
+ # source://octokit//lib/octokit/client/events.rb#146
+ def issue_event(repo, number, options = T.unsafe(nil)); end
+
+ # List events for an Issue
+ #
+ # @example List all issues events for issue #38 on octokit/octokit.rb
+ # Octokit.issue_events("octokit/octokit.rb", 38)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Issue number
+ # @return [Array] Array of events for that issue
+ # @see https://developer.github.com/v3/issues/events/#list-events-for-an-issue
+ #
+ # source://octokit//lib/octokit/client/events.rb#133
+ def issue_events(repo, number, options = T.unsafe(nil)); end
+
+ # List all events for an organization
+ #
+ # Requires authenticated client.
+ #
+ # @example List events for the lostisland organization
+ # @client.organization_events("lostisland")
+ # @param org [String] Organization GitHub handle
+ # @return [Array] List of all events from a GitHub organization
+ # @see https://developer.github.com/v3/activity/events/#list-events-for-an-organization
+ #
+ # source://octokit//lib/octokit/client/events.rb#95
+ def organization_events(org, options = T.unsafe(nil)); end
+
+ # List an organization's public events
+ #
+ # @example List public events for GitHub
+ # Octokit.organization_public_events("GitHub")
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] List of public events from a GitHub organization
+ # @see https://developer.github.com/v3/activity/events/#list-public-events-for-an-organization
+ #
+ # source://octokit//lib/octokit/client/events.rb#106
+ def organization_public_events(org, options = T.unsafe(nil)); end
+
+ # List all public events for GitHub
+ #
+ # @example List all pubilc events
+ # Octokit.public_events
+ # @return [Array] A list of all public events from GitHub
+ # @see https://developer.github.com/v3/activity/events/#list-public-events
+ #
+ # source://octokit//lib/octokit/client/events.rb#16
+ def public_events(options = T.unsafe(nil)); end
+
+ # List events that a user has received
+ #
+ # @example List all user received events
+ # Octokit.received_events("sferik")
+ # @param user [Integer, String] GitHub user login or id
+ # @return [Array] A list of all user received events
+ # @see https://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received
+ #
+ # source://octokit//lib/octokit/client/events.rb#49
+ def received_events(user, options = T.unsafe(nil)); end
+
+ # List public events a user has received
+ #
+ # @example List public user received events
+ # Octokit.received_public_events("sferik")
+ # @param user [Integer, String] GitHub user login or id
+ # @return [Array] A list of public user received events
+ # @see https://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received
+ #
+ # source://octokit//lib/octokit/client/events.rb#60
+ def received_public_events(user, options = T.unsafe(nil)); end
+
+ # Get all Issue Events for a given Repository
+ #
+ # @example Get all Issue Events for Octokit
+ # Octokit.repository_issue_events("octokit/octokit.rb")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] Array of all Issue Events for this Repository
+ # @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository
+ # @see https://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/events.rb#119
+ def repo_issue_events(repo, options = T.unsafe(nil)); end
+
+ # List events for a repository
+ #
+ # @example List events for a repository
+ # Octokit.repository_events("sferik/rails_admin")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] A list of events for a repository
+ # @see https://developer.github.com/v3/activity/events/#list-repository-events
+ #
+ # source://octokit//lib/octokit/client/events.rb#71
+ def repository_events(repo, options = T.unsafe(nil)); end
+
+ # Get all Issue Events for a given Repository
+ #
+ # @example Get all Issue Events for Octokit
+ # Octokit.repository_issue_events("octokit/octokit.rb")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] Array of all Issue Events for this Repository
+ # @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository
+ # @see https://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/events.rb#119
+ def repository_issue_events(repo, options = T.unsafe(nil)); end
+
+ # List public events for a repository's network
+ #
+ # @example List events for a repository's network
+ # Octokit.repository_network_events("sferik/rails_admin")
+ # @param repo [String, Repository, Hash] A GitHub repository
+ # @return [Array] A list of events for a repository's network
+ # @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories
+ #
+ # source://octokit//lib/octokit/client/events.rb#82
+ def repository_network_events(repo, options = T.unsafe(nil)); end
+
+ # List all user events
+ #
+ # @example List all user events
+ # Octokit.user_events("sferik")
+ # @param user [Integer, String] GitHub user login or id.
+ # @return [Array] A list of all user events
+ # @see https://developer.github.com/v3/activity/events/#list-events-performed-by-a-user
+ #
+ # source://octokit//lib/octokit/client/events.rb#27
+ def user_events(user, options = T.unsafe(nil)); end
+
+ # List public user events
+ #
+ # @example List public user events
+ # Octokit.user_events("sferik")
+ # @param user [Integer, String] GitHub user login or id
+ # @return [Array] A list of public user events
+ # @see https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user
+ #
+ # source://octokit//lib/octokit/client/events.rb#38
+ def user_public_events(user, options = T.unsafe(nil)); end
+end
+
+# Methods for the Feeds API
+#
+# @see https://developer.github.com/v3/activity/feeds/
+#
+# source://octokit//lib/octokit/client/feeds.rb#8
+module Octokit::Client::Feeds
+ # Get a Feed by name
+ #
+ # @param name [Symbol, String] Name of feed to retrieve.
+ # @return [Feed] Parsed feed in the format returned by the configured
+ # parser.
+ #
+ # source://octokit//lib/octokit/client/feeds.rb#25
+ def feed(name, options = T.unsafe(nil)); end
+
+ # List Feeds
+ #
+ # The feeds returned depend on authentication, see the GitHub API docs
+ # for more information.
+ #
+ # @return [Array] list of feeds
+ # @see https://developer.github.com/v3/activity/feeds/#list-feeds
+ #
+ # source://octokit//lib/octokit/client/feeds.rb#16
+ def feeds; end
+end
+
+# Methods for the Gists API
+#
+# @see https://developer.github.com/v3/gists/
+#
+# source://octokit//lib/octokit/client/gists.rb#8
+module Octokit::Client::Gists
+ # Create a gist
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @param options [Hash] Gist information.
+ # @return [Sawyer::Resource] Newly created gist info
+ # @see https://developer.github.com/v3/gists/#create-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#71
+ def create_gist(options = T.unsafe(nil)); end
+
+ # Create gist comment
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.create_gist_comment('3528645', 'This is very helpful.')
+ # @param gist_id [String] Id of the gist.
+ # @param comment [String] Comment contents.
+ # @return [Sawyer::Resource] Hash representing the new comment.
+ # @see https://developer.github.com/v3/gists/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/gists.rb#198
+ def create_gist_comment(gist_id, comment, options = T.unsafe(nil)); end
+
+ # Delete a gist
+ #
+ # @param gist [String] Gist ID
+ # @return [Boolean] Indicating success of deletion
+ # @see https://developer.github.com/v3/gists/#delete-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#161
+ def delete_gist(gist, options = T.unsafe(nil)); end
+
+ # Delete gist comment
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.delete_gist_comment('208sdaz3', '586399')
+ # @param gist_id [String] Id of the gist.
+ # @param gist_comment_id [Integer] Id of the gist comment to delete.
+ # @return [Boolean] True if comment deleted, false otherwise.
+ # @see https://developer.github.com/v3/gists/comments/#delete-a-comment
+ #
+ # source://octokit//lib/octokit/client/gists.rb#229
+ def delete_gist_comment(gist_id, gist_comment_id, options = T.unsafe(nil)); end
+
+ # Edit a gist
+ #
+ # @example Update a gist
+ # @client.edit_gist('some_id', {
+ # :files => {"boo.md" => {"content" => "updated stuff"}}
+ # })
+ # @option options
+ # @option options
+ # @param options [Hash] Gist information.
+ # @return [Sawyer::Resource] Newly created gist info
+ # @see https://developer.github.com/v3/gists/#edit-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#93
+ def edit_gist(gist, options = T.unsafe(nil)); end
+
+ # Fork a gist
+ #
+ # @param gist [String] Gist ID
+ # @return [Sawyer::Resource] Data for the new gist
+ # @see https://developer.github.com/v3/gists/#fork-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#141
+ def fork_gist(gist, options = T.unsafe(nil)); end
+
+ # Get a single gist
+ #
+ # @option options
+ # @param gist [String] ID of gist to fetch
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Gist information
+ # @see https://developer.github.com/v3/gists/#get-a-single-gist
+ # @see https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#52
+ def gist(gist, options = T.unsafe(nil)); end
+
+ # Get gist comment
+ #
+ # @example
+ # Octokit.gist_comment('208sdaz3', 1451398)
+ # @param gist_id [String] Id of the gist.
+ # @param gist_comment_id [Integer] Id of the gist comment.
+ # @return [Sawyer::Resource] Hash representing gist comment.
+ # @see https://developer.github.com/v3/gists/comments/#get-a-single-comment
+ #
+ # source://octokit//lib/octokit/client/gists.rb#184
+ def gist_comment(gist_id, gist_comment_id, options = T.unsafe(nil)); end
+
+ # List gist comments
+ #
+ # @example
+ # Octokit.gist_comments('3528ae645')
+ # @param gist_id [String] Gist Id.
+ # @return [Array] Array of hashes representing comments.
+ # @see https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#172
+ def gist_comments(gist_id, options = T.unsafe(nil)); end
+
+ # List gist commits
+ #
+ # @example List commits for a gist
+ # @client.gist_commits('some_id')
+ # @param gist [String] Gist ID
+ # @return [Array] List of commits to the gist
+ # @see https://developer.github.com/v3/gists/#list-gist-commits
+ #
+ # source://octokit//lib/octokit/client/gists.rb#104
+ def gist_commits(gist, options = T.unsafe(nil)); end
+
+ # List gist forks
+ #
+ # @example List gist forks
+ # @client.gist_forks('some-id')
+ # @param gist [String] Gist ID
+ # @return [Array] List of gist forks
+ # @see https://developer.github.com/v3/gists/#list-gist-forks
+ #
+ # source://octokit//lib/octokit/client/gists.rb#152
+ def gist_forks(gist, options = T.unsafe(nil)); end
+
+ # Check if a gist is starred
+ #
+ # @param gist [String] Gist ID
+ # @return [Boolean] Indicates if gist is starred
+ # @see https://developer.github.com/v3/gists/#check-if-a-gist-is-starred
+ #
+ # source://octokit//lib/octokit/client/gists.rb#132
+ def gist_starred?(gist, options = T.unsafe(nil)); end
+
+ # List gists for a user or all public gists
+ #
+ # @example Fetch all gists for defunkt
+ # Octokit.gists('defunkt')
+ # @example Fetch all public gists
+ # Octokit.gists
+ # @param user [String] An optional user to filter listing
+ # @return [Array] A list of gists
+ # @see https://developer.github.com/v3/gists/#list-gists
+ #
+ # source://octokit//lib/octokit/client/gists.rb#18
+ def gists(user = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # List gists for a user or all public gists
+ #
+ # @example Fetch all gists for defunkt
+ # Octokit.gists('defunkt')
+ # @example Fetch all public gists
+ # Octokit.gists
+ # @param user [String] An optional user to filter listing
+ # @return [Array] A list of gists
+ # @see https://developer.github.com/v3/gists/#list-gists
+ #
+ # source://octokit//lib/octokit/client/gists.rb#18
+ def list_gists(user = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # List public gists
+ #
+ # @example Fetch all public gists
+ # Octokit.public_gists
+ # @return [Array] A list of gists
+ # @see https://developer.github.com/v3/gists/#list-gists
+ #
+ # source://octokit//lib/octokit/client/gists.rb#33
+ def public_gists(options = T.unsafe(nil)); end
+
+ # Star a gist
+ #
+ # @param gist [String] Gist ID
+ # @return [Boolean] Indicates if gist is starred successfully
+ # @see https://developer.github.com/v3/gists/#star-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#114
+ def star_gist(gist, options = T.unsafe(nil)); end
+
+ # List the authenticated user’s starred gists
+ #
+ # @return [Array] A list of gists
+ # @see https://developer.github.com/v3/gists/#list-gists
+ #
+ # source://octokit//lib/octokit/client/gists.rb#41
+ def starred_gists(options = T.unsafe(nil)); end
+
+ # Unstar a gist
+ #
+ # @param gist [String] Gist ID
+ # @return [Boolean] Indicates if gist is unstarred successfully
+ # @see https://developer.github.com/v3/gists/#unstar-a-gist
+ #
+ # source://octokit//lib/octokit/client/gists.rb#123
+ def unstar_gist(gist, options = T.unsafe(nil)); end
+
+ # Update gist comment
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.update_gist_comment('208sdaz3', '3528645', ':heart:')
+ # @param gist_id [String] Id of the gist.
+ # @param gist_comment_id [Integer] Id of the gist comment to update.
+ # @param comment [String] Updated comment contents.
+ # @return [Sawyer::Resource] Hash representing the updated comment.
+ # @see https://developer.github.com/v3/gists/comments/#edit-a-comment
+ #
+ # source://octokit//lib/octokit/client/gists.rb#214
+ def update_gist_comment(gist_id, gist_comment_id, comment, options = T.unsafe(nil)); end
+end
+
+# Methods for the Gitignore API
+#
+# @see https://developer.github.com/v3/gitignore/
+#
+# source://octokit//lib/octokit/client/gitignore.rb#8
+module Octokit::Client::Gitignore
+ # Get a gitignore template.
+ #
+ # Use the raw {http://developer.github.com/v3/media/ media type} to get
+ # the raw contents.
+ #
+ # @example Get the Ruby gitignore template
+ # @client.gitignore_template('Ruby')
+ # @param template_name [String] Name of the template. Template names are
+ # case sensitive, make sure to use a valid name from the
+ # .gitignore_templates list.
+ # @return [Sawyer::Resource] Gitignore template
+ # @see https://developer.github.com/v3/gitignore/#get-a-single-template
+ #
+ # source://octokit//lib/octokit/client/gitignore.rb#38
+ def gitignore_template(template_name, options = T.unsafe(nil)); end
+
+ # Listing available gitignore templates.
+ #
+ # These templates can be passed option when creating a repository.
+ #
+ # @example Git all the gitignore templates
+ # @client.gitignore_templates
+ # @return [Array] List of templates.
+ # @see https://developer.github.com/v3/gitignore/#listing-available-templates
+ #
+ # source://octokit//lib/octokit/client/gitignore.rb#19
+ def gitignore_templates(options = T.unsafe(nil)); end
+end
+
+# Methods for the Hooks API
+#
+# source://octokit//lib/octokit/client/hooks.rb#6
+module Octokit::Client::Hooks
+ # Create a hook
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.create_hook(
+ # 'octokit/octokit.rb',
+ # 'web',
+ # {
+ # :url => 'http://something.com/webhook',
+ # :content_type => 'json'
+ # },
+ # {
+ # :events => ['push', 'pull_request'],
+ # :active => true
+ # }
+ # )
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param name [String] The name of the service that is being called. See
+ # {https://api.github.com/hooks Hooks} for the possible names.
+ # @param config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook. These settings vary between the services and
+ # are defined in the {https://github.com/github/github-services github-services} repo.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hook info for the new hook
+ # @see https://api.github.com/hooks
+ # @see https://github.com/github/github-services
+ # @see https://developer.github.com/v3/repos/hooks/#create-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#65
+ def create_hook(repo, name, config, options = T.unsafe(nil)); end
+
+ # Create an org hook
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.create_org_hook(
+ # 'octokit',
+ # {
+ # :url => 'http://something.com/webhook',
+ # :content_type => 'json'
+ # },
+ # {
+ # :events => ['push', 'pull_request'],
+ # :active => true
+ # }
+ # )
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hook info for the new hook
+ # @see https://api.github.com/hooks
+ # @see https://developer.github.com/v3/orgs/hooks/#create-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#209
+ def create_org_hook(org, config, options = T.unsafe(nil)); end
+
+ # Edit a hook
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.edit_hook(
+ # 'octokit/octokit.rb',
+ # 100000,
+ # 'web',
+ # {
+ # :url => 'http://something.com/webhook',
+ # :content_type => 'json'
+ # },
+ # {
+ # :add_events => ['status'],
+ # :remove_events => ['pull_request'],
+ # :active => true
+ # }
+ # )
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param id [Integer] Id of the hook being updated.
+ # @param name [String] The name of the service that is being called. See
+ # {https://api.github.com/hooks Hooks} for the possible names.
+ # @param config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook. These settings vary between the services and
+ # are defined in the {https://github.com/github/github-services github-services} repo.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hook info for the updated hook
+ # @see https://api.github.com/hooks
+ # @see https://github.com/github/github-services
+ # @see https://developer.github.com/v3/repos/hooks/#edit-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#108
+ def edit_hook(repo, id, name, config, options = T.unsafe(nil)); end
+
+ # Update an org hook
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.edit_org_hook(
+ # 'octokit',
+ # 123,
+ # {
+ # :url => 'http://something.com/webhook',
+ # :content_type => 'json'
+ # },
+ # {
+ # :events => ['push', 'pull_request'],
+ # :active => true
+ # }
+ # )
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] Id of the hook to update.
+ # @param config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hook info for the new hook
+ # @see https://api.github.com/hooks
+ # @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#242
+ def edit_org_hook(org, id, config, options = T.unsafe(nil)); end
+
+ # Get single hook
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.hook('octokit/octokit.rb', 100000)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param id [Integer] Id of the hook to get.
+ # @return [Sawyer::Resource] Hash representing hook.
+ # @see https://developer.github.com/v3/repos/hooks/#get-single-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#30
+ def hook(repo, id, options = T.unsafe(nil)); end
+
+ # List repo hooks
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.hooks('octokit/octokit.rb')
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @return [Array] Array of hashes representing hooks.
+ # @see https://developer.github.com/v3/repos/hooks/#list-hooks
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#16
+ def hooks(repo, options = T.unsafe(nil)); end
+
+ # List org hooks
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.org_hooks('octokit')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing hooks.
+ # @see https://developer.github.com/v3/orgs/hooks/#list-hooks
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#164
+ def list_org_hooks(org, options = T.unsafe(nil)); end
+
+ # Get an org hook
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.org_hook('octokit', 123)
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] Id of the hook to get.
+ # @return [Sawyer::Resource] Hash representing hook.
+ # @see https://developer.github.com/v3/orgs/hooks/#get-single-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#179
+ def org_hook(org, id, options = T.unsafe(nil)); end
+
+ # List org hooks
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.org_hooks('octokit')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing hooks.
+ # @see https://developer.github.com/v3/orgs/hooks/#list-hooks
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#164
+ def org_hooks(org, options = T.unsafe(nil)); end
+
+ # Parse payload string
+ #
+ # @param payload_string [String] The payload
+ # @return [Sawyer::Resource] The payload object
+ # @see https://developer.github.com/v3/activity/events/types/
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#281
+ def parse_payload(payload_string); end
+
+ # Ping hook
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.ping_hook('octokit/octokit.rb', 1000000)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param id [Integer] Id of the hook to send a ping.
+ # @return [Boolean] Ping requested?
+ # @see https://developer.github.com/v3/repos/hooks/#ping-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#151
+ def ping_hook(repo, id, options = T.unsafe(nil)); end
+
+ # Ping org hook
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.ping_org_hook('octokit', 1000000)
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] Id of the hook to update.
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/orgs/hooks/#ping-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#258
+ def ping_org_hook(org, id, options = T.unsafe(nil)); end
+
+ # Delete hook
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.remove_hook('octokit/octokit.rb', 1000000)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param id [Integer] Id of the hook to remove.
+ # @return [Boolean] True if hook removed, false otherwise.
+ # @see https://developer.github.com/v3/repos/hooks/#delete-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#123
+ def remove_hook(repo, id, options = T.unsafe(nil)); end
+
+ # Remove org hook
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.remove_org_hook('octokit', 1000000)
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] Id of the hook to update.
+ # @return [Boolean] True if hook removed, false otherwise.
+ # @see https://developer.github.com/v3/orgs/hooks/#delete-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#272
+ def remove_org_hook(org, id, options = T.unsafe(nil)); end
+
+ # Test hook
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.test_hook('octokit/octokit.rb', 1000000)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param id [Integer] Id of the hook to test.
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/repos/hooks/#test-a-push-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#137
+ def test_hook(repo, id, options = T.unsafe(nil)); end
+
+ # Update an org hook
+ #
+ # Requires client authenticated as admin for the org.
+ #
+ # @example
+ # @client.edit_org_hook(
+ # 'octokit',
+ # 123,
+ # {
+ # :url => 'http://something.com/webhook',
+ # :content_type => 'json'
+ # },
+ # {
+ # :events => ['push', 'pull_request'],
+ # :active => true
+ # }
+ # )
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] Id of the hook to update.
+ # @param config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hook info for the new hook
+ # @see https://api.github.com/hooks
+ # @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook
+ #
+ # source://octokit//lib/octokit/client/hooks.rb#242
+ def update_org_hook(org, id, config, options = T.unsafe(nil)); end
+end
+
+# Methods for the Issues API
+#
+# @see https://developer.github.com/v3/issues/
+#
+# source://octokit//lib/octokit/client/issues.rb#8
+module Octokit::Client::Issues
+ # Add assignees to an issue
+ #
+ # @example Add assignees "pengwynn" and "joeyw" to Issue #23 on octokit/octokit.rb
+ # Octokit.add_assignees("octokit/octokit.rb", 23, ["pengwynn", "joeyw"])
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Issue number
+ # @param assignees [Array] Assignees to be added
+ # @return [Sawyer::Resource] Issue
+ # @see https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#344
+ def add_assignees(repo, number, assignees, options = T.unsafe(nil)); end
+
+ # Add a comment to an issue
+ #
+ # @example Add the comment "Almost to v1" to Issue #23 on octokit/octokit.rb
+ # Octokit.add_comment("octokit/octokit.rb", 23, "Almost to v1")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Issue number
+ # @param comment [String] Comment to be added
+ # @return [Sawyer::Resource] Comment
+ # @see https://developer.github.com/v3/issues/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/issues.rb#283
+ def add_comment(repo, number, comment, options = T.unsafe(nil)); end
+
+ # Close an issue
+ #
+ # @example Close Issue #25 from octokit/octokit.rb
+ # Octokit.close_issue("octokit/octokit.rb", "25")
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] The updated Issue
+ # @see https://developer.github.com/v3/issues/#edit-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#131
+ def close_issue(repo, number, options = T.unsafe(nil)); end
+
+ # Create an issue for a repository
+ #
+ # @example Create a new Issues for a repository
+ # Octokit.create_issue("sferik/rails_admin", 'Updated Docs', 'Added some extra links')
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param title [String] A descriptive title
+ # @param body [String] An optional concise description
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] Your newly created issue
+ # @see https://developer.github.com/v3/issues/#create-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#91
+ def create_issue(repo, title, body = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Delete a single comment
+ #
+ # @example Delete the comment #1194549 on an issue on octokit/octokit.rb
+ # Octokit.delete_comment("octokit/octokit.rb", 1194549)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Comment number
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/issues/comments/#delete-a-comment
+ #
+ # source://octokit//lib/octokit/client/issues.rb#308
+ def delete_comment(repo, number, options = T.unsafe(nil)); end
+
+ # Get a single issue from a repository
+ #
+ # @example Get issue #25 from octokit/octokit.rb
+ # Octokit.issue("octokit/octokit.rb", "25")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @return [Sawyer::Resource] The issue you requested, if it exists
+ # @see https://developer.github.com/v3/issues/#get-a-single-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#114
+ def issue(repo, number, options = T.unsafe(nil)); end
+
+ # Get a single comment attached to an issue
+ #
+ # @example Get comment #1194549 from an issue on octokit/octokit.rb
+ # Octokit.issue_comment("octokit/octokit.rb", 1194549)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the comment
+ # @return [Sawyer::Resource] The specific comment in question
+ # @see https://developer.github.com/v3/issues/comments/#get-a-single-comment
+ #
+ # source://octokit//lib/octokit/client/issues.rb#270
+ def issue_comment(repo, number, options = T.unsafe(nil)); end
+
+ # Get all comments attached to an issue
+ #
+ # @example Get comments for issue #25 from octokit/octokit.rb
+ # Octokit.issue_comments("octokit/octokit.rb", "25")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @return [Array] Array of comments that belong to an issue
+ # @see https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#258
+ def issue_comments(repo, number, options = T.unsafe(nil)); end
+
+ # Get the timeline for an issue
+ #
+ # @example Get timeline for issue #1435 on octokit/octokit.rb
+ # Octokit.issue_timeline("octokit/octokit.rb", 1435)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the comment
+ # @return [Sawyer::Resource] The timeline for this issue
+ # @see https://developer.github.com/v3/issues/timeline/
+ #
+ # source://octokit//lib/octokit/client/issues.rb#320
+ def issue_timeline(repo, number, options = T.unsafe(nil)); end
+
+ # List issues for the authenticated user or repository
+ #
+ # @example List issues for a repository
+ # Octokit.list_issues("sferik/rails_admin")
+ # @example List issues for the authenticated user across repositories
+ # @client = Octokit::Client.new(:login => 'foo', :password => 'bar')
+ # @client.list_issues
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository.
+ # @param options [Sawyer::Resource] A customizable set of options.
+ # @return [Array] A list of issues for a repository.
+ # @see https://developer.github.com/v3/issues/#list-issues-for-a-repository
+ # @see https://developer.github.com/v3/issues/#list-issues
+ #
+ # source://octokit//lib/octokit/client/issues.rb#30
+ def issues(repository = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Get all comments attached to issues for the repository
+ #
+ # By default, Issue Comments are ordered by ascending ID.
+ #
+ # @example Get the comments for issues in the octokit repository
+ # @client.issues_comments("octokit/octokit.rb")
+ # @example Get issues comments, sort by updated descending since a time
+ # @client.issues_comments("octokit/octokit.rb", {
+ # :sort => 'desc',
+ # :direction => 'asc',
+ # :since => '2010-05-04T23:45:02Z'
+ # })
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Array] List of issues comments.
+ # @see https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/issues.rb#246
+ def issues_comments(repo, options = T.unsafe(nil)); end
+
+ # Lists the available assignees for issues in a repository.
+ #
+ # @example Get available assignees on repository octokit/octokit.rb
+ # Octokit.list_assignees("octokit/octokit.rb")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] List of GitHub users.
+ # @see https://developer.github.com/v3/issues/assignees/#list-assignees
+ #
+ # source://octokit//lib/octokit/client/issues.rb#331
+ def list_assignees(repo, options = T.unsafe(nil)); end
+
+ # List issues for the authenticated user or repository
+ #
+ # @example List issues for a repository
+ # Octokit.list_issues("sferik/rails_admin")
+ # @example List issues for the authenticated user across repositories
+ # @client = Octokit::Client.new(:login => 'foo', :password => 'bar')
+ # @client.list_issues
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository.
+ # @param options [Sawyer::Resource] A customizable set of options.
+ # @return [Array] A list of issues for a repository.
+ # @see https://developer.github.com/v3/issues/#list-issues-for-a-repository
+ # @see https://developer.github.com/v3/issues/#list-issues
+ #
+ # source://octokit//lib/octokit/client/issues.rb#30
+ def list_issues(repository = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Lock an issue's conversation, limiting it to collaborators
+ #
+ # @example Lock Issue #25 from octokit/octokit.rb
+ # Octokit.lock_issue("octokit/octokit.rb", "25")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/issues/#lock-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#160
+ def lock_issue(repo, number, options = T.unsafe(nil)); end
+
+ # Create an issue for a repository
+ #
+ # @example Create a new Issues for a repository
+ # Octokit.create_issue("sferik/rails_admin", 'Updated Docs', 'Added some extra links')
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param title [String] A descriptive title
+ # @param body [String] An optional concise description
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] Your newly created issue
+ # @see https://developer.github.com/v3/issues/#create-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#91
+ def open_issue(repo, title, body = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # List all issues for a given organization for the authenticated user
+ #
+ # @example List all issues for a given organization for the authenticated user
+ # @client = Octokit::Client.new(:login => 'foo', :password => 'bar')
+ # @client.org_issues("octokit")
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param options [Sawyer::Resource] A customizable set of options.
+ # @return [Array] A list of issues.
+ # @see https://developer.github.com/v3/issues/#list-issues
+ #
+ # source://octokit//lib/octokit/client/issues.rb#73
+ def org_issues(org, options = T.unsafe(nil)); end
+
+ # Remove assignees from an issue
+ #
+ # @example Remove assignees "pengwynn" and "joeyw" from Issue #23 on octokit/octokit.rb
+ # Octokit.remove_assignees("octokit/octokit.rb", 23, ["pengwynn", "joeyw"])
+ # @example Remove assignees "pengwynn" from Issue #23 on octokit/octokit.rb
+ # Octokit.remove_assignees("octokit/octokit.rb", 23, ["pengwynn"],
+ # :accept => "application/vnd.github.v3+json")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Issue number
+ # @param assignees [Array] Assignees to be removed
+ # @param options [Hash] Header params for request
+ # @return [Sawyer::Resource] Issue
+ # @see https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#362
+ def remove_assignees(repo, number, assignees, options = T.unsafe(nil)); end
+
+ # Reopen an issue
+ #
+ # @example Reopen Issue #25 from octokit/octokit.rb
+ # Octokit.reopen_issue("octokit/octokit.rb", "25")
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] The updated Issue
+ # @see https://developer.github.com/v3/issues/#edit-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#148
+ def reopen_issue(repo, number, options = T.unsafe(nil)); end
+
+ # Unlock an issue's conversation, opening it to all viewers
+ #
+ # @example Unlock Issue #25 from octokit/octokit.rb
+ # Octokit.close_issue("octokit/octokit.rb", "25")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/issues/#unlock-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#172
+ def unlock_issue(repo, number, options = T.unsafe(nil)); end
+
+ # Update a single comment on an issue
+ #
+ # @example Update the comment #1194549 with body "I've started this on my 25-issue-comments-v3 fork" on an issue on octokit/octokit.rb
+ # Octokit.update_comment("octokit/octokit.rb", 1194549, "Almost to v1, added this on my fork")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Comment number
+ # @param comment [String] Body of the comment which will replace the existing body.
+ # @return [Sawyer::Resource] Comment
+ # @see https://developer.github.com/v3/issues/comments/#edit-a-comment
+ #
+ # source://octokit//lib/octokit/client/issues.rb#296
+ def update_comment(repo, number, comment, options = T.unsafe(nil)); end
+
+ # Update an issue
+ #
+ # @example Change the title of Issue #25
+ # Octokit.update_issue("octokit/octokit.rb", "25", "A new title", "the same body")
+ # @example Change only the assignee of Issue #25
+ # Octokit.update_issue("octokit/octokit.rb", "25", :assignee => "pengwynn")
+ # @option options
+ # @overload update_issue
+ # @overload update_issue
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] The updated Issue
+ # @see https://developer.github.com/v3/issues/#edit-an-issue
+ #
+ # source://octokit//lib/octokit/client/issues.rb#209
+ def update_issue(repo, number, *args); end
+
+ # List all issues across owned and member repositories for the authenticated user
+ #
+ # @example List issues for the authenticated user across owned and member repositories
+ # @client = Octokit::Client.new(:login => 'foo', :password => 'bar')
+ # @client.user_issues
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param options [Sawyer::Resource] A customizable set of options.
+ # @return [Array] A list of issues for a repository.
+ # @see https://developer.github.com/v3/issues/#list-issues
+ #
+ # source://octokit//lib/octokit/client/issues.rb#52
+ def user_issues(options = T.unsafe(nil)); end
+end
+
+# Methods for the Issue Labels API
+#
+# @see https://developer.github.com/v3/issues/labels/
+#
+# source://octokit//lib/octokit/client/labels.rb#10
+module Octokit::Client::Labels
+ # Add a label to a repository
+ #
+ # @example Add a new label "Version 1.0" with color "#cccccc"
+ # Octokit.add_label("octokit/octokit.rb", "Version 1.0", "cccccc")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param label [String] A new label
+ # @param color [String] A color, in hex, without the leading #
+ # @return [Sawyer::Resource] The new label
+ # @see https://developer.github.com/v3/issues/labels/#create-a-label
+ #
+ # source://octokit//lib/octokit/client/labels.rb#43
+ def add_label(repo, label, color = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Add label(s) to an Issue
+ #
+ # @example Add two labels for octokit/octokit.rb
+ # Octokit.add_labels_to_an_issue("octokit/octokit.rb", 10, ['V3 Transition', 'Improvement'])
+ # @param repo [Integer, String, Repository, Hash] A Github repository
+ # @param number [Integer] Number ID of the issue
+ # @param labels [Array] An array of labels to apply to this Issue
+ # @return [Array] A list of the labels currently on the issue
+ # @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue
+ #
+ # source://octokit//lib/octokit/client/labels.rb#126
+ def add_labels_to_an_issue(repo, number, labels); end
+
+ # Delete a label from a repository.
+ #
+ # This deletes the label from the repository, and removes it from all issues.
+ #
+ # @example Delete the label "Version 1.0" from the repository.
+ # Octokit.delete_label!("octokit/octokit.rb", "Version 1.0")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param label [String] String name of the label
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/issues/labels/#delete-a-label
+ #
+ # source://octokit//lib/octokit/client/labels.rb#72
+ def delete_label!(repo, label, options = T.unsafe(nil)); end
+
+ # Get single label for a repository
+ #
+ # @example Get the "V3 Addition" label from octokit/octokit.rb
+ # Octokit.label("octokit/octokit.rb", "V3 Addition")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param name [String] Name of the label
+ # @return [Sawyer::Resource] A single label from the repository
+ # @see https://developer.github.com/v3/issues/labels/#get-a-single-label
+ #
+ # source://octokit//lib/octokit/client/labels.rb#30
+ def label(repo, name, options = T.unsafe(nil)); end
+
+ # List available labels for a repository
+ #
+ # @example List labels for octokit/octokit.rb
+ # Octokit.labels("octokit/octokit.rb")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] A list of the labels across the repository
+ # @see https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository
+ #
+ # source://octokit//lib/octokit/client/labels.rb#18
+ def labels(repo, options = T.unsafe(nil)); end
+
+ # List labels for a given issue
+ #
+ # @example List labels for octokit/octokit.rb, issue # 1
+ # Octokit.labels_for_issue("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @return [Array] A list of the labels currently on the issue
+ # @see https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue
+ #
+ # source://octokit//lib/octokit/client/labels.rb#113
+ def labels_for_issue(repo, number, options = T.unsafe(nil)); end
+
+ # Get labels for every issue in a milestone
+ #
+ # @example List all labels for milestone #2 on octokit/octokit.rb
+ # Octokit.labels_for_milestone("octokit/octokit.rb", 2)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the milestone
+ # @return [Array] A list of the labels across the milestone
+ # @see http://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone
+ #
+ # source://octokit//lib/octokit/client/labels.rb#151
+ def labels_for_milestone(repo, number, options = T.unsafe(nil)); end
+
+ # Remove all label from an Issue
+ #
+ # This removes the label from the Issue
+ #
+ # @example Remove all labels from Issue #23
+ # Octokit.remove_all_labels("octokit/octokit.rb", 23)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @return [Boolean] Success of operation
+ # @see https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue
+ #
+ # source://octokit//lib/octokit/client/labels.rb#101
+ def remove_all_labels(repo, number, options = T.unsafe(nil)); end
+
+ # Remove a label from an Issue
+ #
+ # This removes the label from the Issue
+ #
+ # @example Remove the label "Version 1.0" from the repository.
+ # Octokit.remove_label("octokit/octokit.rb", 23, "Version 1.0")
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [Integer] Number ID of the issue
+ # @param label [String] String name of the label
+ # @return [Array] A list of the labels currently on the issue
+ # @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue
+ #
+ # source://octokit//lib/octokit/client/labels.rb#87
+ def remove_label(repo, number, label, options = T.unsafe(nil)); end
+
+ # Replace all labels on an Issue
+ #
+ # @example Replace labels for octokit/octokit.rb Issue #10
+ # Octokit.replace_all_labels("octokit/octokit.rb", 10, ['V3 Transition', 'Improvement'])
+ # @param repo [Integer, String, Repository, Hash] A Github repository
+ # @param number [Integer] Number ID of the issue
+ # @param labels [Array] An array of labels to use as replacement
+ # @return [Array] A list of the labels currently on the issue
+ # @see https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue
+ #
+ # source://octokit//lib/octokit/client/labels.rb#139
+ def replace_all_labels(repo, number, labels, _options = T.unsafe(nil)); end
+
+ # Update a label
+ #
+ # @example Update the label "Version 1.0" with new color "#cceeaa"
+ # Octokit.update_label("octokit/octokit.rb", "Version 1.0", {:color => "cceeaa"})
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param label [String] The name of the label which will be updated
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] The updated label
+ # @see https://developer.github.com/v3/issues/labels/#update-a-label
+ #
+ # source://octokit//lib/octokit/client/labels.rb#58
+ def update_label(repo, label, options = T.unsafe(nil)); end
+end
+
+# Methods for the Legacy Search API
+#
+# @see https://developer.github.com/v3/search/
+#
+# source://octokit//lib/octokit/client/legacy_search.rb#8
+module Octokit::Client::LegacySearch
+ # Legacy search issues within a repository
+ #
+ # @example Search for 'test' in the open issues for sferik/rails_admin
+ # Octokit.search_issues("sferik/rails_admin", 'test', 'open')
+ # @param repo [String, Repository, Hash] A GitHub repository
+ # @param search_term [String] The term to search for
+ # @param state [String] :state (open) open or closed .
+ # @return [Array] A list of issues matching the search term and state
+ #
+ # source://octokit//lib/octokit/client/legacy_search.rb#26
+ def legacy_search_issues(repo, search_term, state = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Legacy repository search
+ #
+ # @param q [String] Search keyword
+ # @return [Array] List of repositories found
+ # @see https://developer.github.com/v3/search/#search-repositories
+ #
+ # source://octokit//lib/octokit/client/legacy_search.rb#14
+ def legacy_search_repositories(q, options = T.unsafe(nil)); end
+
+ # Search for user.
+ #
+ # @example
+ # Octokit.search_users('pengwynn')
+ # @param search [String] User to search for.
+ # @return [Array] Array of hashes representing users.
+ # @see https://developer.github.com/v3/search/#search-users
+ #
+ # source://octokit//lib/octokit/client/legacy_search.rb#37
+ def legacy_search_users(search, options = T.unsafe(nil)); end
+end
+
+# source://octokit//lib/octokit/client/licenses.rb#7
+module Octokit::Client::Licenses
+ # source://octokit//lib/octokit/client/licenses.rb#25
+ def license(license_name, options = T.unsafe(nil)); end
+
+ # source://octokit//lib/octokit/client/licenses.rb#14
+ def licenses(options = T.unsafe(nil)); end
+
+ # source://octokit//lib/octokit/client/licenses.rb#37
+ def repository_license_contents(repo, options = T.unsafe(nil)); end
+end
+
+# Methods for the Markdown API
+#
+# @see https://developer.github.com/v3/markdown/
+#
+# source://octokit//lib/octokit/client/markdown.rb#8
+module Octokit::Client::Markdown
+ # Render an arbitrary Markdown document
+ #
+ # @example Render some GFM
+ # Octokit.markdown('Fixed in #111', :mode => "gfm", :context => "octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @param text [String] Markdown source
+ # @param options [Hash] a customizable set of options
+ # @return [String] HTML renderization
+ # @see https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document
+ #
+ # source://octokit//lib/octokit/client/markdown.rb#18
+ def markdown(text, options = T.unsafe(nil)); end
+end
+
+# Methods for the Marketplace Listing API
+#
+# @see https://developer.github.com/v3/apps/marketplace/
+#
+# source://octokit//lib/octokit/client/marketplace.rb#8
+module Octokit::Client::Marketplace
+ # List all GitHub accounts on a specific plan
+ #
+ # @param plan_id [Integer] The id of the GitHub plan
+ # @param options [Hash] A customizable set of options
+ # @return [Array] A list of accounts
+ # @see https://developer.github.com/v3/apps/marketplace/#list-all-github-accounts-user-or-organization-on-a-specific-plan
+ #
+ # source://octokit//lib/octokit/client/marketplace.rb#28
+ def list_accounts_for_plan(plan_id, options = T.unsafe(nil)); end
+
+ # List all plans for an app's marketplace listing
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Array] A list of plans
+ # @see https://developer.github.com/v3/apps/marketplace/#list-all-plans-for-your-marketplace-listing
+ #
+ # source://octokit//lib/octokit/client/marketplace.rb#16
+ def list_plans(options = T.unsafe(nil)); end
+
+ # Get user's Marketplace purchases
+ #
+ # @param options [Hash] A customizable set of options
+ # @return [Array] A list of Marketplace purchases
+ # @see https://developer.github.com/v3/apps/marketplace/#get-a-users-marketplace-purchases
+ #
+ # source://octokit//lib/octokit/client/marketplace.rb#51
+ def marketplace_purchases(options = T.unsafe(nil)); end
+
+ # Get the plan associated with a given GitHub account
+ #
+ # @param account_id [Integer] The id of the GitHub account
+ # @param options [Hash] A customizable set of options
+ # @return [Sawyer::Resource] Account with plan details, or nil
+ # @see https://developer.github.com/v3/apps/marketplace/#check-if-a-github-account-is-associated-with-any-marketplace-listing
+ #
+ # source://octokit//lib/octokit/client/marketplace.rb#40
+ def plan_for_account(account_id, options = T.unsafe(nil)); end
+end
+
+# Methods for the Meta API
+#
+# @see https://developer.github.com/v3/meta/
+#
+# source://octokit//lib/octokit/client/meta.rb#8
+module Octokit::Client::Meta
+ # Get meta information about GitHub.com, the service.
+ #
+ # @example Get GitHub meta information
+ # @client.github_meta
+ # @return [Sawyer::Resource] Hash with meta information.
+ # @see https://developer.github.com/v3/meta/#meta
+ #
+ # source://octokit//lib/octokit/client/meta.rb#14
+ def github_meta(options = T.unsafe(nil)); end
+
+ # Get meta information about GitHub.com, the service.
+ #
+ # @example Get GitHub meta information
+ # @client.github_meta
+ # @return [Sawyer::Resource] Hash with meta information.
+ # @see https://developer.github.com/v3/meta/#meta
+ #
+ # source://octokit//lib/octokit/client/meta.rb#14
+ def meta(options = T.unsafe(nil)); end
+end
+
+# Methods for the Issues Milestones API
+#
+# @see https://developer.github.com/v3/issues/milestones/
+#
+# source://octokit//lib/octokit/client/milestones.rb#8
+module Octokit::Client::Milestones
+ # Create a milestone for a repository
+ #
+ # @example Create a milestone for a repository
+ # Octokit.create_milestone("octokit/octokit.rb", "0.7.0", {:description => 'Add support for v3 of Github API'})
+ # @option options
+ # @option options
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository
+ # @param title [String] A unique title.
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] A single milestone object
+ # @see https://developer.github.com/v3/issues/milestones/#create-a-milestone
+ #
+ # source://octokit//lib/octokit/client/milestones.rb#51
+ def create_milestone(repository, title, options = T.unsafe(nil)); end
+
+ # Delete a single milestone for a repository
+ #
+ # @example Delete a single milestone from a repository
+ # Octokit.delete_milestone("octokit/octokit.rb", 1)
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] A customizable set of options.
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/issues/milestones/#delete-a-milestone
+ #
+ # source://octokit//lib/octokit/client/milestones.rb#82
+ def delete_milestone(repository, number, options = T.unsafe(nil)); end
+
+ # Update a milestone for a repository
+ #
+ # @example Update a milestone for a repository
+ # Octokit.update_milestone("octokit/octokit.rb", 1, {:description => 'Add support for v3 of Github API'})
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [String, Integer] ID of the milestone
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] A single milestone object
+ # @see https://developer.github.com/v3/issues/milestones/#update-a-milestone
+ #
+ # source://octokit//lib/octokit/client/milestones.rb#68
+ def edit_milestone(repository, number, options = T.unsafe(nil)); end
+
+ # List milestones for a repository
+ #
+ # @example List milestones for a repository
+ # Octokit.list_milestones("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] A customizable set of options.
+ # @return [Array] A list of milestones for a repository.
+ # @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/milestones.rb#21
+ def list_milestones(repository, options = T.unsafe(nil)); end
+
+ # Get a single milestone for a repository
+ #
+ # @example Get a single milestone for a repository
+ # Octokit.milestone("octokit/octokit.rb", 1)
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] A single milestone from a repository.
+ # @see https://developer.github.com/v3/issues/milestones/#get-a-single-milestone
+ #
+ # source://octokit//lib/octokit/client/milestones.rb#35
+ def milestone(repository, number, options = T.unsafe(nil)); end
+
+ # List milestones for a repository
+ #
+ # @example List milestones for a repository
+ # Octokit.list_milestones("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] A customizable set of options.
+ # @return [Array] A list of milestones for a repository.
+ # @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/milestones.rb#21
+ def milestones(repository, options = T.unsafe(nil)); end
+
+ # Update a milestone for a repository
+ #
+ # @example Update a milestone for a repository
+ # Octokit.update_milestone("octokit/octokit.rb", 1, {:description => 'Add support for v3 of Github API'})
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param repository [Integer, String, Repository, Hash] A GitHub repository
+ # @param number [String, Integer] ID of the milestone
+ # @param options [Hash] A customizable set of options.
+ # @return [Sawyer::Resource] A single milestone object
+ # @see https://developer.github.com/v3/issues/milestones/#update-a-milestone
+ #
+ # source://octokit//lib/octokit/client/milestones.rb#68
+ def update_milestone(repository, number, options = T.unsafe(nil)); end
+end
+
+# Methods for the Notifications API
+#
+# @see https://developer.github.com/v3/activity/notifications/
+#
+# source://octokit//lib/octokit/client/notifications.rb#8
+module Octokit::Client::Notifications
+ # Delete a thread subscription
+ #
+ # @example
+ # @client.delete_thread_subscription(1)
+ # @param thread_id [Integer] Id of the thread.
+ # @return [Boolean] True if delete successful, false otherwise.
+ # @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#162
+ def delete_thread_subscription(thread_id, options = T.unsafe(nil)); end
+
+ # Mark notifications as read
+ #
+ # @example
+ # @client.mark_notifications_as_read
+ # @option options
+ # @option options
+ # @option options
+ # @param options [Hash] Optional parameters
+ # @return [Boolean] True if marked as read, false otherwise
+ # @see https://developer.github.com/v3/activity/notifications/#mark-as-read
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#68
+ def mark_notifications_as_read(options = T.unsafe(nil)); end
+
+ # Mark notifications from a specific repository as read
+ #
+ # @example
+ # @client.mark_notifications_as_read("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Boolean] True if marked as read, false otherwise
+ # @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#89
+ def mark_repo_notifications_as_read(repo, options = T.unsafe(nil)); end
+
+ # Mark notifications from a specific repository as read
+ #
+ # @example
+ # @client.mark_notifications_as_read("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Boolean] True if marked as read, false otherwise
+ # @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#89
+ def mark_repository_notifications_as_read(repo, options = T.unsafe(nil)); end
+
+ # Mark thread as read
+ #
+ # @example
+ # @client.mark_thread_as_read(1, :read => false)
+ # @param thread_id [Integer] Id of the thread to update.
+ # @return [Boolean] True if updated, false otherwise.
+ # @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#115
+ def mark_thread_as_read(thread_id, options = T.unsafe(nil)); end
+
+ # List your notifications
+ #
+ # @example Get users notifications
+ # @client.notifications
+ # @example Get all notifications since a certain time.
+ # @client.notifications({all: true, since: '2012-10-09T23:39:01Z'})
+ # @option options
+ # @option options
+ # @option options
+ # @param options [Hash] Optional parameters
+ # @return [Array] Array of notifications.
+ # @see https://developer.github.com/v3/activity/notifications/#list-your-notifications
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#26
+ def notifications(options = T.unsafe(nil)); end
+
+ # List your notifications in a repository
+ #
+ # @example Get your notifications for octokit/octokit.rb
+ # @client.repository_notifications('octokit/octokit.rb')
+ # @example Get your notifications for octokit/octokit.rb since a time.
+ # @client.repository_notifications({since: '2012-10-09T23:39:01Z'})
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Array] Array of notifications.
+ # @see https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#48
+ def repo_notifications(repo, options = T.unsafe(nil)); end
+
+ # List your notifications in a repository
+ #
+ # @example Get your notifications for octokit/octokit.rb
+ # @client.repository_notifications('octokit/octokit.rb')
+ # @example Get your notifications for octokit/octokit.rb since a time.
+ # @client.repository_notifications({since: '2012-10-09T23:39:01Z'})
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Array] Array of notifications.
+ # @see https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#48
+ def repository_notifications(repo, options = T.unsafe(nil)); end
+
+ # List notifications for a specific thread
+ #
+ # @example
+ # @client.notification_thread(1000)
+ # @param thread_id [Integer] Id of the thread.
+ # @return [Array] Array of notifications.
+ # @see https://developer.github.com/v3/activity/notifications/#view-a-single-thread
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#104
+ def thread_notifications(thread_id, options = T.unsafe(nil)); end
+
+ # Get thread subscription
+ #
+ # @example
+ # @client.thread_subscription(1)
+ # @param thread_id [Integer] Id of the thread.
+ # @return [Sawyer::Resource] Subscription.
+ # @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#128
+ def thread_subscription(thread_id, options = T.unsafe(nil)); end
+
+ # Update thread subscription
+ #
+ # This lets you subscribe to a thread, or ignore it. Subscribing to a
+ # thread is unnecessary if the user is already subscribed to the
+ # repository. Ignoring a thread will mute all future notifications (until
+ # you comment or get @mentioned).
+ #
+ # @example Subscribe to notifications
+ # @client.update_thread_subscription(1, :subscribed => true)
+ # @example Ignore notifications from a repo
+ # @client.update_thread_subscription(1, :ignored => true)
+ # @option options
+ # @option options
+ # @param thread_id [Integer] Id of the thread.
+ # @param options
+ # @return [Sawyer::Resource] Updated subscription.
+ # @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription
+ #
+ # source://octokit//lib/octokit/client/notifications.rb#151
+ def update_thread_subscription(thread_id, options = T.unsafe(nil)); end
+end
+
+# Methods for the OauthApplications API
+#
+# @see https://developer.github.com/v3/apps/oauth_applications
+#
+# source://octokit//lib/octokit/client/oauth_applications.rb#8
+module Octokit::Client::OauthApplications
+ # Check if a token is valid.
+ #
+ # Applications can check if a token is valid without rate limits.
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.check_token('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Sawyer::Resource] A single authorization for the authenticated user
+ # @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#21
+ def check_application_authorization(access_token, options = T.unsafe(nil)); end
+
+ # Check if a token is valid.
+ #
+ # Applications can check if a token is valid without rate limits.
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.check_token('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Sawyer::Resource] A single authorization for the authenticated user
+ # @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#21
+ def check_token(access_token, options = T.unsafe(nil)); end
+
+ # Delete an app authorization
+ #
+ # OAuth application owners can revoke a grant for their OAuth application and a specific user.
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.delete_app_authorization('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Boolean] Result
+ # @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#99
+ def delete_app_authorization(access_token, options = T.unsafe(nil)); end
+
+ # Delete an app token
+ #
+ # Applications can revoke (delete) a token
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.delete_app_token('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Boolean] Result
+ # @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#69
+ def delete_app_token(access_token, options = T.unsafe(nil)); end
+
+ # Delete an app token
+ #
+ # Applications can revoke (delete) a token
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.delete_app_token('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Boolean] Result
+ # @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#69
+ def delete_application_authorization(access_token, options = T.unsafe(nil)); end
+
+ # Reset a token
+ #
+ # Applications can reset a token without requiring a user to re-authorize.
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.reset_token('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Sawyer::Resource] A single authorization for the authenticated user
+ # @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#45
+ def reset_application_authorization(access_token, options = T.unsafe(nil)); end
+
+ # Reset a token
+ #
+ # Applications can reset a token without requiring a user to re-authorize.
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.reset_token('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Sawyer::Resource] A single authorization for the authenticated user
+ # @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#45
+ def reset_token(access_token, options = T.unsafe(nil)); end
+
+ # Delete an app token
+ #
+ # Applications can revoke (delete) a token
+ #
+ # @example
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
+ # client.delete_app_token('deadbeef1234567890deadbeef987654321')
+ # @param access_token [String] 40 character GitHub OAuth access token
+ # @return [Boolean] Result
+ # @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
+ #
+ # source://octokit//lib/octokit/client/oauth_applications.rb#69
+ def revoke_application_authorization(access_token, options = T.unsafe(nil)); end
+end
+
+# Methods for the Git Data API
+#
+# @see https://developer.github.com/v3/git/
+#
+# source://octokit//lib/octokit/client/objects.rb#8
+module Octokit::Client::Objects
+ # Get a single blob, fetching its content and encoding
+ #
+ # @example Fetch a blob and inspect its contents
+ # blob = Octokit.blob("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132")
+ # blob.encoding # => "utf-8"
+ # blob.content # => "Foo bar baz"
+ # @example Fetch a base64-encoded blob and inspect its contents
+ # require "base64"
+ # blob = Octokit.blob("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132")
+ # blob.encoding # => "base64"
+ # blob.content # => "Rm9vIGJhciBiYXo="
+ # Base64.decode64(blob.content) # => "Foo bar baz"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param blob_sha [String] The SHA of the blob to fetch
+ # @return [Sawyer::Resource] A hash representing the fetched blob
+ # @see https://developer.github.com/v3/git/blobs/#get-a-blob
+ #
+ # source://octokit//lib/octokit/client/objects.rb#61
+ def blob(repo, blob_sha, options = T.unsafe(nil)); end
+
+ # Create a blob
+ #
+ # @example Create a blob containing foo bar baz
+ # Octokit.create_blob("octocat/Hello-World", "foo bar baz")
+ # @example Create a blob containing foo bar baz , encoded using base64
+ # require "base64"
+ # Octokit.create_blob("octocat/Hello-World", Base64.encode64("foo bar baz"), "base64")
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param content [String] Content of the blob
+ # @param encoding [String] The content's encoding. utf-8 and base64 are accepted. If your data cannot be losslessly sent as a UTF-8 string, you can base64 encode it
+ # @return [String] The new blob's SHA, e.g. 827efc6d56897b048c772eb4087f854f46256132
+ # @see https://developer.github.com/v3/git/blobs/#create-a-blob
+ #
+ # source://octokit//lib/octokit/client/objects.rb#77
+ def create_blob(repo, content, encoding = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Create a tag
+ #
+ # Requires authenticated client.
+ #
+ # @example
+ # @client.create_tag(
+ # "octokit/octokit.rb",
+ # "v9000.0.0",
+ # "Version 9000\n",
+ # "f4cdf6eb734f32343ce3f27670c17b35f54fd82e",
+ # "commit",
+ # "Wynn Netherland",
+ # "wynn.netherland@gmail.com",
+ # "2012-06-03T17:03:11-07:00"
+ # )
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param tag [String] Tag string.
+ # @param message [String] Tag message.
+ # @param object_sha [String] SHA of the git object this is tagging.
+ # @param type [String] Type of the object we're tagging. Normally this is
+ # a `commit` but it can also be a `tree` or a `blob`.
+ # @param tagger_name [String] Name of the author of the tag.
+ # @param tagger_email [String] Email of the author of the tag.
+ # @param tagger_date [string] Timestamp of when this object was tagged.
+ # @return [Sawyer::Resource] Hash representing new tag.
+ # @see https://developer.github.com/v3/git/tags/#create-a-tag-object
+ #
+ # source://octokit//lib/octokit/client/objects.rb#125
+ def create_tag(repo, tag, message, object_sha, type, tagger_name, tagger_email, tagger_date, options = T.unsafe(nil)); end
+
+ # Create a tree
+ #
+ # Pass :base_tree => "827efc6..." in options to update an existing tree with new data.
+ #
+ # @example Create a tree containing one file
+ # tree = Octokit.create_tree("octocat/Hello-World", [ { :path => "file.rb", :mode => "100644", :type => "blob", :sha => "44b4fc6d56897b048c772eb4087f854f46256132" } ])
+ # tree.sha # => "cd8274d15fa3ae2ab983129fb037999f264ba9a7"
+ # tree.tree.first.path # => "file.rb"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param tree [Array] An array of hashes representing a tree structure
+ # @return [Sawyer::Resource] A hash representing the new tree
+ # @see https://developer.github.com/v3/git/trees/#create-a-tree
+ #
+ # source://octokit//lib/octokit/client/objects.rb#40
+ def create_tree(repo, tree, options = T.unsafe(nil)); end
+
+ # Get a tag
+ #
+ # @example Fetch a tag
+ # Octokit.tag('octokit/octokit.rb', '23aad20633f4d2981b1c7209a800db3014774e96')
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param tag_sha [String] The SHA of the tag to fetch.
+ # @return [Sawyer::Resource] Hash representing the tag.
+ # @see https://developer.github.com/v3/git/tags/#get-a-tag
+ #
+ # source://octokit//lib/octokit/client/objects.rb#95
+ def tag(repo, tag_sha, options = T.unsafe(nil)); end
+
+ # Get a single tree, fetching information about its root-level objects
+ #
+ # Pass :recursive => true in options to fetch information about all of the tree's objects, including those in subdirectories.
+ #
+ # @example Fetch a tree and inspect the path of one of its files
+ # tree = Octokit.tree("octocat/Hello-World", "9fb037999f264ba9a7fc6274d15fa3ae2ab98312")
+ # tree.tree.first.path # => "file.rb"
+ # @example Fetch a tree recursively
+ # tree = Octokit.tree("octocat/Hello-World", "fc6274d15fa3ae2ab983129fb037999f264ba9a7", :recursive => true)
+ # tree.tree.first.path # => "subdir/file.txt"
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param tree_sha [String] The SHA of the tree to fetch
+ # @return [Sawyer::Resource] A hash representing the fetched tree
+ # @see https://developer.github.com/v3/git/trees/#get-a-tree
+ # @see https://developer.github.com/v3/git/trees/#get-a-tree-recursively
+ #
+ # source://octokit//lib/octokit/client/objects.rb#24
+ def tree(repo, tree_sha, options = T.unsafe(nil)); end
+end
+
+# Methods for the Organizations API
+#
+# @see https://developer.github.com/v3/orgs/
+#
+# source://octokit//lib/octokit/client/organizations.rb#8
+module Octokit::Client::Organizations
+ # Add team member
+ #
+ # Requires authenticated organization owner or member with team
+ # `admin` permission.
+ #
+ # @example
+ # @client.add_team_member(100000, 'pengwynn')
+ # @example
+ # # Opt-in to future behavior for this endpoint. Adds the member to the
+ # # team if they're already an org member. If not, the method will return
+ # # 422 and indicate the user should call the new Team Membership endpoint.
+ # @client.add_team_member \
+ # 100000,
+ # 'pengwynn',
+ # :accept => "application/vnd.github.the-wasp-preview+json"
+ # @param team_id [Integer] Team id.
+ # @param user [String] GitHub username of new team member.
+ # @return [Boolean] True on successful addition, false otherwise.
+ # @see https://developer.github.com/v3/orgs/teams/#add-team-member
+ # @see https://developer.github.com/changes/2014-08-05-team-memberships-api/
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#458
+ def add_team_member(team_id, user, options = T.unsafe(nil)); end
+
+ # Add or invite a user to a team
+ #
+ # @example Check if a user has a membership for a team
+ # @client.add_team_membership(1234, 'pengwynn')
+ # @param team_id [Integer] Team id.
+ # @param user [String] GitHub username of the user to invite.
+ # @return [Sawyer::Resource] Hash of team membership info
+ # @see https://developer.github.com/v3/orgs/teams/#add-or-update-team-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#679
+ def add_team_membership(team_id, user, options = T.unsafe(nil)); end
+
+ # Add team repository
+ #
+ # This can also be used to update the permission of an existing team
+ #
+ # Requires authenticated user to be an owner of the organization that the
+ # team is associated with. Also, the repo must be owned by the
+ # organization, or a direct form of a repo owned by the organization.
+ #
+ # @example
+ # @client.add_team_repository(100000, 'github/developer.github.com')
+ # @example
+ # @client.add_team_repo(100000, 'github/developer.github.com')
+ # @example Add a team with admin permissions
+ # @client.add_team_repository(100000, 'github/developer.github.com', permission: 'admin')
+ # @option options
+ # @param team_id [Integer] Team id.
+ # @param repo [String, Hash, Repository] A GitHub repository.
+ # @param options [Hash] a customizable set of options
+ # @return [Boolean] True if successful, false otherwise.
+ # @see Octokit::Repository
+ # @see https://developer.github.com/v3/orgs/teams/#add-or-update-team-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#570
+ def add_team_repo(team_id, repo, options = T.unsafe(nil)); end
+
+ # Add team repository
+ #
+ # This can also be used to update the permission of an existing team
+ #
+ # Requires authenticated user to be an owner of the organization that the
+ # team is associated with. Also, the repo must be owned by the
+ # organization, or a direct form of a repo owned by the organization.
+ #
+ # @example
+ # @client.add_team_repository(100000, 'github/developer.github.com')
+ # @example
+ # @client.add_team_repo(100000, 'github/developer.github.com')
+ # @example Add a team with admin permissions
+ # @client.add_team_repository(100000, 'github/developer.github.com', permission: 'admin')
+ # @option options
+ # @param team_id [Integer] Team id.
+ # @param repo [String, Hash, Repository] A GitHub repository.
+ # @param options [Hash] a customizable set of options
+ # @return [Boolean] True if successful, false otherwise.
+ # @see Octokit::Repository
+ # @see https://developer.github.com/v3/orgs/teams/#add-or-update-team-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#570
+ def add_team_repository(team_id, repo, options = T.unsafe(nil)); end
+
+ # List all GitHub organizations
+ #
+ # This provides a list of every organization, in the order that they
+ # were created.
+ #
+ # Organization that you’ve seen.
+ #
+ # @option options
+ # @param options [Hash] Optional options.
+ # @return [Array] List of GitHub organizations.
+ # @see https://developer.github.com/v3/orgs/#list-all-organizations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#116
+ def all_organizations(options = T.unsafe(nil)); end
+
+ # List all GitHub organizations
+ #
+ # This provides a list of every organization, in the order that they
+ # were created.
+ #
+ # Organization that you’ve seen.
+ #
+ # @option options
+ # @param options [Hash] Optional options.
+ # @return [Array] List of GitHub organizations.
+ # @see https://developer.github.com/v3/orgs/#list-all-organizations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#116
+ def all_orgs(options = T.unsafe(nil)); end
+
+ # Get GitHub Actions billing for an organization
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.billing_actions('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Sawyer::Resource] Hash representing GitHub Actions billing for an organization.
+ # @see https://docs.github.com/en/rest/reference/billing#get-github-actions-billing-for-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#839
+ def billing_actions(org); end
+
+ # List child teams
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.child_teams(100000, :accept => "application/vnd.github.hellcat-preview+json")
+ # @param team_id [Integer] Team id.
+ # @return [Sawyer::Resource] Hash representing team.
+ # @see https://developer.github.com/v3/orgs/teams/#list-child-teams
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#384
+ def child_teams(team_id, options = T.unsafe(nil)); end
+
+ # Conceal a user's membership of an organization.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.unpublicize_membership('github', 'pengwynn')
+ # @example
+ # @client.conceal_membership('github', 'pengwynn')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of user to unpublicize.
+ # @return [Boolean] True of unpublicization successful, false otherwise.
+ # @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#640
+ def conceal_membership(org, user, options = T.unsafe(nil)); end
+
+ # Converts an organization member to an outside collaborator
+ #
+ # Requires authenticated organization members.
+ #
+ # @example
+ # @client.convert_to_outside_collaborator('github', 'lizzhale')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username to be removed as outside collaborator
+ # @return [Boolean] Return true if outside collaborator removed from organization, false otherwise.
+ # @see https://developer.github.com/v3/orgs/outside-collaborators/#convert-member-to-outside-collaborator
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#284
+ def convert_to_outside_collaborator(org, user, options = T.unsafe(nil)); end
+
+ # Create team
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.create_team('github', {
+ # :name => 'Designers',
+ # :repo_names => ['github/dotfiles']
+ # })
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hash representing new team.
+ # @see https://developer.github.com/v3/orgs/teams/#create-team
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#320
+ def create_team(org, options = T.unsafe(nil)); end
+
+ # Deletes a previous migration archive.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] ID number of the migration.
+ # @see https://docs.github.com/en/rest/reference/migrations#delete-an-organization-migration-archive
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#813
+ def delete_migration_archive(org, id, options = T.unsafe(nil)); end
+
+ # Delete an organization.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.delete_organization("my-org")
+ # @example
+ # @client.delete_org("my-org")
+ # @param org [String, Integer] Organization login or ID.
+ # @return [Boolean] True if deletion successful, otherwise false.
+ # @see https://docs.github.com/rest/orgs/orgs#delete-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#64
+ def delete_org(org); end
+
+ # Delete an organization.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.delete_organization("my-org")
+ # @example
+ # @client.delete_org("my-org")
+ # @param org [String, Integer] Organization login or ID.
+ # @return [Boolean] True if deletion successful, otherwise false.
+ # @see https://docs.github.com/rest/orgs/orgs#delete-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#64
+ def delete_organization(org); end
+
+ # Delete team
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.delete_team(100000)
+ # @param team_id [Integer] Team id.
+ # @return [Boolean] True if deletion successful, false otherwise.
+ # @see https://developer.github.com/v3/orgs/teams/#delete-team
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#420
+ def delete_team(team_id, options = T.unsafe(nil)); end
+
+ # Get organizations for a user.
+ #
+ # Nonauthenticated calls to this method will return organizations that
+ # the user is a public member.
+ #
+ # Use an authenticated client to get both public and private organizations
+ # for a user.
+ #
+ # Calling this method on a `@client` will return that users organizations.
+ # Private organizations are included only if the `@client` is authenticated.
+ #
+ # @example
+ # Octokit.organizations('pengwynn')
+ # @example
+ # @client.organizations('pengwynn')
+ # @example
+ # Octokit.orgs('pengwynn')
+ # @example
+ # Octokit.list_organizations('pengwynn')
+ # @example
+ # Octokit.list_orgs('pengwynn')
+ # @example
+ # @client.organizations
+ # @param user [Integer, String] GitHub user login or id of the user to get
+ # list of organizations.
+ # @return [Array] Array of hashes representing organizations.
+ # @see https://developer.github.com/v3/orgs/#list-your-organizations
+ # @see https://developer.github.com/v3/orgs/#list-user-organizations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#97
+ def list_organizations(user = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Get organizations for a user.
+ #
+ # Nonauthenticated calls to this method will return organizations that
+ # the user is a public member.
+ #
+ # Use an authenticated client to get both public and private organizations
+ # for a user.
+ #
+ # Calling this method on a `@client` will return that users organizations.
+ # Private organizations are included only if the `@client` is authenticated.
+ #
+ # @example
+ # Octokit.organizations('pengwynn')
+ # @example
+ # @client.organizations('pengwynn')
+ # @example
+ # Octokit.orgs('pengwynn')
+ # @example
+ # Octokit.list_organizations('pengwynn')
+ # @example
+ # Octokit.list_orgs('pengwynn')
+ # @example
+ # @client.organizations
+ # @param user [Integer, String] GitHub user login or id of the user to get
+ # list of organizations.
+ # @return [Array] Array of hashes representing organizations.
+ # @see https://developer.github.com/v3/orgs/#list-your-organizations
+ # @see https://developer.github.com/v3/orgs/#list-user-organizations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#97
+ def list_orgs(user = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Fetches the URL to a migration archive.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] ID number of the migration.
+ # @see https://docs.github.com/en/rest/reference/migrations#download-an-organization-migration-archive
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#799
+ def migration_archive_url(org, id, options = T.unsafe(nil)); end
+
+ # Fetches the status of a migration.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] ID number of the migration.
+ # @see https://docs.github.com/en/rest/reference/migrations#get-an-organization-migration-status
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#788
+ def migration_status(org, id, options = T.unsafe(nil)); end
+
+ # Lists the most recent migrations.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of migration resources.
+ # @see https://docs.github.com/en/rest/reference/migrations#list-organization-migrations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#777
+ def migrations(org, options = T.unsafe(nil)); end
+
+ # Get an organization
+ #
+ # @example
+ # Octokit.organization('github')
+ # @example
+ # Octokit.org('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Sawyer::Resource] Hash representing GitHub organization.
+ # @see https://developer.github.com/v3/orgs/#get-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#18
+ def org(org, options = T.unsafe(nil)); end
+
+ # List pending organization invitations
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.organization_invitations('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing invitations.
+ # @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#239
+ def org_invitations(org, options = T.unsafe(nil)); end
+
+ # Check if a user is a member of an organization.
+ #
+ # Use this to check if another user is a member of an organization that
+ # you are a member. If you are not in the organization you are checking,
+ # use .organization_public_member? instead.
+ #
+ # @example Check if a user is in your organization
+ # @client.organization_member?('your_organization', 'pengwynn')
+ # => false
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of the user to check.
+ # @return [Boolean] Is a member?
+ # @see https://developer.github.com/v3/orgs/members/#check-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#199
+ def org_member?(org, user, options = T.unsafe(nil)); end
+
+ # Get organization members
+ #
+ # Public members of the organization are returned by default. An
+ # authenticated client that is a member of the GitHub organization
+ # is required to get private members.
+ #
+ # @example
+ # Octokit.organization_members('github')
+ # @example
+ # Octokit.org_members('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing users.
+ # @see https://developer.github.com/v3/orgs/members/#members-list
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#160
+ def org_members(org, options = T.unsafe(nil)); end
+
+ # Get an organization membership
+ #
+ # @option options
+ # @param org [Integer, String] The GitHub Organization.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hash representing the organization membership.
+ # @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership
+ # @see https://developer.github.com/v3/orgs/members/#get-organization-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#711
+ def org_membership(org, options = T.unsafe(nil)); end
+
+ # List all organizations memberships for the authenticated user
+ #
+ # @return [Array] Array of organizations memberships.
+ # @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#699
+ def org_memberships(options = T.unsafe(nil)); end
+
+ # Check if a user is a public member of an organization.
+ #
+ # If you are checking for membership of a user of an organization that
+ # you are in, use .organization_member? instead.
+ #
+ # @example Check if a user is a hubbernaut
+ # @client.organization_public_member?('github', 'pengwynn')
+ # => true
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of the user to check.
+ # @return [Boolean] Is a public member?
+ # @see https://developer.github.com/v3/orgs/members/#check-public-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#224
+ def org_public_member?(org, user, options = T.unsafe(nil)); end
+
+ # Get organization public members
+ #
+ # Lists the public members of an organization
+ #
+ # @example
+ # Octokit.organization_public_members('github')
+ # @example
+ # Octokit.org_public_members('github')
+ # @param org [String] Organization GitHub username.
+ # @return [Array] Array of hashes representing users.
+ # @see https://developer.github.com/v3/orgs/members/#public-members-list
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#178
+ def org_public_members(org, options = T.unsafe(nil)); end
+
+ # List organization repositories
+ #
+ # Public repositories are available without authentication. Private repos
+ # require authenticated organization member.
+ #
+ # @example
+ # Octokit.organization_repositories('github')
+ # @example
+ # Octokit.org_repositories('github')
+ # @example
+ # Octokit.org_repos('github')
+ # @example
+ # @client.org_repos('github', {:type => 'private'})
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id for which
+ # to list repos.
+ # @param options [Hash] a customizable set of options
+ # @return [Array] List of repositories
+ # @see https://developer.github.com/v3/repos/#list-organization-repositories
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#141
+ def org_repos(org, options = T.unsafe(nil)); end
+
+ # List organization repositories
+ #
+ # Public repositories are available without authentication. Private repos
+ # require authenticated organization member.
+ #
+ # @example
+ # Octokit.organization_repositories('github')
+ # @example
+ # Octokit.org_repositories('github')
+ # @example
+ # Octokit.org_repos('github')
+ # @example
+ # @client.org_repos('github', {:type => 'private'})
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id for which
+ # to list repos.
+ # @param options [Hash] a customizable set of options
+ # @return [Array] List of repositories
+ # @see https://developer.github.com/v3/repos/#list-organization-repositories
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#141
+ def org_repositories(org, options = T.unsafe(nil)); end
+
+ # List teams
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.organization_teams('github')
+ # @example
+ # @client.org_teams('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing teams.
+ # @see https://developer.github.com/v3/orgs/teams/#list-teams
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#299
+ def org_teams(org, options = T.unsafe(nil)); end
+
+ # Get an organization
+ #
+ # @example
+ # Octokit.organization('github')
+ # @example
+ # Octokit.org('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Sawyer::Resource] Hash representing GitHub organization.
+ # @see https://developer.github.com/v3/orgs/#get-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#18
+ def organization(org, options = T.unsafe(nil)); end
+
+ # Get organization audit log.
+ #
+ # Gets the audit log for an organization.
+ #
+ # To list oldest events first, specify asc.
+ #
+ # @example
+ # Octokit.organization_audit_log('github', {include: 'all', phrase: 'action:org.add_member created:>2022-08-29 user:octocat'})
+ # @option options
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id for which
+ # to retrieve the audit log.
+ # @param options [Hash] a customizable set of options
+ # @return [Array] List of events
+ # @see https://docs.github.com/en/enterprise-cloud@latest/rest/orgs/orgs#get-the-audit-log-for-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#859
+ def organization_audit_log(org, options = T.unsafe(nil)); end
+
+ # List pending organization invitations
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.organization_invitations('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing invitations.
+ # @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#239
+ def organization_invitations(org, options = T.unsafe(nil)); end
+
+ # Check if a user is a member of an organization.
+ #
+ # Use this to check if another user is a member of an organization that
+ # you are a member. If you are not in the organization you are checking,
+ # use .organization_public_member? instead.
+ #
+ # @example Check if a user is in your organization
+ # @client.organization_member?('your_organization', 'pengwynn')
+ # => false
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of the user to check.
+ # @return [Boolean] Is a member?
+ # @see https://developer.github.com/v3/orgs/members/#check-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#199
+ def organization_member?(org, user, options = T.unsafe(nil)); end
+
+ # Get organization members
+ #
+ # Public members of the organization are returned by default. An
+ # authenticated client that is a member of the GitHub organization
+ # is required to get private members.
+ #
+ # @example
+ # Octokit.organization_members('github')
+ # @example
+ # Octokit.org_members('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing users.
+ # @see https://developer.github.com/v3/orgs/members/#members-list
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#160
+ def organization_members(org, options = T.unsafe(nil)); end
+
+ # Get an organization membership
+ #
+ # @option options
+ # @param org [Integer, String] The GitHub Organization.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hash representing the organization membership.
+ # @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership
+ # @see https://developer.github.com/v3/orgs/members/#get-organization-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#711
+ def organization_membership(org, options = T.unsafe(nil)); end
+
+ # List all organizations memberships for the authenticated user
+ #
+ # @return [Array] Array of organizations memberships.
+ # @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#699
+ def organization_memberships(options = T.unsafe(nil)); end
+
+ # Check if a user is a public member of an organization.
+ #
+ # If you are checking for membership of a user of an organization that
+ # you are in, use .organization_member? instead.
+ #
+ # @example Check if a user is a hubbernaut
+ # @client.organization_public_member?('github', 'pengwynn')
+ # => true
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of the user to check.
+ # @return [Boolean] Is a public member?
+ # @see https://developer.github.com/v3/orgs/members/#check-public-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#224
+ def organization_public_member?(org, user, options = T.unsafe(nil)); end
+
+ # Get organization public members
+ #
+ # Lists the public members of an organization
+ #
+ # @example
+ # Octokit.organization_public_members('github')
+ # @example
+ # Octokit.org_public_members('github')
+ # @param org [String] Organization GitHub username.
+ # @return [Array] Array of hashes representing users.
+ # @see https://developer.github.com/v3/orgs/members/#public-members-list
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#178
+ def organization_public_members(org, options = T.unsafe(nil)); end
+
+ # List organization repositories
+ #
+ # Public repositories are available without authentication. Private repos
+ # require authenticated organization member.
+ #
+ # @example
+ # Octokit.organization_repositories('github')
+ # @example
+ # Octokit.org_repositories('github')
+ # @example
+ # Octokit.org_repos('github')
+ # @example
+ # @client.org_repos('github', {:type => 'private'})
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id for which
+ # to list repos.
+ # @param options [Hash] a customizable set of options
+ # @return [Array] List of repositories
+ # @see https://developer.github.com/v3/repos/#list-organization-repositories
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#141
+ def organization_repositories(org, options = T.unsafe(nil)); end
+
+ # List teams
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.organization_teams('github')
+ # @example
+ # @client.org_teams('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing teams.
+ # @see https://developer.github.com/v3/orgs/teams/#list-teams
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#299
+ def organization_teams(org, options = T.unsafe(nil)); end
+
+ # Get organizations for a user.
+ #
+ # Nonauthenticated calls to this method will return organizations that
+ # the user is a public member.
+ #
+ # Use an authenticated client to get both public and private organizations
+ # for a user.
+ #
+ # Calling this method on a `@client` will return that users organizations.
+ # Private organizations are included only if the `@client` is authenticated.
+ #
+ # @example
+ # Octokit.organizations('pengwynn')
+ # @example
+ # @client.organizations('pengwynn')
+ # @example
+ # Octokit.orgs('pengwynn')
+ # @example
+ # Octokit.list_organizations('pengwynn')
+ # @example
+ # Octokit.list_orgs('pengwynn')
+ # @example
+ # @client.organizations
+ # @param user [Integer, String] GitHub user login or id of the user to get
+ # list of organizations.
+ # @return [Array] Array of hashes representing organizations.
+ # @see https://developer.github.com/v3/orgs/#list-your-organizations
+ # @see https://developer.github.com/v3/orgs/#list-user-organizations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#97
+ def organizations(user = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Get organizations for a user.
+ #
+ # Nonauthenticated calls to this method will return organizations that
+ # the user is a public member.
+ #
+ # Use an authenticated client to get both public and private organizations
+ # for a user.
+ #
+ # Calling this method on a `@client` will return that users organizations.
+ # Private organizations are included only if the `@client` is authenticated.
+ #
+ # @example
+ # Octokit.organizations('pengwynn')
+ # @example
+ # @client.organizations('pengwynn')
+ # @example
+ # Octokit.orgs('pengwynn')
+ # @example
+ # Octokit.list_organizations('pengwynn')
+ # @example
+ # Octokit.list_orgs('pengwynn')
+ # @example
+ # @client.organizations
+ # @param user [Integer, String] GitHub user login or id of the user to get
+ # list of organizations.
+ # @return [Array] Array of hashes representing organizations.
+ # @see https://developer.github.com/v3/orgs/#list-your-organizations
+ # @see https://developer.github.com/v3/orgs/#list-user-organizations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#97
+ def orgs(user = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # List outside collaborators for an organization
+ #
+ # Requires authenticated organization members.
+ #
+ # @example
+ # @client.outside_collaborators('github')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Array] Array of hashes representing users.
+ # @see https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#254
+ def outside_collaborators(org, options = T.unsafe(nil)); end
+
+ # Publicize a user's membership of an organization
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.publicize_membership('github', 'pengwynn')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of user to publicize.
+ # @return [Boolean] True if publicization successful, false otherwise.
+ # @see https://developer.github.com/v3/orgs/members/#publicize-a-users-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#624
+ def publicize_membership(org, user, options = T.unsafe(nil)); end
+
+ # Remove organization member
+ #
+ # Requires authenticated organization owner or member with team `admin` access.
+ #
+ # @example
+ # @client.remove_organization_member('github', 'pengwynn')
+ # @example
+ # @client.remove_org_member('github', 'pengwynn')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of user to remove.
+ # @return [Boolean] True if removal is successful, false otherwise.
+ # @see https://developer.github.com/v3/orgs/members/#remove-a-member
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#607
+ def remove_org_member(org, user, options = T.unsafe(nil)); end
+
+ # Remove an organization membership
+ #
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/orgs/members/#remove-organization-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#747
+ def remove_org_membership(org, options = T.unsafe(nil)); end
+
+ # Remove organization member
+ #
+ # Requires authenticated organization owner or member with team `admin` access.
+ #
+ # @example
+ # @client.remove_organization_member('github', 'pengwynn')
+ # @example
+ # @client.remove_org_member('github', 'pengwynn')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of user to remove.
+ # @return [Boolean] True if removal is successful, false otherwise.
+ # @see https://developer.github.com/v3/orgs/members/#remove-a-member
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#607
+ def remove_organization_member(org, user, options = T.unsafe(nil)); end
+
+ # Remove an organization membership
+ #
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @return [Boolean] Success
+ # @see https://developer.github.com/v3/orgs/members/#remove-organization-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#747
+ def remove_organization_membership(org, options = T.unsafe(nil)); end
+
+ # Remove outside collaborator from an organization
+ #
+ # Requires authenticated organization members.
+ #
+ # @example
+ # @client.remove_outside_collaborator('github', 'lizzhale')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username to be removed as outside collaborator
+ # @return [Boolean] Return true if outside collaborator removed from organization, false otherwise.
+ # @see https://developer.github.com/v3/orgs/outside-collaborators/#remove-outside-collaborator
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#269
+ def remove_outside_collaborator(org, user, options = T.unsafe(nil)); end
+
+ # Remove team member
+ #
+ # Requires authenticated organization owner or member with team
+ # `admin` permission.
+ #
+ # @example
+ # @client.remove_team_member(100000, 'pengwynn')
+ # @param team_id [Integer] Team id.
+ # @param user [String] GitHub username of the user to boot.
+ # @return [Boolean] True if user removed, false otherwise.
+ # @see https://developer.github.com/v3/orgs/teams/#remove-team-member
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#476
+ def remove_team_member(team_id, user, options = T.unsafe(nil)); end
+
+ # Remove team membership
+ #
+ # @example
+ # @client.remove_team_membership(100000, 'pengwynn')
+ # @param team_id [Integer] Team id.
+ # @param user [String] GitHub username of the user to boot.
+ # @return [Boolean] True if user removed, false otherwise.
+ # @see https://developer.github.com/v3/orgs/teams/#remove-team-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#691
+ def remove_team_membership(team_id, user, options = T.unsafe(nil)); end
+
+ # Remove team repository
+ #
+ # Removes repository from team. Does not delete the repository.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.remove_team_repository(100000, 'github/developer.github.com')
+ # @example
+ # @client.remove_team_repo(100000, 'github/developer.github.com')
+ # @param team_id [Integer] Team id.
+ # @param repo [String, Hash, Repository] A GitHub repository.
+ # @return [Boolean] Return true if repo removed from team, false otherwise.
+ # @see Octokit::Repository
+ # @see https://developer.github.com/v3/orgs/teams/#remove-team-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#590
+ def remove_team_repo(team_id, repo, _options = T.unsafe(nil)); end
+
+ # Remove team repository
+ #
+ # Removes repository from team. Does not delete the repository.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.remove_team_repository(100000, 'github/developer.github.com')
+ # @example
+ # @client.remove_team_repo(100000, 'github/developer.github.com')
+ # @param team_id [Integer] Team id.
+ # @param repo [String, Hash, Repository] A GitHub repository.
+ # @return [Boolean] Return true if repo removed from team, false otherwise.
+ # @see Octokit::Repository
+ # @see https://developer.github.com/v3/orgs/teams/#remove-team-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#590
+ def remove_team_repository(team_id, repo, _options = T.unsafe(nil)); end
+
+ # Initiates the generation of a migration archive.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.start_migration('github', ['github/dotfiles'])
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param repositories [Array] :repositories Repositories for the organization.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hash representing the new migration.
+ # @see https://docs.github.com/en/rest/reference/migrations#start-an-organization-migration
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#765
+ def start_migration(org, repositories, options = T.unsafe(nil)); end
+
+ # Get team
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.team(100000)
+ # @param team_id [Integer] Team id.
+ # @return [Sawyer::Resource] Hash representing team.
+ # @see https://developer.github.com/v3/orgs/teams/#get-team
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#336
+ def team(team_id, options = T.unsafe(nil)); end
+
+ # Get team by name and org
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.team_by_name("github", "justice-league")
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param team_slug [String] Team slug.
+ # @return [Sawyer::Resource] Hash representing team.
+ # @see https://developer.github.com/v3/teams/#get-team-by-name
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#350
+ def team_by_name(org, team_slug, options = T.unsafe(nil)); end
+
+ # List pending team invitations
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.team_invitations('github')
+ # @param team_id [Integer] Team id.
+ # @return [Array] Array of hashes representing invitations.
+ # @see https://developer.github.com/v3/orgs/teams/#list-pending-team-invitations
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#509
+ def team_invitations(team_id, options = T.unsafe(nil)); end
+
+ # Check if a user is a member of a team.
+ #
+ # Use this to check if another user is a member of a team that
+ # you are a member.
+ #
+ # @example Check if a user is in your team
+ # @client.team_member?(100000, 'pengwynn')
+ # => false
+ # @param team_id [Integer] Team id.
+ # @param user [String] GitHub username of the user to check.
+ # @return [Boolean] Is a member?
+ # @see https://developer.github.com/v3/orgs/teams/#get-team-member
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#495
+ def team_member?(team_id, user, options = T.unsafe(nil)); end
+
+ # List team members
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.team_members(100000)
+ # @param team_id [Integer] Team id.
+ # @return [Array] Array of hashes representing users.
+ # @see https://developer.github.com/v3/orgs/teams/#list-team-members
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#433
+ def team_members(team_id, options = T.unsafe(nil)); end
+
+ # Check if a user has a team membership.
+ #
+ # @example Check if a user has a membership for a team
+ # @client.team_membership(1234, 'pengwynn')
+ # @param team_id [Integer] Team id.
+ # @param user [String] GitHub username of the user to check.
+ # @return [Sawyer::Resource] Hash of team membership info
+ # @see https://developer.github.com/v3/orgs/teams/#get-team-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#664
+ def team_membership(team_id, user, options = T.unsafe(nil)); end
+
+ # Check team permissions for a repository
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # # Check whether the team has any permissions with the repository
+ # @client.team_permissions_for_repo("github", "justice-league", "octocat", "hello-world")
+ # @example
+ # # Get the full repository object including the permissions level and role for the team
+ # @client.team_permissions_for_repo("github", "justice-league", "octocat", "hello-world", :accept => 'application/vnd.github.v3.repository+json')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param team_slug_or_id [String, Integer] Team slug or Team ID.
+ # @param owner [String] Owner name for the repository.
+ # @param repo [String] Name of the repo to check permissions against.
+ # @return [String, Sawyer::Resource] Depending on options it may be an empty string or a resource.
+ # @see https://docs.github.com/en/rest/teams/teams#check-team-permissions-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#371
+ def team_permissions_for_repo(org, team_slug_or_id, owner, repo, options = T.unsafe(nil)); end
+
+ # Check if a repo is managed by a specific team
+ #
+ # @example
+ # @client.team_repository?(8675309, 'octokit/octokit.rb')
+ # @example
+ # @client.team_repo?(8675309, 'octokit/octokit.rb')
+ # @param team_id [Integer] Team ID.
+ # @param repo [String, Hash, Repository] A GitHub repository.
+ # @return [Boolean] True if managed by a team. False if not managed by
+ # the team OR the requesting user does not have authorization to access
+ # the team information.
+ # @see https://developer.github.com/v3/orgs/teams/#check-if-a-team-manages-a-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#541
+ def team_repo?(team_id, repo, _options = T.unsafe(nil)); end
+
+ # List team repositories
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.team_repositories(100000)
+ # @example
+ # @client.team_repos(100000)
+ # @param team_id [Integer] Team id.
+ # @return [Array] Array of hashes representing repositories.
+ # @see https://developer.github.com/v3/orgs/teams/#list-team-repos
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#524
+ def team_repos(team_id, options = T.unsafe(nil)); end
+
+ # List team repositories
+ #
+ # Requires authenticated organization member.
+ #
+ # @example
+ # @client.team_repositories(100000)
+ # @example
+ # @client.team_repos(100000)
+ # @param team_id [Integer] Team id.
+ # @return [Array] Array of hashes representing repositories.
+ # @see https://developer.github.com/v3/orgs/teams/#list-team-repos
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#524
+ def team_repositories(team_id, options = T.unsafe(nil)); end
+
+ # Check if a repo is managed by a specific team
+ #
+ # @example
+ # @client.team_repository?(8675309, 'octokit/octokit.rb')
+ # @example
+ # @client.team_repo?(8675309, 'octokit/octokit.rb')
+ # @param team_id [Integer] Team ID.
+ # @param repo [String, Hash, Repository] A GitHub repository.
+ # @return [Boolean] True if managed by a team. False if not managed by
+ # the team OR the requesting user does not have authorization to access
+ # the team information.
+ # @see https://developer.github.com/v3/orgs/teams/#check-if-a-team-manages-a-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#541
+ def team_repository?(team_id, repo, _options = T.unsafe(nil)); end
+
+ # Unlock a previous migration archive.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] ID number of the migration.
+ # @param repo [String] Name of the repository.
+ # @see https://docs.github.com/en/rest/reference/migrations#unlock-an-organization-repository
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#825
+ def unlock_repository(org, id, repo, options = T.unsafe(nil)); end
+
+ # Conceal a user's membership of an organization.
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.unpublicize_membership('github', 'pengwynn')
+ # @example
+ # @client.conceal_membership('github', 'pengwynn')
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param user [String] GitHub username of user to unpublicize.
+ # @return [Boolean] True of unpublicization successful, false otherwise.
+ # @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#640
+ def unpublicize_membership(org, user, options = T.unsafe(nil)); end
+
+ # Update an organization.
+ #
+ # Requires authenticated client with proper organization permissions.
+ #
+ # @example
+ # @client.update_organization('github', {
+ # :billing_email => 'support@github.com',
+ # :company => 'GitHub',
+ # :email => 'support@github.com',
+ # :location => 'San Francisco',
+ # :name => 'github'
+ # })
+ # @example
+ # @client.update_org('github', {:company => 'Unicorns, Inc.'})
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param values [Hash] The updated organization attributes.
+ # @return [Sawyer::Resource] Hash representing GitHub organization.
+ # @see https://developer.github.com/v3/orgs/#edit-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#48
+ def update_org(org, values, options = T.unsafe(nil)); end
+
+ # Edit an organization membership
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hash representing the updated organization membership.
+ # @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership
+ # @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#730
+ def update_org_membership(org, options = T.unsafe(nil)); end
+
+ # Update an organization.
+ #
+ # Requires authenticated client with proper organization permissions.
+ #
+ # @example
+ # @client.update_organization('github', {
+ # :billing_email => 'support@github.com',
+ # :company => 'GitHub',
+ # :email => 'support@github.com',
+ # :location => 'San Francisco',
+ # :name => 'github'
+ # })
+ # @example
+ # @client.update_org('github', {:company => 'Unicorns, Inc.'})
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @option values
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param values [Hash] The updated organization attributes.
+ # @return [Sawyer::Resource] Hash representing GitHub organization.
+ # @see https://developer.github.com/v3/orgs/#edit-an-organization
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#48
+ def update_organization(org, values, options = T.unsafe(nil)); end
+
+ # Edit an organization membership
+ #
+ # @option options
+ # @option options
+ # @option options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hash representing the updated organization membership.
+ # @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership
+ # @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#730
+ def update_organization_membership(org, options = T.unsafe(nil)); end
+
+ # Update team
+ #
+ # Requires authenticated organization owner.
+ #
+ # @example
+ # @client.update_team(100000, {
+ # :name => 'Front-end Designers',
+ # :permission => 'push'
+ # })
+ # @option options
+ # @option options
+ # @option options
+ # @param team_id [Integer] Team id.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Hash representing updated team.
+ # @see https://developer.github.com/v3/orgs/teams/#edit-team
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#407
+ def update_team(team_id, options = T.unsafe(nil)); end
+
+ # List all teams for the authenticated user across all their orgs
+ #
+ # @return [Array] Array of team resources.
+ # @see https://developer.github.com/v3/orgs/teams/#list-user-teams
+ #
+ # source://octokit//lib/octokit/client/organizations.rb#649
+ def user_teams(options = T.unsafe(nil)); end
+end
+
+# Methods for the Pages API
+#
+# @see https://developer.github.com/v3/repos/pages/
+#
+# source://octokit//lib/octokit/client/pages.rb#8
+module Octokit::Client::Pages
+ # List the latest Pages build information for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return Sawyer::Resource A GitHub Pages resource about a build
+ # @see https://developer.github.com/v3/repos/pages/#list-latest-pages-build
+ #
+ # source://octokit//lib/octokit/client/pages.rb#45
+ def latest_pages_build(repo, options = T.unsafe(nil)); end
+
+ # List Pages builds for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] A list of build history for a repository.
+ # @see https://developer.github.com/v3/repos/pages/#list-pages-builds
+ #
+ # source://octokit//lib/octokit/client/pages.rb#35
+ def list_pages_builds(repo, options = T.unsafe(nil)); end
+
+ # List Pages information for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return Sawyer::Resource A GitHub Pages resource
+ # @see https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site
+ #
+ # source://octokit//lib/octokit/client/pages.rb#14
+ def pages(repo, options = T.unsafe(nil)); end
+
+ # Get a specific Pages build by ID
+ #
+ # @example
+ # Octokit.pages_build("github/developer.github.com", 5472601)
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param id [Integer, String] Build ID
+ # @return [Sawyer::Resource] Pages build information
+ # @see https://developer.github.com/v3/repos/pages/#list-a-specific-pages-build
+ #
+ # source://octokit//lib/octokit/client/pages.rb#26
+ def pages_build(repo, id, options = T.unsafe(nil)); end
+
+ # List Pages builds for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] A list of build history for a repository.
+ # @see https://developer.github.com/v3/repos/pages/#list-pages-builds
+ #
+ # source://octokit//lib/octokit/client/pages.rb#35
+ def pages_builds(repo, options = T.unsafe(nil)); end
+
+ # Request a page build for the latest revision of the default branch
+ #
+ # You can only request builds for your repositories
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Sawyer::Resource] Request result
+ # @see https://developer.github.com/v3/repos/pages/#request-a-page-build
+ #
+ # source://octokit//lib/octokit/client/pages.rb#56
+ def request_page_build(repo, options = T.unsafe(nil)); end
+end
+
+# Methods for Projects API
+#
+# @see https://docs.github.com/en/rest/projects
+#
+# source://octokit//lib/octokit/client/projects.rb#8
+module Octokit::Client::Projects
+ # List columns cards
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.column_cards(30294)
+ # @param id [Integer] Project column id
+ # @return [Array] Cards in the column
+ # @see https://developer.github.com/v3/projects/cards/#list-project-cards
+ #
+ # source://octokit//lib/octokit/client/projects.rb#204
+ def column_cards(id, options = T.unsafe(nil)); end
+
+ # Create organization project
+ #
+ # Requires authenticated client
+ #
+ # @example Create with only a name
+ # @client.create_org_project("octocat", "make more octocats")
+ # @example Create a project with name and body
+ # @client.create_org_project("octokit", "octocan", body: 'Improve clients')
+ # @option options
+ # @param org [String] A GitHub organization
+ # @param name [String] Project name
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Organization project
+ # @see https://developer.github.com/v3/projects/#create-an-organization-project
+ #
+ # source://octokit//lib/octokit/client/projects.rb#68
+ def create_org_project(org, name, options = T.unsafe(nil)); end
+
+ # Create organization project
+ #
+ # Requires authenticated client
+ #
+ # @example Create with only a name
+ # @client.create_org_project("octocat", "make more octocats")
+ # @example Create a project with name and body
+ # @client.create_org_project("octokit", "octocan", body: 'Improve clients')
+ # @option options
+ # @param org [String] A GitHub organization
+ # @param name [String] Project name
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Organization project
+ # @see https://developer.github.com/v3/projects/#create-an-organization-project
+ #
+ # source://octokit//lib/octokit/client/projects.rb#68
+ def create_organization_project(org, name, options = T.unsafe(nil)); end
+
+ # Create a project
+ #
+ # Requires authenticated client
+ #
+ # @example Create project with only a name
+ # @client.create_project('octokit/octokit.rb', 'implement new APIs')
+ # @example Create project with name and body
+ # @client.create_project('octokit/octokit.rb', 'bugs be gone', body: 'Fix all the bugs @joeyw creates')
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param name [String] Project name
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Fresh new project
+ # @see https://developer.github.com/v3/projects/#create-a-repository-project
+ #
+ # source://octokit//lib/octokit/client/projects.rb#36
+ def create_project(repo, name, options = T.unsafe(nil)); end
+
+ # Create project card
+ #
+ # Requires authenticated client
+ #
+ # @example Create a project card with a note
+ # @client.create_project_card(123495, note: 'New note card')
+ # @example Create a project card for an repository issue
+ # @client.create_project_card(123495, content_id: 1, content_type: 'Issue')
+ # @note If :note is supplied, :content_id and :content_type must be
+ # excluded. Similarly, if :content_id is supplied, :content_type must
+ # be set and :note must not be included.
+ # @option options
+ # @option options
+ # @option options
+ # @param id [Integer] Project column id
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Newly created card
+ # @see https://developer.github.com/v3/projects/cards/#create-a-project-card
+ #
+ # source://octokit//lib/octokit/client/projects.rb#226
+ def create_project_card(id, options = T.unsafe(nil)); end
+
+ # Create a project column
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.create_project_column(123942, "To Dones")
+ # @param id [Integer] Project column id
+ # @param name [String] New column name
+ # @return [Sawyer::Resource] Newly created column
+ # @see https://developer.github.com/v3/projects/columns/#create-a-project-column
+ #
+ # source://octokit//lib/octokit/client/projects.rb#134
+ def create_project_column(id, name, options = T.unsafe(nil)); end
+
+ # Delete a project
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.delete_project(123942)
+ # @param id [Integer] Project id
+ # @return [Boolean] Result of deletion
+ # @see https://developer.github.com/v3/projects/#delete-a-project
+ #
+ # source://octokit//lib/octokit/client/projects.rb#109
+ def delete_project(id, options = T.unsafe(nil)); end
+
+ # Delete a project card
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.delete_project_card(123495)
+ # @param id [Integer] Project card id
+ # @return [Boolean] True of deleted, false otherwise
+ # @see https://developer.github.com/v3/projects/cards/#delete-a-project-card
+ #
+ # source://octokit//lib/octokit/client/projects.rb#289
+ def delete_project_card(id, options = T.unsafe(nil)); end
+
+ # Delete a project column
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.delete_project_column(30294)
+ # @param id [Integer] Project column id
+ # @return [Boolean] Result of deletion request, true when deleted
+ # @see https://developer.github.com/v3/projects/columns/#delete-a-project-column
+ #
+ # source://octokit//lib/octokit/client/projects.rb#174
+ def delete_project_column(id, options = T.unsafe(nil)); end
+
+ # Move a project card
+ #
+ # Requires authenticated client
+ #
+ # @example Move a card to the bottom of the same column
+ # @client.move_project_card(123495, 'bottom')
+ # @example Move a card to the top of another column
+ # @client.move_project_card(123495, 'top', column_id: 59402)
+ # @option options
+ # @param id [Integer] Project card id
+ # @param position [String] Can be one of top , bottom ,
+ # or after: , where is the id value of a
+ # card in the same column, or in the new column specified by column_id.
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Empty sawyer resource
+ # @see https://developer.github.com/v3/projects/cards/#move-a-project-card
+ #
+ # source://octokit//lib/octokit/client/projects.rb#275
+ def move_project_card(id, position, options = T.unsafe(nil)); end
+
+ # Move a project column
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.move_project_column(30294, "last")
+ # @param id [Integer] Project column id
+ # @param position [String] New position for the column. Can be one of
+ # first , last , or after: , where
+ # is the id value of a column in the same project.
+ # @return [Sawyer::Resource] Result
+ # @see https://developer.github.com/v3/projects/columns/#move-a-project-column
+ #
+ # source://octokit//lib/octokit/client/projects.rb#190
+ def move_project_column(id, position, options = T.unsafe(nil)); end
+
+ # List organization projects
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.org_projects("octokit")
+ # @param org [String] A GitHub organization
+ # @return [Array] Organization projects
+ # @see https://developer.github.com/v3/projects/#list-organization-projects
+ #
+ # source://octokit//lib/octokit/client/projects.rb#50
+ def org_projects(org, options = T.unsafe(nil)); end
+
+ # List organization projects
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.org_projects("octokit")
+ # @param org [String] A GitHub organization
+ # @return [Array] Organization projects
+ # @see https://developer.github.com/v3/projects/#list-organization-projects
+ #
+ # source://octokit//lib/octokit/client/projects.rb#50
+ def organization_projects(org, options = T.unsafe(nil)); end
+
+ # Get a project by id
+ #
+ # @example
+ # Octokit.project(123942)
+ # @param id [Integer] Project id
+ # @return [Sawyer::Resource] Project
+ # @see https://developer.github.com/v3/projects/#get-a-project
+ #
+ # source://octokit//lib/octokit/client/projects.rb#81
+ def project(id, options = T.unsafe(nil)); end
+
+ # Get a project card
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.project_card(123495)
+ # @param id [Integer] Project card id
+ # @return [Sawyer::Resource] Project card
+ # @see https://developer.github.com/v3/projects/cards/#get-a-project-card
+ #
+ # source://octokit//lib/octokit/client/projects.rb#239
+ def project_card(id, options = T.unsafe(nil)); end
+
+ # Get a project column by ID
+ #
+ # @example
+ # Octokit.project_column(30294)
+ # @param id [Integer] Project column id
+ # @return [Sawyer::Resource] Project column
+ # @see https://developer.github.com/v3/projects/columns/#get-a-project-column
+ #
+ # source://octokit//lib/octokit/client/projects.rb#146
+ def project_column(id, options = T.unsafe(nil)); end
+
+ # List project columns
+ #
+ # @example
+ # @client.project_columns(123942)
+ # @param id [Integer] Project id
+ # @return [Array] List of project columns
+ # @see https://developer.github.com/v3/projects/columns/#list-project-columns
+ #
+ # source://octokit//lib/octokit/client/projects.rb#120
+ def project_columns(id, options = T.unsafe(nil)); end
+
+ # List projects for a repository
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.projects('octokit/octokit.rb')
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] Repository projects
+ # @see https://developer.github.com/v3/projects/#list-repository-projects
+ #
+ # source://octokit//lib/octokit/client/projects.rb#18
+ def projects(repo, options = T.unsafe(nil)); end
+
+ # Update a project
+ #
+ # Requires authenticated client
+ #
+ # @example Update project name
+ # @client.update_project(123942, name: 'New name')
+ # @option options
+ # @option options
+ # @param id [Integer] Project id
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Project
+ # @see https://developer.github.com/v3/projects/#update-a-project
+ #
+ # source://octokit//lib/octokit/client/projects.rb#96
+ def update_project(id, options = T.unsafe(nil)); end
+
+ # Update a project card
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.update_project_card(12345, note: 'new note')
+ # @option options
+ # @param id [Integer] Project card id
+ # @param options [Hash] a customizable set of options
+ # @return [Sawyer::Resource] Updated project card
+ # @see https://developer.github.com/v3/projects/cards/#update-a-project-card
+ #
+ # source://octokit//lib/octokit/client/projects.rb#255
+ def update_project_card(id, options = T.unsafe(nil)); end
+
+ # Update a project column
+ #
+ # Requires authenticated client
+ #
+ # @example
+ # @client.update_project_column(30294, "new column name")
+ # @param id [Integer] Project column id
+ # @param name [String] New column name
+ # @return [Sawyer::Resource] Updated column
+ # @see https://developer.github.com/v3/projects/columns/#update-a-project-column
+ #
+ # source://octokit//lib/octokit/client/projects.rb#160
+ def update_project_column(id, name, options = T.unsafe(nil)); end
+end
+
+# Methods for the PubSubHubbub API
+#
+# @see https://developer.github.com/v3/repos/hooks/#pubsubhubbub
+#
+# source://octokit//lib/octokit/client/pub_sub_hubbub.rb#8
+module Octokit::Client::PubSubHubbub
+ # Subscribe to a pubsub topic
+ #
+ # @example Subscribe to push events from one of your repositories, having an email sent when fired
+ # client = Octokit::Client.new(:oauth_token = "token")
+ # client.subscribe("https://github.com/joshk/devise_imapable/events/push", "github://Email?address=josh.kalderimis@gmail.com")
+ # @param topic [String] A recoginized and supported pubsub topic
+ # @param callback [String] A callback url to be posted to when the topic event is fired
+ # @param secret [String] An optional shared secret used to generate a SHA1 HMAC of the outgoing body content
+ # @return [Boolean] true if the subscribe was successful, otherwise an error is raised
+ # @see https://developer.github.com/v3/repos/hooks/#subscribing
+ #
+ # source://octokit//lib/octokit/client/pub_sub_hubbub.rb#19
+ def subscribe(topic, callback, secret = T.unsafe(nil)); end
+
+ # Subscribe to a repository through pubsub
+ #
+ # @example Subscribe to push events to one of your repositories to Travis-CI
+ # client = Octokit::Client.new(:oauth_token = "token")
+ # client.subscribe_service_hook('joshk/device_imapable', 'Travis', { :token => "test", :domain => "domain", :user => "user" })
+ # @param repo [String, Repository, Hash] A GitHub repository
+ # @param service_name [String] service name owner
+ # @param service_arguments [Hash] params that will be passed by subscribed hook.
+ # List of services is available @ https://github.com/github/github-services/tree/master/docs.
+ # Please refer Data node for complete list of arguments.
+ # @param secret [String] An optional shared secret used to generate a SHA1 HMAC of the outgoing body content
+ # @return [Boolean] True if subscription successful, false otherwise
+ # @see https://developer.github.com/v3/repos/hooks/#subscribing
+ #
+ # source://octokit//lib/octokit/client/pub_sub_hubbub.rb#65
+ def subscribe_service_hook(repo, service_name, service_arguments = T.unsafe(nil), secret = T.unsafe(nil)); end
+
+ # Unsubscribe from a pubsub topic
+ #
+ # @example Unsubscribe to push events from one of your repositories, no longer having an email sent when fired
+ # client = Octokit::Client.new(:oauth_token = "token")
+ # client.unsubscribe("https://github.com/joshk/devise_imapable/events/push", "github://Email?address=josh.kalderimis@gmail.com")
+ # @param topic [String] A recoginized pubsub topic
+ # @param callback [String] A callback url to be unsubscribed from
+ # @return [Boolean] true if the unsubscribe was successful, otherwise an error is raised
+ # @see https://developer.github.com/v3/repos/hooks/#subscribing
+ #
+ # source://octokit//lib/octokit/client/pub_sub_hubbub.rb#41
+ def unsubscribe(topic, callback); end
+
+ # Unsubscribe repository through pubsub
+ #
+ # @example Subscribe to push events to one of your repositories to Travis-CI
+ # client = Octokit::Client.new(:oauth_token = "token")
+ # client.unsubscribe_service_hook('joshk/device_imapable', 'Travis')
+ # @param repo [String, Repository, Hash] A GitHub repository
+ # @param service_name [String] service name owner
+ # List of services is available @ https://github.com/github/github-services/tree/master/docs.
+ # @see https://developer.github.com/v3/repos/hooks/#subscribing
+ #
+ # source://octokit//lib/octokit/client/pub_sub_hubbub.rb#80
+ def unsubscribe_service_hook(repo, service_name); end
+
+ private
+
+ # source://octokit//lib/octokit/client/pub_sub_hubbub.rb#88
+ def pub_sub_hubbub_request(options = T.unsafe(nil)); end
+end
+
+# Methods for the Pull Requests API
+#
+# @see https://developer.github.com/v3/pulls/
+#
+# source://octokit//lib/octokit/client/pull_requests.rb#8
+module Octokit::Client::PullRequests
+ # Close a pull request
+ #
+ # @example
+ # @client.close_pull_request('octokit/octokit.rb', 67)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param number [Integer] Number of pull request to update.
+ # @return [Sawyer::Resource] Hash representing updated pull request.
+ # @see https://developer.github.com/v3/pulls/#update-a-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#119
+ def close_pull_request(repo, number, options = T.unsafe(nil)); end
+
+ # Create a pull request comment
+ #
+ # @deprecated The position will be deprecated in the next major version. Please refer to the details below.
+ # @example
+ # @client.create_pull_request_comment("octokit/octokit.rb", 163, ":shipit:",
+ # "2d3201e4440903d8b04a5487842053ca4883e5f0", "lib/octokit/request.rb", 47)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param pull_id [Integer] Pull request id
+ # @param body [String] Comment content
+ # @param commit_id [String] Sha of the commit to comment on.
+ # @param path [String] Relative path of the file to comment on.
+ # @param line [Integer] Line index in the diff to comment on.
+ # For a multi-line comment, the last line of the range
+ # and specify 'start_line' in the 'options'.
+ # @return [Sawyer::Resource] Hash representing the new comment
+ # @see https://developer.github.com/v3/pulls/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#209
+ def create_pull_comment(repo, pull_id, body, commit_id, path, line, options = T.unsafe(nil)); end
+
+ # Create reply to a pull request comment
+ #
+ # @example
+ # @client.create_pull_request_comment_reply("octokit/octokit.rb", 163, "done.", 1903950)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param pull_id [Integer] Pull request id
+ # @param body [String] Comment contents
+ # @param comment_id [Integer] Comment id to reply to
+ # @return [Sawyer::Resource] Hash representing new comment
+ # @see https://developer.github.com/v3/pulls/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#231
+ def create_pull_reply(repo, pull_id, body, comment_id, options = T.unsafe(nil)); end
+
+ # Create a pull request
+ #
+ # @example
+ # @client.create_pull_request("octokit/octokit.rb", "master", "feature-branch",
+ # "Pull Request title", "Pull Request body")
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param base [String] The branch (or git ref) you want your changes
+ # pulled into. This should be an existing branch on the current
+ # repository. You cannot submit a pull request to one repo that requests
+ # a merge to a base of another repo.
+ # @param head [String] The branch (or git ref) where your changes are implemented.
+ # @param title [String] Title for the pull request
+ # @param body [String] The body for the pull request (optional). Supports GFM.
+ # @return [Sawyer::Resource] The newly created pull request
+ # @see https://developer.github.com/v3/pulls/#create-a-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#52
+ def create_pull_request(repo, base, head, title, body = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Create a pull request comment
+ #
+ # @deprecated The position will be deprecated in the next major version. Please refer to the details below.
+ # @example
+ # @client.create_pull_request_comment("octokit/octokit.rb", 163, ":shipit:",
+ # "2d3201e4440903d8b04a5487842053ca4883e5f0", "lib/octokit/request.rb", 47)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param pull_id [Integer] Pull request id
+ # @param body [String] Comment content
+ # @param commit_id [String] Sha of the commit to comment on.
+ # @param path [String] Relative path of the file to comment on.
+ # @param line [Integer] Line index in the diff to comment on.
+ # For a multi-line comment, the last line of the range
+ # and specify 'start_line' in the 'options'.
+ # @return [Sawyer::Resource] Hash representing the new comment
+ # @see https://developer.github.com/v3/pulls/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#209
+ def create_pull_request_comment(repo, pull_id, body, commit_id, path, line, options = T.unsafe(nil)); end
+
+ # Create reply to a pull request comment
+ #
+ # @example
+ # @client.create_pull_request_comment_reply("octokit/octokit.rb", 163, "done.", 1903950)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param pull_id [Integer] Pull request id
+ # @param body [String] Comment contents
+ # @param comment_id [Integer] Comment id to reply to
+ # @return [Sawyer::Resource] Hash representing new comment
+ # @see https://developer.github.com/v3/pulls/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#231
+ def create_pull_request_comment_reply(repo, pull_id, body, comment_id, options = T.unsafe(nil)); end
+
+ # Create a pull request from existing issue
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param base [String] The branch (or git ref) you want your changes
+ # pulled into. This should be an existing branch on the current
+ # repository. You cannot submit a pull request to one repo that requests
+ # a merge to a base of another repo.
+ # @param head [String] The branch (or git ref) where your changes are implemented.
+ # @param issue [Integer] Number of Issue on which to base this pull request
+ # @return [Sawyer::Resource] The newly created pull request
+ # @see https://developer.github.com/v3/pulls/#alternative-input
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#73
+ def create_pull_request_for_issue(repo, base, head, issue, options = T.unsafe(nil)); end
+
+ # Create reply to a pull request comment
+ #
+ # @example
+ # @client.create_pull_request_comment_reply("octokit/octokit.rb", 163, "done.", 1903950)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param pull_id [Integer] Pull request id
+ # @param body [String] Comment contents
+ # @param comment_id [Integer] Comment id to reply to
+ # @return [Sawyer::Resource] Hash representing new comment
+ # @see https://developer.github.com/v3/pulls/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#231
+ def create_review_reply(repo, pull_id, body, comment_id, options = T.unsafe(nil)); end
+
+ # Create a pull request comment
+ #
+ # @deprecated The position will be deprecated in the next major version. Please refer to the details below.
+ # @example
+ # @client.create_pull_request_comment("octokit/octokit.rb", 163, ":shipit:",
+ # "2d3201e4440903d8b04a5487842053ca4883e5f0", "lib/octokit/request.rb", 47)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param pull_id [Integer] Pull request id
+ # @param body [String] Comment content
+ # @param commit_id [String] Sha of the commit to comment on.
+ # @param path [String] Relative path of the file to comment on.
+ # @param line [Integer] Line index in the diff to comment on.
+ # For a multi-line comment, the last line of the range
+ # and specify 'start_line' in the 'options'.
+ # @return [Sawyer::Resource] Hash representing the new comment
+ # @see https://developer.github.com/v3/pulls/comments/#create-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#209
+ def create_view_comment(repo, pull_id, body, commit_id, path, line, options = T.unsafe(nil)); end
+
+ # Delete pull request comment
+ #
+ # @example
+ # @client.delete_pull_request_comment("octokit/octokit.rb", 1902707)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of the comment to delete
+ # @return [Boolean] True if deleted, false otherwise
+ # @see https://developer.github.com/v3/pulls/comments/#delete-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#265
+ def delete_pull_comment(repo, comment_id, options = T.unsafe(nil)); end
+
+ # Delete pull request comment
+ #
+ # @example
+ # @client.delete_pull_request_comment("octokit/octokit.rb", 1902707)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of the comment to delete
+ # @return [Boolean] True if deleted, false otherwise
+ # @see https://developer.github.com/v3/pulls/comments/#delete-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#265
+ def delete_pull_request_comment(repo, comment_id, options = T.unsafe(nil)); end
+
+ # Delete pull request comment
+ #
+ # @example
+ # @client.delete_pull_request_comment("octokit/octokit.rb", 1902707)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of the comment to delete
+ # @return [Boolean] True if deleted, false otherwise
+ # @see https://developer.github.com/v3/pulls/comments/#delete-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#265
+ def delete_review_comment(repo, comment_id, options = T.unsafe(nil)); end
+
+ # Merge a pull request
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @param commit_message [String] Optional commit message for the merge commit
+ # @return [Array] Merge commit info if successful
+ # @see https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#300
+ def merge_pull_request(repo, number, commit_message = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Get a pull request
+ #
+ # @example
+ # Octokit.pull_request('rails/rails', 42, :state => 'closed')
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of the pull request to fetch
+ # @return [Sawyer::Resource] Pull request info
+ # @see https://developer.github.com/v3/pulls/#get-a-single-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#32
+ def pull(repo, number, options = T.unsafe(nil)); end
+
+ # Get a pull request comment
+ #
+ # @example
+ # @client.pull_request_comment("pengwynn/octkit", 1903950)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of comment to get
+ # @return [Sawyer::Resource] Hash representing the comment
+ # @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#187
+ def pull_comment(repo, comment_id, options = T.unsafe(nil)); end
+
+ # List comments on a pull request
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Array] List of comments
+ # @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#172
+ def pull_comments(repo, number, options = T.unsafe(nil)); end
+
+ # List commits on a pull request
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Array] List of commits
+ # @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#130
+ def pull_commits(repo, number, options = T.unsafe(nil)); end
+
+ # List files on a pull request
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Array] List of files
+ # @see https://developer.github.com/v3/pulls/#list-pull-requests-files
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#277
+ def pull_files(repo, number, options = T.unsafe(nil)); end
+
+ # Check pull request merge status
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Boolean] True if the pull request has been merged
+ # @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#310
+ def pull_merged?(repo, number, options = T.unsafe(nil)); end
+
+ # Get a pull request
+ #
+ # @example
+ # Octokit.pull_request('rails/rails', 42, :state => 'closed')
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of the pull request to fetch
+ # @return [Sawyer::Resource] Pull request info
+ # @see https://developer.github.com/v3/pulls/#get-a-single-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#32
+ def pull_request(repo, number, options = T.unsafe(nil)); end
+
+ # Get a pull request comment
+ #
+ # @example
+ # @client.pull_request_comment("pengwynn/octkit", 1903950)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of comment to get
+ # @return [Sawyer::Resource] Hash representing the comment
+ # @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#187
+ def pull_request_comment(repo, comment_id, options = T.unsafe(nil)); end
+
+ # List comments on a pull request
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Array] List of comments
+ # @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#172
+ def pull_request_comments(repo, number, options = T.unsafe(nil)); end
+
+ # List commits on a pull request
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Array] List of commits
+ # @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#130
+ def pull_request_commits(repo, number, options = T.unsafe(nil)); end
+
+ # List files on a pull request
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Array] List of files
+ # @see https://developer.github.com/v3/pulls/#list-pull-requests-files
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#277
+ def pull_request_files(repo, number, options = T.unsafe(nil)); end
+
+ # Check pull request merge status
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @return [Boolean] True if the pull request has been merged
+ # @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#310
+ def pull_request_merged?(repo, number, options = T.unsafe(nil)); end
+
+ # List pull requests for a repository
+ #
+ # @example
+ # Octokit.pull_requests('rails/rails', :state => 'closed')
+ # @overload pull_requests
+ # @return [Array