diff --git a/.dockerignore b/.dockerignore
index 5e64996..ef8423a 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -4,4 +4,5 @@
.gitignore
.rubocop.yml
deployment/
+sorbet/
state.json
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 84f89cb..2819f12 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -26,6 +26,9 @@ jobs:
with:
bundler-cache: true
+ - name: Run Sorbet Typecheck
+ run: bundle exec srb tc
+
- name: Run RuboCop
run: bundle exec rubocop
diff --git a/.rubocop.yml b/.rubocop.yml
index fb57e3f..2fbd7fe 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -1,5 +1,6 @@
require:
- rubocop-performance
+ - rubocop-sorbet
AllCops:
TargetRubyVersion: 3.3
@@ -45,6 +46,24 @@ Metrics/MethodLength:
Metrics/ParameterLists:
CountKeywordArgs: false
+# Incompatible with Sorbet
+Naming/BlockForwarding:
+ Enabled: false
+
+Sorbet/FalseSigil:
+ Enabled: false
+Sorbet/StrictSigil:
+ Enabled: true
+ Include:
+ - src/server.rb
+ - src/github_client.rb
+Sorbet/StrongSigil:
+ Enabled: true
+ Exclude:
+ - src/server.rb
+ - src/github_client.rb
+ - src/octokit/*.rb
+
Style/AndOr:
EnforcedStyle: always
diff --git a/Gemfile b/Gemfile
index 1cab8fa..9923a12 100644
--- a/Gemfile
+++ b/Gemfile
@@ -11,8 +11,12 @@ gem "orka_api_client", git: "https://github.com/Homebrew/orka_api_client"
gem "puma"
gem "rackup"
gem "sinatra"
+gem "sorbet-runtime"
group :development, optional: true do
gem "rubocop"
gem "rubocop-performance"
+ gem "rubocop-sorbet"
+ gem "sorbet-static-and-runtime"
+ gem "tapioca"
end
diff --git a/Gemfile.lock b/Gemfile.lock
index 3b647ce..3270d3f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -13,6 +13,7 @@ GEM
public_suffix (>= 2.0.2, < 7.0)
ast (2.4.2)
base64 (0.2.0)
+ erubi (1.13.0)
faraday (2.10.1)
faraday-net_http (>= 2.0, < 3.2)
logger
@@ -32,6 +33,7 @@ GEM
ruby2_keywords (~> 0.0.1)
net-http (0.4.1)
uri
+ netrc (0.11.0)
nio4r (2.7.3)
octokit (9.1.0)
faraday (>= 1, < 3)
@@ -40,6 +42,7 @@ GEM
parser (3.3.4.2)
ast (~> 2.4.1)
racc
+ prism (0.30.0)
public_suffix (6.0.1)
puma (6.4.2)
nio4r (~> 2.0)
@@ -54,6 +57,9 @@ GEM
rack (>= 3)
webrick (~> 1.8)
rainbow (3.1.1)
+ rbi (0.1.14)
+ prism (>= 0.18.0, < 1.0.0)
+ sorbet-runtime (>= 0.5.9204)
regexp_parser (2.9.2)
rexml (3.3.5)
strscan
@@ -73,6 +79,8 @@ GEM
rubocop-performance (1.21.1)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
+ rubocop-sorbet (0.8.5)
+ rubocop (>= 1)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
sawyer (0.9.2)
@@ -84,14 +92,45 @@ GEM
rack-protection (= 4.0.0)
rack-session (>= 2.0.0, < 3)
tilt (~> 2.0)
+ sorbet (0.5.11525)
+ sorbet-static (= 0.5.11525)
+ sorbet-runtime (0.5.11525)
+ sorbet-static (0.5.11525-aarch64-linux)
+ sorbet-static (0.5.11525-universal-darwin)
+ sorbet-static (0.5.11525-x86_64-linux)
+ sorbet-static-and-runtime (0.5.11525)
+ sorbet (= 0.5.11525)
+ sorbet-runtime (= 0.5.11525)
+ spoom (1.4.2)
+ erubi (>= 1.10.0)
+ prism (>= 0.28.0)
+ sorbet-static-and-runtime (>= 0.5.10187)
+ thor (>= 0.19.2)
strscan (3.1.0)
+ tapioca (0.16.0)
+ bundler (>= 2.2.25)
+ netrc (>= 0.11.0)
+ parallel (>= 1.21.0)
+ rbi (>= 0.1.14, < 0.2)
+ sorbet-static-and-runtime (>= 0.5.11087)
+ spoom (>= 1.2.0)
+ thor (>= 1.2.0)
+ yard-sorbet
+ thor (1.3.1)
tilt (2.4.0)
unicode-display_width (2.5.0)
uri (0.13.0)
webrick (1.8.1)
+ yard (0.9.36)
+ yard-sorbet (0.9.0)
+ sorbet-runtime
+ yard
PLATFORMS
- ruby
+ aarch64-linux
+ arm64-darwin
+ x86_64-darwin
+ x86_64-linux
DEPENDENCIES
faraday-retry
@@ -102,7 +141,11 @@ DEPENDENCIES
rackup
rubocop
rubocop-performance
+ rubocop-sorbet
sinatra
+ sorbet-runtime
+ sorbet-static-and-runtime
+ tapioca
RUBY VERSION
ruby 3.3.4p94
diff --git a/sorbet/config b/sorbet/config
new file mode 100644
index 0000000..983d2f1
--- /dev/null
+++ b/sorbet/config
@@ -0,0 +1,4 @@
+--dir
+.
+--ignore=tmp/
+--ignore=vendor/
diff --git a/sorbet/rbi/annotations/.gitattributes b/sorbet/rbi/annotations/.gitattributes
new file mode 100644
index 0000000..d2eacd2
--- /dev/null
+++ b/sorbet/rbi/annotations/.gitattributes
@@ -0,0 +1 @@
+**/*.rbi linguist-vendored=true
diff --git a/sorbet/rbi/annotations/faraday.rbi b/sorbet/rbi/annotations/faraday.rbi
new file mode 100644
index 0000000..c992c1a
--- /dev/null
+++ b/sorbet/rbi/annotations/faraday.rbi
@@ -0,0 +1,17 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This file was pulled from a central RBI files repository.
+# Please run `bin/tapioca annotations` to update it.
+
+module Faraday
+ class << self
+ sig { params(url: T.untyped, options: T::Hash[Symbol, T.untyped], block: T.nilable(T.proc.params(connection: Faraday::Connection).void)).returns(Faraday::Connection) }
+ def new(url = nil, options = {}, &block); end
+ end
+end
+
+class Faraday::Response
+ sig { returns(T::Boolean) }
+ def success?; end
+end
diff --git a/sorbet/rbi/annotations/rainbow.rbi b/sorbet/rbi/annotations/rainbow.rbi
new file mode 100644
index 0000000..0d2cb4e
--- /dev/null
+++ b/sorbet/rbi/annotations/rainbow.rbi
@@ -0,0 +1,269 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This file was pulled from a central RBI files repository.
+# Please run `bin/tapioca annotations` to update it.
+
+module Rainbow
+ # @shim: https://github.com/sickill/rainbow/blob/master/lib/rainbow.rb#L10-L12
+ sig { returns(T::Boolean) }
+ attr_accessor :enabled
+
+ class Color
+ sig { returns(Symbol) }
+ attr_reader :ground
+
+ sig { params(ground: Symbol, values: T.any([Integer], [Integer, Integer, Integer])).returns(Color) }
+ def self.build(ground, values); end
+
+ sig { params(hex: String).returns([Integer, Integer, Integer]) }
+ def self.parse_hex_color(hex); end
+
+ class Indexed < Rainbow::Color
+ sig { returns(Integer) }
+ attr_reader :num
+
+ sig { params(ground: Symbol, num: Integer).void }
+ def initialize(ground, num); end
+
+ sig { returns(T::Array[Integer]) }
+ def codes; end
+ end
+
+ class Named < Rainbow::Color::Indexed
+ NAMES = T.let(nil, T::Hash[Symbol, Integer])
+
+ sig { params(ground: Symbol, name: Symbol).void }
+ def initialize(ground, name); end
+
+ sig { returns(T::Array[Symbol]) }
+ def self.color_names; end
+
+ sig { returns(String) }
+ def self.valid_names; end
+ end
+
+ class RGB < Rainbow::Color::Indexed
+ sig { returns(Integer) }
+ attr_reader :r, :g, :b
+
+ sig { params(ground: Symbol, values: Integer).void }
+ def initialize(ground, *values); end
+
+ sig { returns(T::Array[Integer]) }
+ def codes; end
+
+ sig { params(value: Numeric).returns(Integer) }
+ def self.to_ansi_domain(value); end
+ end
+
+ class X11Named < Rainbow::Color::RGB
+ include Rainbow::X11ColorNames
+
+ sig { params(ground: Symbol, name: Symbol).void }
+ def initialize(ground, name); end
+
+ sig { returns(T::Array[Symbol]) }
+ def self.color_names; end
+
+ sig { returns(String) }
+ def self.valid_names; end
+ end
+ end
+
+ sig { returns(Wrapper) }
+ def self.global; end
+
+ sig { returns(T::Boolean) }
+ def self.enabled; end
+
+ sig { params(value: T::Boolean).returns(T::Boolean) }
+ def self.enabled=(value); end
+
+ sig { params(string: String).returns(String) }
+ def self.uncolor(string); end
+
+ class NullPresenter < String
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
+ def color(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
+ def foreground(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
+ def fg(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
+ def background(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
+ def bg(*values); end
+
+ sig { returns(NullPresenter) }
+ def reset; end
+
+ sig { returns(NullPresenter) }
+ def bright; end
+
+ sig { returns(NullPresenter) }
+ def faint; end
+
+ sig { returns(NullPresenter) }
+ def italic; end
+
+ sig { returns(NullPresenter) }
+ def underline; end
+
+ sig { returns(NullPresenter) }
+ def blink; end
+
+ sig { returns(NullPresenter) }
+ def inverse; end
+
+ sig { returns(NullPresenter) }
+ def hide; end
+
+ sig { returns(NullPresenter) }
+ def cross_out; end
+
+ sig { returns(NullPresenter) }
+ def black; end
+
+ sig { returns(NullPresenter) }
+ def red; end
+
+ sig { returns(NullPresenter) }
+ def green; end
+
+ sig { returns(NullPresenter) }
+ def yellow; end
+
+ sig { returns(NullPresenter) }
+ def blue; end
+
+ sig { returns(NullPresenter) }
+ def magenta; end
+
+ sig { returns(NullPresenter) }
+ def cyan; end
+
+ sig { returns(NullPresenter) }
+ def white; end
+
+ sig { returns(NullPresenter) }
+ def bold; end
+
+ sig { returns(NullPresenter) }
+ def dark; end
+
+ sig { returns(NullPresenter) }
+ def strike; end
+ end
+
+ class Presenter < String
+ TERM_EFFECTS = T.let(nil, T::Hash[Symbol, Integer])
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
+ def color(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
+ def foreground(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
+ def fg(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
+ def background(*values); end
+
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
+ def bg(*values); end
+
+ sig { returns(Presenter) }
+ def reset; end
+
+ sig { returns(Presenter) }
+ def bright; end
+
+ sig { returns(Presenter) }
+ def faint; end
+
+ sig { returns(Presenter) }
+ def italic; end
+
+ sig { returns(Presenter) }
+ def underline; end
+
+ sig { returns(Presenter) }
+ def blink; end
+
+ sig { returns(Presenter) }
+ def inverse; end
+
+ sig { returns(Presenter) }
+ def hide; end
+
+ sig { returns(Presenter) }
+ def cross_out; end
+
+ sig { returns(Presenter) }
+ def black; end
+
+ sig { returns(Presenter) }
+ def red; end
+
+ sig { returns(Presenter) }
+ def green; end
+
+ sig { returns(Presenter) }
+ def yellow; end
+
+ sig { returns(Presenter) }
+ def blue; end
+
+ sig { returns(Presenter) }
+ def magenta; end
+
+ sig { returns(Presenter) }
+ def cyan; end
+
+ sig { returns(Presenter) }
+ def white; end
+
+ sig { returns(Presenter) }
+ def bold; end
+
+ sig { returns(Presenter) }
+ def dark; end
+
+ sig { returns(Presenter) }
+ def strike; end
+ end
+
+ class StringUtils
+ sig { params(string: String, codes: T::Array[Integer]).returns(String) }
+ def self.wrap_with_sgr(string, codes); end
+
+ sig { params(string: String).returns(String) }
+ def self.uncolor(string); end
+ end
+
+ VERSION = T.let(nil, String)
+
+ class Wrapper
+ sig { returns(T::Boolean) }
+ attr_accessor :enabled
+
+ sig { params(enabled: T::Boolean).void }
+ def initialize(enabled = true); end
+
+ sig { params(string: String).returns(T.any(Rainbow::Presenter, Rainbow::NullPresenter)) }
+ def wrap(string); end
+ end
+
+ module X11ColorNames
+ NAMES = T.let(nil, T::Hash[Symbol, [Integer, Integer, Integer]])
+ end
+end
+
+sig { params(string: String).returns(Rainbow::Presenter) }
+def Rainbow(string); end
diff --git a/sorbet/rbi/faraday.rbi b/sorbet/rbi/faraday.rbi
new file mode 100644
index 0000000..a7a6492
--- /dev/null
+++ b/sorbet/rbi/faraday.rbi
@@ -0,0 +1,6 @@
+# typed: strong
+
+class Faraday::Error
+ sig { returns(T.nilable(String)) }
+ def response_body; end
+end
diff --git a/sorbet/rbi/gems/.gitattributes b/sorbet/rbi/gems/.gitattributes
new file mode 100644
index 0000000..d9bb82a
--- /dev/null
+++ b/sorbet/rbi/gems/.gitattributes
@@ -0,0 +1 @@
+**/*.rbi linguist-generated=true
diff --git a/sorbet/rbi/gems/addressable@2.8.7.rbi b/sorbet/rbi/gems/addressable@2.8.7.rbi
new file mode 100644
index 0000000..eb8dae4
--- /dev/null
+++ b/sorbet/rbi/gems/addressable@2.8.7.rbi
@@ -0,0 +1,1994 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `addressable` gem.
+# Please instead update this file by running `bin/tapioca gem addressable`.
+
+
+# Addressable is a library for processing links and URIs.
+#
+# source://addressable//lib/addressable/version.rb#22
+module Addressable; end
+
+# source://addressable//lib/addressable/idna/pure.rb#21
+module Addressable::IDNA
+ class << self
+ # source://addressable//lib/addressable/idna/pure.rb#117
+ def _deprecated_unicode_normalize_kc(value); end
+
+ # Converts from a Unicode internationalized domain name to an ASCII
+ # domain name as described in RFC 3490.
+ #
+ # source://addressable//lib/addressable/idna/pure.rb#67
+ def to_ascii(input); end
+
+ # Converts from an ASCII domain name to a Unicode internationalized
+ # domain name as described in RFC 3490.
+ #
+ # source://addressable//lib/addressable/idna/pure.rb#93
+ def to_unicode(input); end
+
+ # @deprecated Use {String#unicode_normalize(:nfkc)} instead
+ def unicode_normalize_kc(*args, **_arg1, &block); end
+
+ private
+
+ # source://addressable//lib/addressable/idna/pure.rb#140
+ def lookup_unicode_lowercase(codepoint); end
+
+ # Bias adaptation method
+ #
+ # source://addressable//lib/addressable/idna/pure.rb#488
+ def punycode_adapt(delta, numpoints, firsttime); end
+
+ # @return [Boolean]
+ #
+ # source://addressable//lib/addressable/idna/pure.rb#456
+ def punycode_basic?(codepoint); end
+
+ # source://addressable//lib/addressable/idna/pure.rb#334
+ def punycode_decode(punycode); end
+
+ # Returns the numeric value of a basic codepoint
+ # (for use in representing integers) in the range 0 to
+ # base - 1, or PUNYCODE_BASE if codepoint does not represent a value.
+ #
+ # source://addressable//lib/addressable/idna/pure.rb#474
+ def punycode_decode_digit(codepoint); end
+
+ # @return [Boolean]
+ #
+ # source://addressable//lib/addressable/idna/pure.rb#461
+ def punycode_delimiter?(codepoint); end
+
+ # source://addressable//lib/addressable/idna/pure.rb#213
+ def punycode_encode(unicode); end
+
+ # source://addressable//lib/addressable/idna/pure.rb#466
+ def punycode_encode_digit(d); end
+
+ # Unicode aware downcase method.
+ #
+ # @api private
+ # @param input [String] The input string.
+ # @return [String] The downcased result.
+ #
+ # source://addressable//lib/addressable/idna/pure.rb#132
+ def unicode_downcase(input); end
+ end
+end
+
+# source://addressable//lib/addressable/idna/pure.rb#183
+Addressable::IDNA::ACE_MAX_LENGTH = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#40
+Addressable::IDNA::ACE_PREFIX = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/idna/pure.rb#172
+Addressable::IDNA::COMPOSITION_TABLE = T.let(T.unsafe(nil), Hash)
+
+# source://addressable//lib/addressable/idna/pure.rb#185
+Addressable::IDNA::PUNYCODE_BASE = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#189
+Addressable::IDNA::PUNYCODE_DAMP = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#192
+Addressable::IDNA::PUNYCODE_DELIMITER = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#190
+Addressable::IDNA::PUNYCODE_INITIAL_BIAS = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#191
+Addressable::IDNA::PUNYCODE_INITIAL_N = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#194
+Addressable::IDNA::PUNYCODE_MAXINT = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#196
+Addressable::IDNA::PUNYCODE_PRINT_ASCII = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/idna/pure.rb#188
+Addressable::IDNA::PUNYCODE_SKEW = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#187
+Addressable::IDNA::PUNYCODE_TMAX = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#186
+Addressable::IDNA::PUNYCODE_TMIN = T.let(T.unsafe(nil), Integer)
+
+# Input is invalid.
+#
+# source://addressable//lib/addressable/idna/pure.rb#207
+class Addressable::IDNA::PunycodeBadInput < ::StandardError; end
+
+# Output would exceed the space provided.
+#
+# source://addressable//lib/addressable/idna/pure.rb#209
+class Addressable::IDNA::PunycodeBigOutput < ::StandardError; end
+
+# Input needs wider integers to process.
+#
+# source://addressable//lib/addressable/idna/pure.rb#211
+class Addressable::IDNA::PunycodeOverflow < ::StandardError; end
+
+# source://addressable//lib/addressable/idna/pure.rb#163
+Addressable::IDNA::UNICODE_DATA = T.let(T.unsafe(nil), Hash)
+
+# source://addressable//lib/addressable/idna/pure.rb#150
+Addressable::IDNA::UNICODE_DATA_CANONICAL = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#148
+Addressable::IDNA::UNICODE_DATA_COMBINING_CLASS = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#151
+Addressable::IDNA::UNICODE_DATA_COMPATIBILITY = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#149
+Addressable::IDNA::UNICODE_DATA_EXCLUSION = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#153
+Addressable::IDNA::UNICODE_DATA_LOWERCASE = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#154
+Addressable::IDNA::UNICODE_DATA_TITLECASE = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#152
+Addressable::IDNA::UNICODE_DATA_UPPERCASE = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#182
+Addressable::IDNA::UNICODE_MAX_LENGTH = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/idna/pure.rb#36
+Addressable::IDNA::UNICODE_TABLE = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/idna/pure.rb#42
+Addressable::IDNA::UTF8_REGEX = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/idna/pure.rb#53
+Addressable::IDNA::UTF8_REGEX_MULTIBYTE = T.let(T.unsafe(nil), Regexp)
+
+# This is an implementation of a URI template based on
+# RFC 6570 (http://tools.ietf.org/html/rfc6570).
+#
+# source://addressable//lib/addressable/template.rb#27
+class Addressable::Template
+ # Creates a new Addressable::Template object.
+ #
+ # @param pattern [#to_str] The URI Template pattern.
+ # @return [Addressable::Template] The initialized Template object.
+ #
+ # source://addressable//lib/addressable/template.rb#234
+ def initialize(pattern); end
+
+ # Returns true
if the Template objects are equal. This method
+ # does NOT normalize either Template before doing the comparison.
+ #
+ # @param template [Object] The Template to compare.
+ # @return [TrueClass, FalseClass] true
if the Templates are equivalent, false
+ # otherwise.
+ #
+ # source://addressable//lib/addressable/template.rb#274
+ def ==(template); end
+
+ # Returns true
if the Template objects are equal. This method
+ # does NOT normalize either Template before doing the comparison.
+ # Addressable::Template makes no distinction between `==` and `eql?`.
+ #
+ # @param template [Object] The Template to compare.
+ # @return [TrueClass, FalseClass] true
if the Templates are equivalent, false
+ # otherwise.
+ # @see #==
+ #
+ # source://addressable//lib/addressable/template.rb#274
+ def eql?(template); end
+
+ # Expands a URI template into a full URI.
+ #
+ # The object should respond to either the validate or
+ # transform messages or both. Both the validate and
+ # transform methods should take two parameters: name and
+ # value. The validate method should return true
+ # or false; true if the value of the variable is valid,
+ # false otherwise. An InvalidTemplateValueError
+ # exception will be raised if the value is invalid. The transform
+ # method should return the transformed variable value as a String.
+ # If a transform method is used, the value will not be percent
+ # encoded automatically. Unicode normalization will be performed both
+ # before and after sending the value to the transform method.
+ #
+ # @example
+ # class ExampleProcessor
+ # def self.validate(name, value)
+ # return !!(value =~ /^[\w ]+$/) if name == "query"
+ # return true
+ # end
+ #
+ # def self.transform(name, value)
+ # return value.gsub(/ /, "+") if name == "query"
+ # return value
+ # end
+ # end
+ #
+ # Addressable::Template.new(
+ # "http://example.com/search/{query}/"
+ # ).expand(
+ # {"query" => "an example search query"},
+ # ExampleProcessor
+ # ).to_str
+ # #=> "http://example.com/search/an+example+search+query/"
+ #
+ # Addressable::Template.new(
+ # "http://example.com/search/{query}/"
+ # ).expand(
+ # {"query" => "an example search query"}
+ # ).to_str
+ # #=> "http://example.com/search/an%20example%20search%20query/"
+ #
+ # Addressable::Template.new(
+ # "http://example.com/search/{query}/"
+ # ).expand(
+ # {"query" => "bogus!"},
+ # ExampleProcessor
+ # ).to_str
+ # #=> Addressable::Template::InvalidTemplateValueError
+ # @param mapping [Hash] The mapping that corresponds to the pattern.
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
+ # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
+ # @return [Addressable::URI] The expanded URI template.
+ #
+ # source://addressable//lib/addressable/template.rb#591
+ def expand(mapping, processor = T.unsafe(nil), normalize_values = T.unsafe(nil)); end
+
+ # Extracts a mapping from the URI using a URI Template pattern.
+ #
+ # @example
+ # class ExampleProcessor
+ # def self.restore(name, value)
+ # return value.gsub(/\+/, " ") if name == "query"
+ # return value
+ # end
+ #
+ # def self.match(name)
+ # return ".*?" if name == "first"
+ # return ".*"
+ # end
+ # end
+ #
+ # uri = Addressable::URI.parse(
+ # "http://example.com/search/an+example+search+query/"
+ # )
+ # Addressable::Template.new(
+ # "http://example.com/search/{query}/"
+ # ).extract(uri, ExampleProcessor)
+ # #=> {"query" => "an example search query"}
+ #
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
+ # Addressable::Template.new(
+ # "http://example.com/{first}/{second}/"
+ # ).extract(uri, ExampleProcessor)
+ # #=> {"first" => "a", "second" => "b/c"}
+ #
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
+ # Addressable::Template.new(
+ # "http://example.com/{first}/{-list|/|second}/"
+ # ).extract(uri)
+ # #=> {"first" => "a", "second" => ["b", "c"]}
+ # @param uri [Addressable::URI, #to_str] The URI to extract from.
+ # @param processor [#restore, #match] A template processor object may optionally be supplied.
+ #
+ # The object should respond to either the restore or
+ # match messages or both. The restore method should
+ # take two parameters: `[String] name` and `[String] value`.
+ # The restore method should reverse any transformations that
+ # have been performed on the value to ensure a valid URI.
+ # The match method should take a single
+ # parameter: `[String] name`. The match method should return
+ # a String containing a regular expression capture group for
+ # matching on that particular variable. The default value is `".*?"`.
+ # The match method has no effect on multivariate operator
+ # expansions.
+ # @return [Hash, NilClass] The Hash mapping that was extracted from the URI, or
+ # nil if the URI didn't match the template.
+ #
+ # source://addressable//lib/addressable/template.rb#342
+ def extract(uri, processor = T.unsafe(nil)); end
+
+ # Freeze URI, initializing instance variables.
+ #
+ # @return [Addressable::URI] The frozen URI object.
+ #
+ # source://addressable//lib/addressable/template.rb#245
+ def freeze; end
+
+ # Returns a String representation of the Template object's state.
+ #
+ # @return [String] The Template object's state, as a String.
+ #
+ # source://addressable//lib/addressable/template.rb#260
+ def inspect; end
+
+ # Returns an Array of variables used within the template pattern.
+ # The variables are listed in the Array in the order they appear within
+ # the pattern. Multiple occurrences of a variable within a pattern are
+ # not represented in this Array.
+ #
+ # @return [Array] The variables present in the template's pattern.
+ #
+ # source://addressable//lib/addressable/template.rb#607
+ def keys; end
+
+ # Extracts match data from the URI using a URI Template pattern.
+ #
+ # @example
+ # class ExampleProcessor
+ # def self.restore(name, value)
+ # return value.gsub(/\+/, " ") if name == "query"
+ # return value
+ # end
+ #
+ # def self.match(name)
+ # return ".*?" if name == "first"
+ # return ".*"
+ # end
+ # end
+ #
+ # uri = Addressable::URI.parse(
+ # "http://example.com/search/an+example+search+query/"
+ # )
+ # match = Addressable::Template.new(
+ # "http://example.com/search/{query}/"
+ # ).match(uri, ExampleProcessor)
+ # match.variables
+ # #=> ["query"]
+ # match.captures
+ # #=> ["an example search query"]
+ #
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
+ # match = Addressable::Template.new(
+ # "http://example.com/{first}/{+second}/"
+ # ).match(uri, ExampleProcessor)
+ # match.variables
+ # #=> ["first", "second"]
+ # match.captures
+ # #=> ["a", "b/c"]
+ #
+ # uri = Addressable::URI.parse("http://example.com/a/b/c/")
+ # match = Addressable::Template.new(
+ # "http://example.com/{first}{/second*}/"
+ # ).match(uri)
+ # match.variables
+ # #=> ["first", "second"]
+ # match.captures
+ # #=> ["a", ["b", "c"]]
+ # @param uri [Addressable::URI, #to_str] The URI to extract from.
+ # @param processor [#restore, #match] A template processor object may optionally be supplied.
+ #
+ # The object should respond to either the restore or
+ # match messages or both. The restore method should
+ # take two parameters: `[String] name` and `[String] value`.
+ # The restore method should reverse any transformations that
+ # have been performed on the value to ensure a valid URI.
+ # The match method should take a single
+ # parameter: `[String] name`. The match method should return
+ # a String containing a regular expression capture group for
+ # matching on that particular variable. The default value is `".*?"`.
+ # The match method has no effect on multivariate operator
+ # expansions.
+ # @return [Hash, NilClass] The Hash mapping that was extracted from the URI, or
+ # nil if the URI didn't match the template.
+ #
+ # source://addressable//lib/addressable/template.rb#413
+ def match(uri, processor = T.unsafe(nil)); end
+
+ # Returns the named captures of the coerced `Regexp`.
+ #
+ # @api private
+ # @return [Hash] The named captures of the `Regexp` given by {#to_regexp}.
+ #
+ # source://addressable//lib/addressable/template.rb#651
+ def named_captures; end
+
+ # Returns an Array of variables used within the template pattern.
+ # The variables are listed in the Array in the order they appear within
+ # the pattern. Multiple occurrences of a variable within a pattern are
+ # not represented in this Array.
+ #
+ # @return [Array] The variables present in the template's pattern.
+ #
+ # source://addressable//lib/addressable/template.rb#607
+ def names; end
+
+ # Expands a URI template into another URI template.
+ #
+ # The object should respond to either the validate or
+ # transform messages or both. Both the validate and
+ # transform methods should take two parameters: name and
+ # value. The validate method should return true
+ # or false; true if the value of the variable is valid,
+ # false otherwise. An InvalidTemplateValueError
+ # exception will be raised if the value is invalid. The transform
+ # method should return the transformed variable value as a String.
+ # If a transform method is used, the value will not be percent
+ # encoded automatically. Unicode normalization will be performed both
+ # before and after sending the value to the transform method.
+ #
+ # @example
+ # Addressable::Template.new(
+ # "http://example.com/{one}/{two}/"
+ # ).partial_expand({"one" => "1"}).pattern
+ # #=> "http://example.com/1/{two}/"
+ #
+ # Addressable::Template.new(
+ # "http://example.com/{?one,two}/"
+ # ).partial_expand({"one" => "1"}).pattern
+ # #=> "http://example.com/?one=1{&two}/"
+ #
+ # Addressable::Template.new(
+ # "http://example.com/{?one,two,three}/"
+ # ).partial_expand({"one" => "1", "three" => 3}).pattern
+ # #=> "http://example.com/?one=1{&two}&three=3"
+ # @param mapping [Hash] The mapping that corresponds to the pattern.
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
+ # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
+ # @return [Addressable::Template] The partially expanded URI template.
+ #
+ # source://addressable//lib/addressable/template.rb#524
+ def partial_expand(mapping, processor = T.unsafe(nil), normalize_values = T.unsafe(nil)); end
+
+ # @return [String] The Template object's pattern.
+ #
+ # source://addressable//lib/addressable/template.rb#254
+ def pattern; end
+
+ # Returns the source of the coerced `Regexp`.
+ #
+ # @api private
+ # @return [String] The source of the `Regexp` given by {#to_regexp}.
+ #
+ # source://addressable//lib/addressable/template.rb#641
+ def source; end
+
+ # Coerces a template into a `Regexp` object. This regular expression will
+ # behave very similarly to the actual template, and should match the same
+ # URI values, but it cannot fully handle, for example, values that would
+ # extract to an `Array`.
+ #
+ # @return [Regexp] A regular expression which should match the template.
+ #
+ # source://addressable//lib/addressable/template.rb#630
+ def to_regexp; end
+
+ # Returns a mapping of variables to their default values specified
+ # in the template. Variables without defaults are not returned.
+ #
+ # @return [Hash] Mapping of template variables to their defaults
+ #
+ # source://addressable//lib/addressable/template.rb#618
+ def variable_defaults; end
+
+ # Returns an Array of variables used within the template pattern.
+ # The variables are listed in the Array in the order they appear within
+ # the pattern. Multiple occurrences of a variable within a pattern are
+ # not represented in this Array.
+ #
+ # @return [Array] The variables present in the template's pattern.
+ #
+ # source://addressable//lib/addressable/template.rb#607
+ def variables; end
+
+ private
+
+ # Takes a set of values, and joins them together based on the
+ # operator.
+ #
+ # @param operator [String, Nil] One of the operators from the set
+ # (?,&,+,#,;,/,.), or nil if there wasn't one.
+ # @param return_value [Array] The set of return values (as [variable_name, value] tuples) that will
+ # be joined together.
+ # @return [String] The transformed mapped value
+ #
+ # source://addressable//lib/addressable/template.rb#861
+ def join_values(operator, return_value); end
+
+ # Generates a hash with string keys
+ #
+ # @param mapping [Hash] A mapping hash to normalize
+ # @return [Hash] A hash with stringified keys
+ #
+ # source://addressable//lib/addressable/template.rb#924
+ def normalize_keys(mapping); end
+
+ # Takes a set of values, and joins them together based on the
+ # operator.
+ #
+ # @param value [Hash, Array, String] Normalizes unicode keys and values with String#unicode_normalize (NFC)
+ # @return [Hash, Array, String] The normalized values
+ #
+ # source://addressable//lib/addressable/template.rb#898
+ def normalize_value(value); end
+
+ # source://addressable//lib/addressable/template.rb#656
+ def ordered_variable_defaults; end
+
+ # Generates the Regexp that parses a template pattern.
+ #
+ # @param pattern [String] The URI template pattern.
+ # @param processor [#match] The template processor to use.
+ # @return [Array, Regexp] An array of expansion variables nad a regular expression which may be
+ # used to parse a template pattern
+ #
+ # source://addressable//lib/addressable/template.rb#968
+ def parse_new_template_pattern(pattern, processor = T.unsafe(nil)); end
+
+ # Generates the Regexp that parses a template pattern. Memoizes the
+ # value if template processor not set (processors may not be deterministic)
+ #
+ # @param pattern [String] The URI template pattern.
+ # @param processor [#match] The template processor to use.
+ # @return [Array, Regexp] An array of expansion variables nad a regular expression which may be
+ # used to parse a template pattern
+ #
+ # source://addressable//lib/addressable/template.rb#950
+ def parse_template_pattern(pattern, processor = T.unsafe(nil)); end
+
+ # Transforms a mapped value so that values can be substituted into the
+ # template.
+ #
+ # The object should respond to either the validate or
+ # transform messages or both. Both the validate and
+ # transform methods should take two parameters: name and
+ # value. The validate method should return true
+ # or false; true if the value of the variable is valid,
+ # false otherwise. An InvalidTemplateValueError exception
+ # will be raised if the value is invalid. The transform method
+ # should return the transformed variable value as a String. If a
+ # transform method is used, the value will not be percent encoded
+ # automatically. Unicode normalization will be performed both before and
+ # after sending the value to the transform method.
+ #
+ # @param mapping [Hash] The mapping to replace captures
+ # @param capture [String] The expression to replace
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
+ # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
+ # @return [String] The expanded expression
+ #
+ # source://addressable//lib/addressable/template.rb#753
+ def transform_capture(mapping, capture, processor = T.unsafe(nil), normalize_values = T.unsafe(nil)); end
+
+ # Loops through each capture and expands any values available in mapping
+ #
+ # The object should respond to either the validate or
+ # transform messages or both. Both the validate and
+ # transform methods should take two parameters: name and
+ # value. The validate method should return true
+ # or false; true if the value of the variable is valid,
+ # false otherwise. An InvalidTemplateValueError exception
+ # will be raised if the value is invalid. The transform method
+ # should return the transformed variable value as a String. If a
+ # transform method is used, the value will not be percent encoded
+ # automatically. Unicode normalization will be performed both before and
+ # after sending the value to the transform method.
+ #
+ # @param mapping [Hash] Set of keys to expand
+ # @param capture [String] The expression to expand
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
+ # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
+ # @return [String] The expanded expression
+ #
+ # source://addressable//lib/addressable/template.rb#694
+ def transform_partial_capture(mapping, capture, processor = T.unsafe(nil), normalize_values = T.unsafe(nil)); end
+end
+
+# source://addressable//lib/addressable/template.rb#58
+Addressable::Template::EXPRESSION = T.let(T.unsafe(nil), Regexp)
+
+# Raised if an invalid template operator is used in a pattern.
+#
+# source://addressable//lib/addressable/template.rb#85
+class Addressable::Template::InvalidTemplateOperatorError < ::StandardError; end
+
+# Raised if an invalid template value is supplied.
+#
+# source://addressable//lib/addressable/template.rb#80
+class Addressable::Template::InvalidTemplateValueError < ::StandardError; end
+
+# source://addressable//lib/addressable/template.rb#70
+Addressable::Template::JOINERS = T.let(T.unsafe(nil), Hash)
+
+# source://addressable//lib/addressable/template.rb#62
+Addressable::Template::LEADERS = T.let(T.unsafe(nil), Hash)
+
+# This class represents the data that is extracted when a Template
+# is matched against a URI.
+#
+# source://addressable//lib/addressable/template.rb#96
+class Addressable::Template::MatchData
+ # Creates a new MatchData object.
+ # MatchData objects should never be instantiated directly.
+ #
+ # @param uri [Addressable::URI] The URI that the template was matched against.
+ # @return [MatchData] a new instance of MatchData
+ #
+ # source://addressable//lib/addressable/template.rb#103
+ def initialize(uri, template, mapping); end
+
+ # Accesses captured values by name or by index.
+ #
+ # @param key [String, Symbol, Fixnum] Capture index or name. Note that when accessing by with index
+ # of 0, the full URI will be returned. The intention is to mimic
+ # the ::MatchData#[] behavior.
+ # @param len [#to_int, nil] If provided, an array of values will be returned with the given
+ # parameter used as length.
+ # @return [Array, String, nil] The captured value corresponding to the index or name. If the
+ # value was not provided or the key is unknown, nil will be
+ # returned.
+ #
+ # If the second parameter is provided, an array of that length will
+ # be returned instead.
+ #
+ # source://addressable//lib/addressable/template.rb#170
+ def [](key, len = T.unsafe(nil)); end
+
+ # @return [Array] The list of values that were captured by the Template.
+ # Note that this list will include nils for any variables which
+ # were in the Template, but did not appear in the URI.
+ #
+ # source://addressable//lib/addressable/template.rb#143
+ def captures; end
+
+ # Returns a String representation of the MatchData's state.
+ #
+ # @return [String] The MatchData's state, as a String.
+ #
+ # source://addressable//lib/addressable/template.rb#213
+ def inspect; end
+
+ # @return [Array] The list of variables that were present in the Template.
+ # Note that this list will include variables which do not appear
+ # in the mapping because they were not present in URI.
+ #
+ # source://addressable//lib/addressable/template.rb#132
+ def keys; end
+
+ # @return [Hash] The mapping that resulted from the match.
+ # Note that this mapping does not include keys or values for
+ # variables that appear in the Template, but are not present
+ # in the URI.
+ #
+ # source://addressable//lib/addressable/template.rb#125
+ def mapping; end
+
+ # @return [Array] The list of variables that were present in the Template.
+ # Note that this list will include variables which do not appear
+ # in the mapping because they were not present in URI.
+ #
+ # source://addressable//lib/addressable/template.rb#132
+ def names; end
+
+ # Dummy method for code expecting a ::MatchData instance
+ #
+ # @return [String] An empty string.
+ #
+ # source://addressable//lib/addressable/template.rb#222
+ def post_match; end
+
+ # Dummy method for code expecting a ::MatchData instance
+ #
+ # @return [String] An empty string.
+ #
+ # source://addressable//lib/addressable/template.rb#222
+ def pre_match; end
+
+ # @return [String] The matched URI as String.
+ #
+ # source://addressable//lib/addressable/template.rb#191
+ def string; end
+
+ # @return [Addressable::Template] The Template used for the match.
+ #
+ # source://addressable//lib/addressable/template.rb#117
+ def template; end
+
+ # @return [Array] Array with the matched URI as first element followed by the captured
+ # values.
+ #
+ # source://addressable//lib/addressable/template.rb#184
+ def to_a; end
+
+ # @return [String] The matched URI as String.
+ #
+ # source://addressable//lib/addressable/template.rb#191
+ def to_s; end
+
+ # @return [Addressable::URI] The URI that the Template was matched against.
+ #
+ # source://addressable//lib/addressable/template.rb#112
+ def uri; end
+
+ # @return [Array] The list of values that were captured by the Template.
+ # Note that this list will include nils for any variables which
+ # were in the Template, but did not appear in the URI.
+ #
+ # source://addressable//lib/addressable/template.rb#143
+ def values; end
+
+ # Returns multiple captured values at once.
+ #
+ # @param *indexes [String, Symbol, Fixnum] Indices of the captures to be returned
+ # @return [Array] Values corresponding to given indices.
+ # @see Addressable::Template::MatchData#[]
+ #
+ # source://addressable//lib/addressable/template.rb#205
+ def values_at(*indexes); end
+
+ # @return [Array] The list of variables that were present in the Template.
+ # Note that this list will include variables which do not appear
+ # in the mapping because they were not present in URI.
+ #
+ # source://addressable//lib/addressable/template.rb#132
+ def variables; end
+end
+
+# source://addressable//lib/addressable/template.rb#40
+Addressable::Template::RESERVED = T.let(T.unsafe(nil), String)
+
+# Raised if an invalid template operator is used in a pattern.
+#
+# source://addressable//lib/addressable/template.rb#90
+class Addressable::Template::TemplateOperatorAbortedError < ::StandardError; end
+
+# source://addressable//lib/addressable/template.rb#42
+Addressable::Template::UNRESERVED = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/template.rb#54
+Addressable::Template::VARIABLE_LIST = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/template.rb#50
+Addressable::Template::VARNAME = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/template.rb#52
+Addressable::Template::VARSPEC = T.let(T.unsafe(nil), Regexp)
+
+# This is an implementation of a URI parser based on
+# RFC 3986,
+# RFC 3987.
+#
+# source://addressable//lib/addressable/uri.rb#31
+class Addressable::URI
+ # Creates a new uri object from component parts.
+ #
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @option [String,
+ # @param [String, [Hash] a customizable set of options
+ # @return [Addressable::URI] The constructed URI object.
+ #
+ # source://addressable//lib/addressable/uri.rb#830
+ def initialize(options = T.unsafe(nil)); end
+
+ # Joins two URIs together.
+ #
+ # @param The [String, Addressable::URI, #to_str] URI to join with.
+ # @return [Addressable::URI] The joined URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#1889
+ def +(uri); end
+
+ # Returns true
if the URI objects are equal. This method
+ # normalizes both URIs before doing the comparison.
+ #
+ # @param uri [Object] The URI to compare.
+ # @return [TrueClass, FalseClass] true
if the URIs are equivalent, false
+ # otherwise.
+ #
+ # source://addressable//lib/addressable/uri.rb#2239
+ def ==(uri); end
+
+ # Returns true
if the URI objects are equal. This method
+ # normalizes both URIs before doing the comparison, and allows comparison
+ # against Strings
.
+ #
+ # @param uri [Object] The URI to compare.
+ # @return [TrueClass, FalseClass] true
if the URIs are equivalent, false
+ # otherwise.
+ #
+ # source://addressable//lib/addressable/uri.rb#2217
+ def ===(uri); end
+
+ # Determines if the URI is absolute.
+ #
+ # @return [TrueClass, FalseClass] true
if the URI is absolute. false
+ # otherwise.
+ #
+ # source://addressable//lib/addressable/uri.rb#1879
+ def absolute?; end
+
+ # The authority component for this URI.
+ # Combines the user, password, host, and port components.
+ #
+ # @return [String] The authority component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1234
+ def authority; end
+
+ # Sets the authority component for this URI.
+ #
+ # @param new_authority [String, #to_str] The new authority component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1274
+ def authority=(new_authority); end
+
+ # The basename, if any, of the file in the path component.
+ #
+ # @return [String] The path's basename.
+ #
+ # source://addressable//lib/addressable/uri.rb#1588
+ def basename; end
+
+ # The default port for this URI's scheme.
+ # This method will always returns the default port for the URI's scheme
+ # regardless of the presence of an explicit port in the URI.
+ #
+ # @return [Integer] The default port.
+ #
+ # source://addressable//lib/addressable/uri.rb#1454
+ def default_port; end
+
+ # This method allows you to make several changes to a URI simultaneously,
+ # which separately would cause validation errors, but in conjunction,
+ # are valid. The URI will be revalidated as soon as the entire block has
+ # been executed.
+ #
+ # @param block [Proc] A set of operations to perform on a given URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#2396
+ def defer_validation; end
+
+ # Creates a URI suitable for display to users. If semantic attacks are
+ # likely, the application should try to detect these and warn the user.
+ # See RFC 3986,
+ # section 7.6 for more information.
+ #
+ # @return [Addressable::URI] A URI suitable for display purposes.
+ #
+ # source://addressable//lib/addressable/uri.rb#2201
+ def display_uri; end
+
+ # Returns the public suffix domain for this host.
+ #
+ # @example
+ # Addressable::URI.parse("http://www.example.co.uk").domain # => "example.co.uk"
+ #
+ # source://addressable//lib/addressable/uri.rb#1225
+ def domain; end
+
+ # Clones the URI object.
+ #
+ # @return [Addressable::URI] The cloned URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#2271
+ def dup; end
+
+ # Determines if the URI is an empty string.
+ #
+ # @return [TrueClass, FalseClass] Returns true
if empty, false
otherwise.
+ #
+ # source://addressable//lib/addressable/uri.rb#2333
+ def empty?; end
+
+ # source://addressable//lib/addressable/uri.rb#2406
+ def encode_with(coder); end
+
+ # Returns true
if the URI objects are equal. This method
+ # does NOT normalize either URI before doing the comparison.
+ #
+ # @param uri [Object] The URI to compare.
+ # @return [TrueClass, FalseClass] true
if the URIs are equivalent, false
+ # otherwise.
+ #
+ # source://addressable//lib/addressable/uri.rb#2253
+ def eql?(uri); end
+
+ # The extname, if any, of the file in the path component.
+ # Empty string if there is no extension.
+ #
+ # @return [String] The path's extname.
+ #
+ # source://addressable//lib/addressable/uri.rb#1598
+ def extname; end
+
+ # The fragment component for this URI.
+ #
+ # @return [String] The fragment component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1810
+ def fragment; end
+
+ # Sets the fragment component for this URI.
+ #
+ # @param new_fragment [String, #to_str] The new fragment component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1835
+ def fragment=(new_fragment); end
+
+ # Freeze URI, initializing instance variables.
+ #
+ # @return [Addressable::URI] The frozen URI object.
+ #
+ # source://addressable//lib/addressable/uri.rb#870
+ def freeze; end
+
+ # A hash value that will make a URI equivalent to its normalized
+ # form.
+ #
+ # @return [Integer] A hash of the URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#2263
+ def hash; end
+
+ # The host component for this URI.
+ #
+ # @return [String] The host component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1120
+ def host; end
+
+ # Sets the host component for this URI.
+ #
+ # @param new_host [String, #to_str] The new host component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1156
+ def host=(new_host); end
+
+ # This method is same as URI::Generic#host except
+ # brackets for IPv6 (and 'IPvFuture') addresses are removed.
+ #
+ # @return [String] The hostname for this URI.
+ # @see Addressable::URI#host
+ #
+ # source://addressable//lib/addressable/uri.rb#1178
+ def hostname; end
+
+ # This method is same as URI::Generic#host= except
+ # the argument can be a bare IPv6 address (or 'IPvFuture').
+ #
+ # @param new_hostname [String, #to_str] The new hostname for this URI.
+ # @see Addressable::URI#host=
+ #
+ # source://addressable//lib/addressable/uri.rb#1190
+ def hostname=(new_hostname); end
+
+ # The inferred port component for this URI.
+ # This method will normalize to the default port for the URI's scheme if
+ # the port isn't explicitly specified in the URI.
+ #
+ # @return [Integer] The inferred port component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1440
+ def inferred_port; end
+
+ # source://addressable//lib/addressable/uri.rb#2417
+ def init_with(coder); end
+
+ # Returns a String
representation of the URI object's state.
+ #
+ # @return [String] The URI object's state, as a String
.
+ #
+ # source://addressable//lib/addressable/uri.rb#2384
+ def inspect; end
+
+ # Determines if the scheme indicates an IP-based protocol.
+ #
+ # @return [TrueClass, FalseClass] true
if the scheme indicates an IP-based protocol.
+ # false
otherwise.
+ #
+ # source://addressable//lib/addressable/uri.rb#1855
+ def ip_based?; end
+
+ # Joins two URIs together.
+ #
+ # @param The [String, Addressable::URI, #to_str] URI to join with.
+ # @return [Addressable::URI] The joined URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#1889
+ def join(uri); end
+
+ # Destructive form of join
.
+ #
+ # @param The [String, Addressable::URI, #to_str] URI to join with.
+ # @return [Addressable::URI] The joined URI.
+ # @see Addressable::URI#join
+ #
+ # source://addressable//lib/addressable/uri.rb#1992
+ def join!(uri); end
+
+ # Merges a URI with a Hash
of components.
+ # This method has different behavior from join
. Any
+ # components present in the hash
parameter will override the
+ # original components. The path component is not treated specially.
+ #
+ # @param The [Hash, Addressable::URI, #to_hash] components to merge with.
+ # @return [Addressable::URI] The merged URI.
+ # @see Hash#merge
+ #
+ # source://addressable//lib/addressable/uri.rb#2007
+ def merge(hash); end
+
+ # Destructive form of merge
.
+ #
+ # @param The [Hash, Addressable::URI, #to_hash] components to merge with.
+ # @return [Addressable::URI] The merged URI.
+ # @see Addressable::URI#merge
+ #
+ # source://addressable//lib/addressable/uri.rb#2072
+ def merge!(uri); end
+
+ # Returns a normalized URI object.
+ #
+ # NOTE: This method does not attempt to fully conform to specifications.
+ # It exists largely to correct other people's failures to read the
+ # specifications, and also to deal with caching issues since several
+ # different URIs may represent the same resource and should not be
+ # cached multiple times.
+ #
+ # @return [Addressable::URI] The normalized URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#2164
+ def normalize; end
+
+ # Destructively normalizes this URI object.
+ #
+ # @return [Addressable::URI] The normalized URI.
+ # @see Addressable::URI#normalize
+ #
+ # source://addressable//lib/addressable/uri.rb#2190
+ def normalize!; end
+
+ # The authority component for this URI, normalized.
+ #
+ # @return [String] The authority component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1252
+ def normalized_authority; end
+
+ # The fragment component for this URI, normalized.
+ #
+ # @return [String] The fragment component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1816
+ def normalized_fragment; end
+
+ # The host component for this URI, normalized.
+ #
+ # @return [String] The host component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1126
+ def normalized_host; end
+
+ # The password component for this URI, normalized.
+ #
+ # @return [String] The password component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1002
+ def normalized_password; end
+
+ # The path component for this URI, normalized.
+ #
+ # @return [String] The path component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1535
+ def normalized_path; end
+
+ # The port component for this URI, normalized.
+ #
+ # @return [Integer] The port component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1392
+ def normalized_port; end
+
+ # The query component for this URI, normalized.
+ #
+ # @return [String] The query component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1613
+ def normalized_query(*flags); end
+
+ # The scheme component for this URI, normalized.
+ #
+ # @return [String] The scheme component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#896
+ def normalized_scheme; end
+
+ # The normalized combination of components that represent a site.
+ # Combines the scheme, user, password, host, and port components.
+ # Primarily useful for HTTP and HTTPS.
+ #
+ # For example, "http://example.com/path?query"
would have a
+ # site
value of "http://example.com"
.
+ #
+ # @return [String] The normalized components that identify a site.
+ #
+ # source://addressable//lib/addressable/uri.rb#1485
+ def normalized_site; end
+
+ # The user component for this URI, normalized.
+ #
+ # @return [String] The user component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#947
+ def normalized_user; end
+
+ # The userinfo component for this URI, normalized.
+ #
+ # @return [String] The userinfo component, normalized.
+ #
+ # source://addressable//lib/addressable/uri.rb#1068
+ def normalized_userinfo; end
+
+ # Omits components from a URI.
+ #
+ # @example
+ # uri = Addressable::URI.parse("http://example.com/path?query")
+ # #=> #
+ # uri.omit(:scheme, :authority)
+ # #=> #
+ # @param *components [Symbol] The components to be omitted.
+ # @return [Addressable::URI] The URI with components omitted.
+ #
+ # source://addressable//lib/addressable/uri.rb#2297
+ def omit(*components); end
+
+ # Destructive form of omit.
+ #
+ # @param *components [Symbol] The components to be omitted.
+ # @return [Addressable::URI] The URI with components omitted.
+ # @see Addressable::URI#omit
+ #
+ # source://addressable//lib/addressable/uri.rb#2324
+ def omit!(*components); end
+
+ # The origin for this URI, serialized to ASCII, as per
+ # RFC 6454, section 6.2.
+ #
+ # @return [String] The serialized origin.
+ #
+ # source://addressable//lib/addressable/uri.rb#1314
+ def origin; end
+
+ # Sets the origin for this URI, serialized to ASCII, as per
+ # RFC 6454, section 6.2. This assignment will reset the `userinfo`
+ # component.
+ #
+ # @param new_origin [String, #to_str] The new origin component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1333
+ def origin=(new_origin); end
+
+ # The password component for this URI.
+ #
+ # @return [String] The password component.
+ #
+ # source://addressable//lib/addressable/uri.rb#996
+ def password; end
+
+ # Sets the password component for this URI.
+ #
+ # @param new_password [String, #to_str] The new password component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1025
+ def password=(new_password); end
+
+ # The path component for this URI.
+ #
+ # @return [String] The path component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1528
+ def path; end
+
+ # Sets the path component for this URI.
+ #
+ # @param new_path [String, #to_str] The new path component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1567
+ def path=(new_path); end
+
+ # The port component for this URI.
+ # This is the port number actually given in the URI. This does not
+ # infer port numbers from default values.
+ #
+ # @return [Integer] The port component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1386
+ def port; end
+
+ # Sets the port component for this URI.
+ #
+ # @param new_port [String, Integer, #to_s] The new port component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1408
+ def port=(new_port); end
+
+ # The query component for this URI.
+ #
+ # @return [String] The query component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1607
+ def query; end
+
+ # Sets the query component for this URI.
+ #
+ # @param new_query [String, #to_str] The new query component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1641
+ def query=(new_query); end
+
+ # Converts the query component to a Hash value.
+ #
+ # @example
+ # Addressable::URI.parse("?one=1&two=2&three=3").query_values
+ # #=> {"one" => "1", "two" => "2", "three" => "3"}
+ # Addressable::URI.parse("?one=two&one=three").query_values(Array)
+ # #=> [["one", "two"], ["one", "three"]]
+ # Addressable::URI.parse("?one=two&one=three").query_values(Hash)
+ # #=> {"one" => "three"}
+ # Addressable::URI.parse("?").query_values
+ # #=> {}
+ # Addressable::URI.parse("").query_values
+ # #=> nil
+ # @param return_type [Class] The return type desired. Value must be either
+ # `Hash` or `Array`.
+ # @return [Hash, Array, nil] The query string parsed as a Hash or Array
+ # or nil if the query string is blank.
+ #
+ # source://addressable//lib/addressable/uri.rb#1672
+ def query_values(return_type = T.unsafe(nil)); end
+
+ # Sets the query component for this URI from a Hash object.
+ # An empty Hash or Array will result in an empty query string.
+ #
+ # @example
+ # uri.query_values = {:a => "a", :b => ["c", "d", "e"]}
+ # uri.query
+ # # => "a=a&b=c&b=d&b=e"
+ # uri.query_values = [['a', 'a'], ['b', 'c'], ['b', 'd'], ['b', 'e']]
+ # uri.query
+ # # => "a=a&b=c&b=d&b=e"
+ # uri.query_values = [['a', 'a'], ['b', ['c', 'd', 'e']]]
+ # uri.query
+ # # => "a=a&b=c&b=d&b=e"
+ # uri.query_values = [['flag'], ['key', 'value']]
+ # uri.query
+ # # => "flag&key=value"
+ # @param new_query_values [Hash, #to_hash, Array] The new query values.
+ #
+ # source://addressable//lib/addressable/uri.rb#1723
+ def query_values=(new_query_values); end
+
+ # Determines if the URI is relative.
+ #
+ # @return [TrueClass, FalseClass] true
if the URI is relative. false
+ # otherwise.
+ #
+ # source://addressable//lib/addressable/uri.rb#1869
+ def relative?; end
+
+ # The HTTP request URI for this URI. This is the path and the
+ # query string.
+ #
+ # @return [String] The request URI required for an HTTP request.
+ #
+ # source://addressable//lib/addressable/uri.rb#1774
+ def request_uri; end
+
+ # Sets the HTTP request URI for this URI.
+ #
+ # @param new_request_uri [String, #to_str] The new HTTP request URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#1786
+ def request_uri=(new_request_uri); end
+
+ # Returns the shortest normalized relative form of this URI that uses the
+ # supplied URI as a base for resolution. Returns an absolute URI if
+ # necessary. This is effectively the opposite of route_to
.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI to route from.
+ # @return [Addressable::URI] The normalized relative URI that is equivalent to the original URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#2085
+ def route_from(uri); end
+
+ # Returns the shortest normalized relative form of the supplied URI that
+ # uses this URI as a base for resolution. Returns an absolute URI if
+ # necessary. This is effectively the opposite of route_from
.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI to route to.
+ # @return [Addressable::URI] The normalized relative URI that is equivalent to the supplied URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#2150
+ def route_to(uri); end
+
+ # The scheme component for this URI.
+ #
+ # @return [String] The scheme component.
+ #
+ # source://addressable//lib/addressable/uri.rb#890
+ def scheme; end
+
+ # Sets the scheme component for this URI.
+ #
+ # @param new_scheme [String, #to_str] The new scheme component.
+ #
+ # source://addressable//lib/addressable/uri.rb#917
+ def scheme=(new_scheme); end
+
+ # The combination of components that represent a site.
+ # Combines the scheme, user, password, host, and port components.
+ # Primarily useful for HTTP and HTTPS.
+ #
+ # For example, "http://example.com/path?query"
would have a
+ # site
value of "http://example.com"
.
+ #
+ # @return [String] The components that identify a site.
+ #
+ # source://addressable//lib/addressable/uri.rb#1467
+ def site; end
+
+ # Sets the site value for this URI.
+ #
+ # @param new_site [String, #to_str] The new site value.
+ #
+ # source://addressable//lib/addressable/uri.rb#1506
+ def site=(new_site); end
+
+ # Returns the top-level domain for this host.
+ #
+ # @example
+ # Addressable::URI.parse("http://www.example.co.uk").tld # => "co.uk"
+ #
+ # source://addressable//lib/addressable/uri.rb#1207
+ def tld; end
+
+ # Sets the top-level domain for this URI.
+ #
+ # @param new_tld [String, #to_str] The new top-level domain.
+ #
+ # source://addressable//lib/addressable/uri.rb#1215
+ def tld=(new_tld); end
+
+ # Returns a Hash of the URI components.
+ #
+ # @return [Hash] The URI as a Hash
of components.
+ #
+ # source://addressable//lib/addressable/uri.rb#2367
+ def to_hash; end
+
+ # Converts the URI to a String
.
+ #
+ # @return [String] The URI's String
representation.
+ #
+ # source://addressable//lib/addressable/uri.rb#2341
+ def to_s; end
+
+ # Converts the URI to a String
.
+ # URI's are glorified Strings
. Allow implicit conversion.
+ #
+ # @return [String] The URI's String
representation.
+ #
+ # source://addressable//lib/addressable/uri.rb#2341
+ def to_str; end
+
+ # The user component for this URI.
+ #
+ # @return [String] The user component.
+ #
+ # source://addressable//lib/addressable/uri.rb#941
+ def user; end
+
+ # Sets the user component for this URI.
+ #
+ # @param new_user [String, #to_str] The new user component.
+ #
+ # source://addressable//lib/addressable/uri.rb#970
+ def user=(new_user); end
+
+ # The userinfo component for this URI.
+ # Combines the user and password components.
+ #
+ # @return [String] The userinfo component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1052
+ def userinfo; end
+
+ # Sets the userinfo component for this URI.
+ #
+ # @param new_userinfo [String, #to_str] The new userinfo component.
+ #
+ # source://addressable//lib/addressable/uri.rb#1091
+ def userinfo=(new_userinfo); end
+
+ protected
+
+ # Converts the string to be UTF-8 if it is not already UTF-8
+ #
+ # @api private
+ #
+ # source://addressable//lib/addressable/uri.rb#2561
+ def force_utf8_encoding_if_needed(str); end
+
+ # Resets composite values for the entire URI
+ #
+ # @api private
+ #
+ # source://addressable//lib/addressable/uri.rb#2552
+ def remove_composite_values; end
+
+ # Replaces the internal state of self with the specified URI's state.
+ # Used in destructive operations to avoid massive code repetition.
+ #
+ # @param uri [Addressable::URI] The URI to replace self
with.
+ # @return [Addressable::URI] self
.
+ #
+ # source://addressable//lib/addressable/uri.rb#2519
+ def replace_self(uri); end
+
+ # Splits path string with "/" (slash).
+ # It is considered that there is empty string after last slash when
+ # path ends with slash.
+ #
+ # @param path [String] The path to split.
+ # @return [Array] An array of parts of path.
+ #
+ # source://addressable//lib/addressable/uri.rb#2542
+ def split_path(path); end
+
+ # Ensures that the URI is valid.
+ #
+ # source://addressable//lib/addressable/uri.rb#2476
+ def validate; end
+
+ private
+
+ # Resets instance variables
+ #
+ # @api private
+ #
+ # source://addressable//lib/addressable/uri.rb#2573
+ def reset_ivs; end
+
+ class << self
+ # Converts a path to a file scheme URI. If the path supplied is
+ # relative, it will be returned as a relative URI. If the path supplied
+ # is actually a non-file URI, it will parse the URI as if it had been
+ # parsed with Addressable::URI.parse
. Handles all of the
+ # various Microsoft-specific formats for specifying paths.
+ #
+ # @example
+ # base = Addressable::URI.convert_path("/absolute/path/")
+ # uri = Addressable::URI.convert_path("relative/path")
+ # (base + uri).to_s
+ # #=> "file:///absolute/path/relative/path"
+ #
+ # Addressable::URI.convert_path(
+ # "c:\\windows\\My Documents 100%20\\foo.txt"
+ # ).to_s
+ # #=> "file:///c:/windows/My%20Documents%20100%20/foo.txt"
+ #
+ # Addressable::URI.convert_path("http://example.com/").to_s
+ # #=> "http://example.com/"
+ # @param path [String, Addressable::URI, #to_str] Typically a String
path to a file or directory, but
+ # will return a sensible return value if an absolute URI is supplied
+ # instead.
+ # @return [Addressable::URI] The parsed file scheme URI or the original URI if some other URI
+ # scheme was provided.
+ #
+ # source://addressable//lib/addressable/uri.rb#292
+ def convert_path(path); end
+
+ # Percent encodes any special characters in the URI.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI to encode.
+ # @param return_type [Class] The type of object to return.
+ # This value may only be set to String
or
+ # Addressable::URI
. All other values are invalid. Defaults
+ # to String
.
+ # @return [String, Addressable::URI] The encoded URI.
+ # The return type is determined by the return_type
+ # parameter.
+ #
+ # source://addressable//lib/addressable/uri.rb#616
+ def encode(uri, return_type = T.unsafe(nil)); end
+
+ # Percent encodes a URI component.
+ #
+ # '9' to be percent encoded. If a Regexp
is passed, the
+ # value /[^b-zB-Z0-9]/
would have the same effect. A set of
+ # useful String
values may be found in the
+ # Addressable::URI::CharacterClasses
module. The default
+ # value is the reserved plus unreserved character classes specified in
+ # RFC 3986.
+ #
+ # @example
+ # Addressable::URI.encode_component("simple/example", "b-zB-Z0-9")
+ # => "simple%2Fex%61mple"
+ # Addressable::URI.encode_component("simple/example", /[^b-zB-Z0-9]/)
+ # => "simple%2Fex%61mple"
+ # Addressable::URI.encode_component(
+ # "simple/example", Addressable::URI::CharacterClasses::UNRESERVED
+ # )
+ # => "simple%2Fexample"
+ # @param component [String, #to_str] The URI component to encode.
+ # @param character_class [String, Regexp] The characters which are not percent encoded. If a String
+ # is passed, the String
must be formatted as a regular
+ # expression character class. (Do not include the surrounding square
+ # brackets.) For example, "b-zB-Z0-9"
would cause
+ # everything but the letters 'b' through 'z' and the numbers '0' through
+ # @param upcase_encoded [Regexp] A string of characters that may already be percent encoded, and whose
+ # encodings should be upcased. This allows normalization of percent
+ # encodings for characters not included in the
+ # character_class
.
+ # @return [String] The encoded component.
+ #
+ # source://addressable//lib/addressable/uri.rb#403
+ def encode_component(component, character_class = T.unsafe(nil), upcase_encoded = T.unsafe(nil)); end
+
+ # Percent encodes any special characters in the URI.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI to encode.
+ # @param return_type [Class] The type of object to return.
+ # This value may only be set to String
or
+ # Addressable::URI
. All other values are invalid. Defaults
+ # to String
.
+ # @return [String, Addressable::URI] The encoded URI.
+ # The return type is determined by the return_type
+ # parameter.
+ #
+ # source://addressable//lib/addressable/uri.rb#616
+ def escape(uri, return_type = T.unsafe(nil)); end
+
+ # Percent encodes a URI component.
+ #
+ # '9' to be percent encoded. If a Regexp
is passed, the
+ # value /[^b-zB-Z0-9]/
would have the same effect. A set of
+ # useful String
values may be found in the
+ # Addressable::URI::CharacterClasses
module. The default
+ # value is the reserved plus unreserved character classes specified in
+ # RFC 3986.
+ #
+ # @example
+ # Addressable::URI.encode_component("simple/example", "b-zB-Z0-9")
+ # => "simple%2Fex%61mple"
+ # Addressable::URI.encode_component("simple/example", /[^b-zB-Z0-9]/)
+ # => "simple%2Fex%61mple"
+ # Addressable::URI.encode_component(
+ # "simple/example", Addressable::URI::CharacterClasses::UNRESERVED
+ # )
+ # => "simple%2Fexample"
+ # @param component [String, #to_str] The URI component to encode.
+ # @param character_class [String, Regexp] The characters which are not percent encoded. If a String
+ # is passed, the String
must be formatted as a regular
+ # expression character class. (Do not include the surrounding square
+ # brackets.) For example, "b-zB-Z0-9"
would cause
+ # everything but the letters 'b' through 'z' and the numbers '0' through
+ # @param upcase_encoded [Regexp] A string of characters that may already be percent encoded, and whose
+ # encodings should be upcased. This allows normalization of percent
+ # encodings for characters not included in the
+ # character_class
.
+ # @return [String] The encoded component.
+ #
+ # source://addressable//lib/addressable/uri.rb#403
+ def escape_component(component, character_class = T.unsafe(nil), upcase_encoded = T.unsafe(nil)); end
+
+ # Encodes a set of key/value pairs according to the rules for the
+ # application/x-www-form-urlencoded
MIME type.
+ #
+ # @param form_values [#to_hash, #to_ary] The form values to encode.
+ # @param sort [TrueClass, FalseClass] Sort the key/value pairs prior to encoding.
+ # Defaults to false
.
+ # @return [String] The encoded value.
+ #
+ # source://addressable//lib/addressable/uri.rb#740
+ def form_encode(form_values, sort = T.unsafe(nil)); end
+
+ # Decodes a String
according to the rules for the
+ # application/x-www-form-urlencoded
MIME type.
+ #
+ # @param encoded_value [String, #to_str] The form values to decode.
+ # @return [Array] The decoded values.
+ # This is not a Hash
because of the possibility for
+ # duplicate keys.
+ #
+ # source://addressable//lib/addressable/uri.rb#793
+ def form_unencode(encoded_value); end
+
+ # Converts an input to a URI. The input does not have to be a valid
+ # URI — the method will use heuristics to guess what URI was intended.
+ # This is not standards-compliant, merely user-friendly.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI string to parse.
+ # No parsing is performed if the object is already an
+ # Addressable::URI
.
+ # @param hints [Hash] A Hash
of hints to the heuristic parser.
+ # Defaults to {:scheme => "http"}
.
+ # @return [Addressable::URI] The parsed URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#191
+ def heuristic_parse(uri, hints = T.unsafe(nil)); end
+
+ # Returns an array of known ip-based schemes. These schemes typically
+ # use a similar URI form:
+ # //:@:/
+ #
+ # source://addressable//lib/addressable/uri.rb#1369
+ def ip_based_schemes; end
+
+ # Joins several URIs together.
+ #
+ # @example
+ # base = "http://example.com/"
+ # uri = Addressable::URI.parse("relative/path")
+ # Addressable::URI.join(base, uri)
+ # #=> #
+ # @param *uris [String, Addressable::URI, #to_str] The URIs to join.
+ # @return [Addressable::URI] The joined URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#343
+ def join(*uris); end
+
+ # Normalizes the encoding of a URI component.
+ #
+ # @example
+ # Addressable::URI.normalize_component("simpl%65/%65xampl%65", "b-zB-Z")
+ # => "simple%2Fex%61mple"
+ # Addressable::URI.normalize_component(
+ # "simpl%65/%65xampl%65", /[^b-zB-Z]/
+ # )
+ # => "simple%2Fex%61mple"
+ # Addressable::URI.normalize_component(
+ # "simpl%65/%65xampl%65",
+ # Addressable::URI::CharacterClasses::UNRESERVED
+ # )
+ # => "simple%2Fexample"
+ # Addressable::URI.normalize_component(
+ # "one%20two%2fthree%26four",
+ # "0-9a-zA-Z &/",
+ # "/"
+ # )
+ # => "one two%2Fthree&four"
+ # @param component [String, #to_str] The URI component to encode.
+ # @param character_class [String, Regexp] The characters which are not percent encoded. If a String
+ # is passed, the String
must be formatted as a regular
+ # expression character class. (Do not include the surrounding square
+ # brackets.) For example, "b-zB-Z0-9"
would cause
+ # everything but the letters 'b' through 'z' and the numbers '0'
+ # through '9' to be percent encoded. If a Regexp
is passed,
+ # the value /[^b-zB-Z0-9]/
would have the same effect. A
+ # set of useful String
values may be found in the
+ # Addressable::URI::CharacterClasses
module. The default
+ # value is the reserved plus unreserved character classes specified in
+ # RFC 3986.
+ # @param leave_encoded [String] When character_class
is a String
then
+ # leave_encoded
is a string of characters that should remain
+ # percent encoded while normalizing the component; if they appear percent
+ # encoded in the original component, then they will be upcased ("%2f"
+ # normalized to "%2F") but otherwise left alone.
+ # @return [String] The normalized component.
+ #
+ # source://addressable//lib/addressable/uri.rb#552
+ def normalize_component(component, character_class = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
+
+ # Resolves paths to their simplest form.
+ #
+ # @param path [String] The path to normalize.
+ # @return [String] The normalized path.
+ #
+ # source://addressable//lib/addressable/uri.rb#2440
+ def normalize_path(path); end
+
+ # Normalizes the encoding of a URI. Characters within a hostname are
+ # not percent encoded to allow for internationalized domain names.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI to encode.
+ # @param return_type [Class] The type of object to return.
+ # This value may only be set to String
or
+ # Addressable::URI
. All other values are invalid. Defaults
+ # to String
.
+ # @return [String, Addressable::URI] The encoded URI.
+ # The return type is determined by the return_type
+ # parameter.
+ #
+ # source://addressable//lib/addressable/uri.rb#671
+ def normalized_encode(uri, return_type = T.unsafe(nil)); end
+
+ # Returns a URI object based on the parsed string.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI string to parse.
+ # No parsing is performed if the object is already an
+ # Addressable::URI
.
+ # @return [Addressable::URI] The parsed URI.
+ #
+ # source://addressable//lib/addressable/uri.rb#114
+ def parse(uri); end
+
+ # Returns a hash of common IP-based schemes and their default port
+ # numbers. Adding new schemes to this hash, as necessary, will allow
+ # for better URI normalization.
+ #
+ # source://addressable//lib/addressable/uri.rb#1376
+ def port_mapping; end
+
+ # Unencodes any percent encoded characters within a URI component.
+ # This method may be used for unencoding either components or full URIs,
+ # however, it is recommended to use the unencode_component
+ # alias when unencoding components.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
+ # @param return_type [Class] The type of object to return.
+ # This value may only be set to String
or
+ # Addressable::URI
. All other values are invalid. Defaults
+ # to String
.
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
+ # in this list is encountered then it will remain percent encoded.
+ # @return [String, Addressable::URI] The unencoded component or URI.
+ # The return type is determined by the return_type
+ # parameter.
+ #
+ # source://addressable//lib/addressable/uri.rb#472
+ def unencode(uri, return_type = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
+
+ # Unencodes any percent encoded characters within a URI component.
+ # This method may be used for unencoding either components or full URIs,
+ # however, it is recommended to use the unencode_component
+ # alias when unencoding components.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
+ # @param return_type [Class] The type of object to return.
+ # This value may only be set to String
or
+ # Addressable::URI
. All other values are invalid. Defaults
+ # to String
.
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
+ # in this list is encountered then it will remain percent encoded.
+ # @return [String, Addressable::URI] The unencoded component or URI.
+ # The return type is determined by the return_type
+ # parameter.
+ #
+ # source://addressable//lib/addressable/uri.rb#472
+ def unencode_component(uri, return_type = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
+
+ # Unencodes any percent encoded characters within a URI component.
+ # This method may be used for unencoding either components or full URIs,
+ # however, it is recommended to use the unencode_component
+ # alias when unencoding components.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
+ # @param return_type [Class] The type of object to return.
+ # This value may only be set to String
or
+ # Addressable::URI
. All other values are invalid. Defaults
+ # to String
.
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
+ # in this list is encountered then it will remain percent encoded.
+ # @return [String, Addressable::URI] The unencoded component or URI.
+ # The return type is determined by the return_type
+ # parameter.
+ #
+ # source://addressable//lib/addressable/uri.rb#472
+ def unescape(uri, return_type = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
+
+ # Unencodes any percent encoded characters within a URI component.
+ # This method may be used for unencoding either components or full URIs,
+ # however, it is recommended to use the unencode_component
+ # alias when unencoding components.
+ #
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
+ # @param return_type [Class] The type of object to return.
+ # This value may only be set to String
or
+ # Addressable::URI
. All other values are invalid. Defaults
+ # to String
.
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
+ # in this list is encountered then it will remain percent encoded.
+ # @return [String, Addressable::URI] The unencoded component or URI.
+ # The return type is determined by the return_type
+ # parameter.
+ #
+ # source://addressable//lib/addressable/uri.rb#472
+ def unescape_component(uri, return_type = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
+ end
+end
+
+# Container for the character classes specified in
+# RFC 3986.
+#
+# Note: Concatenated and interpolated `String`s are not affected by the
+# `frozen_string_literal` directive and must be frozen explicitly.
+#
+# Interpolated `String`s *were* frozen this way before Ruby 3.0:
+# https://bugs.ruby-lang.org/issues/17104
+#
+# source://addressable//lib/addressable/uri.rb#46
+module Addressable::URI::CharacterClasses; end
+
+# source://addressable//lib/addressable/uri.rb#47
+Addressable::URI::CharacterClasses::ALPHA = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#57
+Addressable::URI::CharacterClasses::AUTHORITY = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#48
+Addressable::URI::CharacterClasses::DIGIT = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#60
+Addressable::URI::CharacterClasses::FRAGMENT = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#49
+Addressable::URI::CharacterClasses::GEN_DELIMS = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#56
+Addressable::URI::CharacterClasses::HOST = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#58
+Addressable::URI::CharacterClasses::PATH = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#54
+Addressable::URI::CharacterClasses::PCHAR = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#59
+Addressable::URI::CharacterClasses::QUERY = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#51
+Addressable::URI::CharacterClasses::RESERVED = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#53
+Addressable::URI::CharacterClasses::RESERVED_AND_UNRESERVED = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#55
+Addressable::URI::CharacterClasses::SCHEME = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#50
+Addressable::URI::CharacterClasses::SUB_DELIMS = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#52
+Addressable::URI::CharacterClasses::UNRESERVED = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#72
+module Addressable::URI::CharacterClassesRegexps; end
+
+# source://addressable//lib/addressable/uri.rb#73
+Addressable::URI::CharacterClassesRegexps::AUTHORITY = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#74
+Addressable::URI::CharacterClassesRegexps::FRAGMENT = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#75
+Addressable::URI::CharacterClassesRegexps::HOST = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#76
+Addressable::URI::CharacterClassesRegexps::PATH = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#77
+Addressable::URI::CharacterClassesRegexps::QUERY = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#78
+Addressable::URI::CharacterClassesRegexps::RESERVED = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#79
+Addressable::URI::CharacterClassesRegexps::RESERVED_AND_UNRESERVED = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#80
+Addressable::URI::CharacterClassesRegexps::SCHEME = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#81
+Addressable::URI::CharacterClassesRegexps::UNRESERVED = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#85
+Addressable::URI::EMPTY_STR = T.let(T.unsafe(nil), String)
+
+# Raised if something other than a uri is supplied.
+#
+# source://addressable//lib/addressable/uri.rb#34
+class Addressable::URI::InvalidURIError < ::StandardError; end
+
+# source://addressable//lib/addressable/uri.rb#2598
+module Addressable::URI::NONE; end
+
+# source://addressable//lib/addressable/uri.rb#1530
+Addressable::URI::NORMPATH = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#63
+module Addressable::URI::NormalizeCharacterClasses; end
+
+# source://addressable//lib/addressable/uri.rb#68
+Addressable::URI::NormalizeCharacterClasses::FRAGMENT = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#64
+Addressable::URI::NormalizeCharacterClasses::HOST = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#66
+Addressable::URI::NormalizeCharacterClasses::PCHAR = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#69
+Addressable::URI::NormalizeCharacterClasses::QUERY = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#67
+Addressable::URI::NormalizeCharacterClasses::SCHEME = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#65
+Addressable::URI::NormalizeCharacterClasses::UNRESERVED = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#2427
+Addressable::URI::PARENT = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#89
+Addressable::URI::PORT_MAPPING = T.let(T.unsafe(nil), Hash)
+
+# source://addressable//lib/addressable/uri.rb#2429
+Addressable::URI::RULE_2A = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#2430
+Addressable::URI::RULE_2B_2C = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#2431
+Addressable::URI::RULE_2D = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#2432
+Addressable::URI::RULE_PREFIXED_PARENT = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/uri.rb#2426
+Addressable::URI::SELF_REF = T.let(T.unsafe(nil), String)
+
+# Tables used to optimize encoding operations in `self.encode_component`
+# and `self.normalize_component`
+#
+# source://addressable//lib/addressable/uri.rb#360
+Addressable::URI::SEQUENCE_ENCODING_TABLE = T.let(T.unsafe(nil), Array)
+
+# source://addressable//lib/addressable/uri.rb#364
+Addressable::URI::SEQUENCE_UPCASED_PERCENT_ENCODING_TABLE = T.let(T.unsafe(nil), Array)
+
+# source://addressable//lib/addressable/uri.rb#84
+Addressable::URI::SLASH = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/uri.rb#87
+Addressable::URI::URIREGEX = T.let(T.unsafe(nil), Regexp)
+
+# source://addressable//lib/addressable/version.rb#23
+module Addressable::VERSION; end
+
+# source://addressable//lib/addressable/version.rb#24
+Addressable::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/version.rb#25
+Addressable::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
+
+# source://addressable//lib/addressable/version.rb#28
+Addressable::VERSION::STRING = T.let(T.unsafe(nil), String)
+
+# source://addressable//lib/addressable/version.rb#26
+Addressable::VERSION::TINY = T.let(T.unsafe(nil), Integer)
diff --git a/sorbet/rbi/gems/ast@2.4.2.rbi b/sorbet/rbi/gems/ast@2.4.2.rbi
new file mode 100644
index 0000000..e0ae88e
--- /dev/null
+++ b/sorbet/rbi/gems/ast@2.4.2.rbi
@@ -0,0 +1,585 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `ast` gem.
+# Please instead update this file by running `bin/tapioca gem ast`.
+
+
+# {AST} is a library for manipulating abstract syntax trees.
+#
+# It embraces immutability; each AST node is inherently frozen at
+# creation, and updating a child node requires recreating that node
+# and its every parent, recursively.
+# This is a design choice. It does create some pressure on
+# garbage collector, but completely eliminates all concurrency
+# and aliasing problems.
+#
+# See also {AST::Node}, {AST::Processor::Mixin} and {AST::Sexp} for
+# additional recommendations and design patterns.
+#
+# source://ast//lib/ast.rb#13
+module AST; end
+
+# Node is an immutable class, instances of which represent abstract
+# syntax tree nodes. It combines semantic information (i.e. anything
+# that affects the algorithmic properties of a program) with
+# meta-information (line numbers or compiler intermediates).
+#
+# Notes on inheritance
+# ====================
+#
+# The distinction between semantics and metadata is important. Complete
+# semantic information should be contained within just the {#type} and
+# {#children} of a Node instance; in other words, if an AST was to be
+# stripped of all meta-information, it should remain a valid AST which
+# could be successfully processed to yield a result with the same
+# algorithmic properties.
+#
+# Thus, Node should never be inherited in order to define methods which
+# affect or return semantic information, such as getters for `class_name`,
+# `superclass` and `body` in the case of a hypothetical `ClassNode`. The
+# correct solution is to use a generic Node with a {#type} of `:class`
+# and three children. See also {Processor} for tips on working with such
+# ASTs.
+#
+# On the other hand, Node can and should be inherited to define
+# application-specific metadata (see also {#initialize}) or customize the
+# printing format. It is expected that an application would have one or two
+# such classes and use them across the entire codebase.
+#
+# The rationale for this pattern is extensibility and maintainability.
+# Unlike static ones, dynamic languages do not require the presence of a
+# predefined, rigid structure, nor does it improve dispatch efficiency,
+# and while such a structure can certainly be defined, it does not add
+# any value but incurs a maintaining cost.
+# For example, extending the AST even with a transformation-local
+# temporary node type requires making globally visible changes to
+# the codebase.
+#
+# source://ast//lib/ast/node.rb#40
+class AST::Node
+ # Constructs a new instance of Node.
+ #
+ # The arguments `type` and `children` are converted with `to_sym` and
+ # `to_a` respectively. Additionally, the result of converting `children`
+ # is frozen. While mutating the arguments is generally considered harmful,
+ # the most common case is to pass an array literal to the constructor. If
+ # your code does not expect the argument to be frozen, use `#dup`.
+ #
+ # The `properties` hash is passed to {#assign_properties}.
+ #
+ # @return [Node] a new instance of Node
+ #
+ # source://ast//lib/ast/node.rb#72
+ def initialize(type, children = T.unsafe(nil), properties = T.unsafe(nil)); end
+
+ # Concatenates `array` with `children` and returns the resulting node.
+ #
+ # @return [AST::Node]
+ #
+ # source://ast//lib/ast/node.rb#168
+ def +(array); end
+
+ # Appends `element` to `children` and returns the resulting node.
+ #
+ # @return [AST::Node]
+ #
+ # source://ast//lib/ast/node.rb#177
+ def <<(element); end
+
+ # Compares `self` to `other`, possibly converting with `to_ast`. Only
+ # `type` and `children` are compared; metadata is deliberately ignored.
+ #
+ # @return [Boolean]
+ #
+ # source://ast//lib/ast/node.rb#153
+ def ==(other); end
+
+ # Appends `element` to `children` and returns the resulting node.
+ #
+ # @return [AST::Node]
+ #
+ # source://ast//lib/ast/node.rb#177
+ def append(element); end
+
+ # Returns the children of this node.
+ # The returned value is frozen.
+ # The to_a alias is useful for decomposing nodes concisely.
+ # For example:
+ #
+ # node = s(:gasgn, :$foo, s(:integer, 1))
+ # var_name, value = *node
+ # p var_name # => :$foo
+ # p value # => (integer 1)
+ #
+ # @return [Array]
+ #
+ # source://ast//lib/ast/node.rb#56
+ def children; end
+
+ # Nodes are already frozen, so there is no harm in returning the
+ # current node as opposed to initializing from scratch and freezing
+ # another one.
+ #
+ # @return self
+ #
+ # source://ast//lib/ast/node.rb#115
+ def clone; end
+
+ # Concatenates `array` with `children` and returns the resulting node.
+ #
+ # @return [AST::Node]
+ #
+ # source://ast//lib/ast/node.rb#168
+ def concat(array); end
+
+ # Enables matching for Node, where type is the first element
+ # and the children are remaining items.
+ #
+ # @return [Array]
+ #
+ # source://ast//lib/ast/node.rb#253
+ def deconstruct; end
+
+ # Nodes are already frozen, so there is no harm in returning the
+ # current node as opposed to initializing from scratch and freezing
+ # another one.
+ #
+ # @return self
+ #
+ # source://ast//lib/ast/node.rb#115
+ def dup; end
+
+ # Test if other object is equal to
+ #
+ # @param other [Object]
+ # @return [Boolean]
+ #
+ # source://ast//lib/ast/node.rb#85
+ def eql?(other); end
+
+ # Returns the precomputed hash value for this node
+ #
+ # @return [Fixnum]
+ #
+ # source://ast//lib/ast/node.rb#61
+ def hash; end
+
+ # Converts `self` to a s-expression ruby string.
+ # The code return will recreate the node, using the sexp module s()
+ #
+ # @param indent [Integer] Base indentation level.
+ # @return [String]
+ #
+ # source://ast//lib/ast/node.rb#211
+ def inspect(indent = T.unsafe(nil)); end
+
+ # Returns the children of this node.
+ # The returned value is frozen.
+ # The to_a alias is useful for decomposing nodes concisely.
+ # For example:
+ #
+ # node = s(:gasgn, :$foo, s(:integer, 1))
+ # var_name, value = *node
+ # p var_name # => :$foo
+ # p value # => (integer 1)
+ #
+ # @return [Array]
+ #
+ # source://ast//lib/ast/node.rb#56
+ def to_a; end
+
+ # @return [AST::Node] self
+ #
+ # source://ast//lib/ast/node.rb#229
+ def to_ast; end
+
+ # Converts `self` to a pretty-printed s-expression.
+ #
+ # @param indent [Integer] Base indentation level.
+ # @return [String]
+ #
+ # source://ast//lib/ast/node.rb#187
+ def to_s(indent = T.unsafe(nil)); end
+
+ # Converts `self` to a pretty-printed s-expression.
+ #
+ # @param indent [Integer] Base indentation level.
+ # @return [String]
+ #
+ # source://ast//lib/ast/node.rb#187
+ def to_sexp(indent = T.unsafe(nil)); end
+
+ # Converts `self` to an Array where the first element is the type as a Symbol,
+ # and subsequent elements are the same representation of its children.
+ #
+ # @return [Array]
+ #
+ # source://ast//lib/ast/node.rb#237
+ def to_sexp_array; end
+
+ # Returns the type of this node.
+ #
+ # @return [Symbol]
+ #
+ # source://ast//lib/ast/node.rb#43
+ def type; end
+
+ # Returns a new instance of Node where non-nil arguments replace the
+ # corresponding fields of `self`.
+ #
+ # For example, `Node.new(:foo, [ 1, 2 ]).updated(:bar)` would yield
+ # `(bar 1 2)`, and `Node.new(:foo, [ 1, 2 ]).updated(nil, [])` would
+ # yield `(foo)`.
+ #
+ # If the resulting node would be identical to `self`, does nothing.
+ #
+ # @param type [Symbol, nil]
+ # @param children [Array, nil]
+ # @param properties [Hash, nil]
+ # @return [AST::Node]
+ #
+ # source://ast//lib/ast/node.rb#133
+ def updated(type = T.unsafe(nil), children = T.unsafe(nil), properties = T.unsafe(nil)); end
+
+ protected
+
+ # By default, each entry in the `properties` hash is assigned to
+ # an instance variable in this instance of Node. A subclass should define
+ # attribute readers for such variables. The values passed in the hash
+ # are not frozen or whitelisted; such behavior can also be implemented
+ # by subclassing Node and overriding this method.
+ #
+ # @return [nil]
+ #
+ # source://ast//lib/ast/node.rb#98
+ def assign_properties(properties); end
+
+ # Returns `@type` with all underscores replaced by dashes. This allows
+ # to write symbol literals without quotes in Ruby sources and yet have
+ # nicely looking s-expressions.
+ #
+ # @return [String]
+ #
+ # source://ast//lib/ast/node.rb#264
+ def fancy_type; end
+
+ private
+
+ def original_dup; end
+end
+
+# This class includes {AST::Processor::Mixin}; however, it is
+# deprecated, since the module defines all of the behaviors that
+# the processor includes. Any new libraries should use
+# {AST::Processor::Mixin} instead of subclassing this.
+#
+# @deprecated Use {AST::Processor::Mixin} instead.
+#
+# source://ast//lib/ast/processor.rb#8
+class AST::Processor
+ include ::AST::Processor::Mixin
+end
+
+# The processor module is a module which helps transforming one
+# AST into another. In a nutshell, the {#process} method accepts
+# a {Node} and dispatches it to a handler corresponding to its
+# type, and returns a (possibly) updated variant of the node.
+#
+# The processor module has a set of associated design patterns.
+# They are best explained with a concrete example. Let's define a
+# simple arithmetic language and an AST format for it:
+#
+# Terminals (AST nodes which do not have other AST nodes inside):
+#
+# * `(integer )`,
+#
+# Nonterminals (AST nodes with other nodes as children):
+#
+# * `(add )`,
+# * `(multiply )`,
+# * `(divide )`,
+# * `(negate )`,
+# * `(store )`: stores value of ``
+# into a variable named ``,
+# * `(load )`: loads value of a variable named
+# ``,
+# * `(each ...)`: computes each of the ``s and
+# prints the result.
+#
+# All AST nodes have the same Ruby class, and therefore they don't
+# know how to traverse themselves. (A solution which dynamically
+# checks the type of children is possible, but is slow and
+# error-prone.) So, a class including the module which knows how
+# to traverse the entire tree should be defined. Such classes
+# have a handler for each nonterminal node which recursively
+# processes children nodes:
+#
+# require 'ast'
+#
+# class ArithmeticsProcessor
+# include AST::Processor::Mixin
+# # This method traverses any binary operators such as (add)
+# # or (multiply).
+# def process_binary_op(node)
+# # Children aren't decomposed automatically; it is
+# # suggested to use Ruby multiple assignment expansion,
+# # as it is very convenient here.
+# left_expr, right_expr = *node
+#
+# # AST::Node#updated won't change node type if nil is
+# # passed as a first argument, which allows to reuse the
+# # same handler for multiple node types using `alias'
+# # (below).
+# node.updated(nil, [
+# process(left_expr),
+# process(right_expr)
+# ])
+# end
+# alias_method :on_add, :process_binary_op
+# alias_method :on_multiply, :process_binary_op
+# alias_method :on_divide, :process_binary_op
+#
+# def on_negate(node)
+# # It is also possible to use #process_all for more
+# # compact code if every child is a Node.
+# node.updated(nil, process_all(node))
+# end
+#
+# def on_store(node)
+# expr, variable_name = *node
+#
+# # Note that variable_name is not a Node and thus isn't
+# # passed to #process.
+# node.updated(nil, [
+# process(expr),
+# variable_name
+# ])
+# end
+#
+# # (load) is effectively a terminal node, and so it does
+# # not need an explicit handler, as the following is the
+# # default behavior. Essentially, for any nodes that don't
+# # have a defined handler, the node remains unchanged.
+# def on_load(node)
+# nil
+# end
+#
+# def on_each(node)
+# node.updated(nil, process_all(node))
+# end
+# end
+#
+# Let's test our ArithmeticsProcessor:
+#
+# include AST::Sexp
+# expr = s(:add, s(:integer, 2), s(:integer, 2))
+#
+# p ArithmeticsProcessor.new.process(expr) == expr # => true
+#
+# As expected, it does not change anything at all. This isn't
+# actually very useful, so let's now define a Calculator, which
+# will compute the expression values:
+#
+# # This Processor folds nonterminal nodes and returns an
+# # (integer) terminal node.
+# class ArithmeticsCalculator < ArithmeticsProcessor
+# def compute_op(node)
+# # First, node children are processed and then unpacked
+# # to local variables.
+# nodes = process_all(node)
+#
+# if nodes.all? { |node| node.type == :integer }
+# # If each of those nodes represents a literal, we can
+# # fold this node!
+# values = nodes.map { |node| node.children.first }
+# AST::Node.new(:integer, [
+# yield(values)
+# ])
+# else
+# # Otherwise, we can just leave the current node in the
+# # tree and only update it with processed children
+# # nodes, which can be partially folded.
+# node.updated(nil, nodes)
+# end
+# end
+#
+# def on_add(node)
+# compute_op(node) { |left, right| left + right }
+# end
+#
+# def on_multiply(node)
+# compute_op(node) { |left, right| left * right }
+# end
+# end
+#
+# Let's check:
+#
+# p ArithmeticsCalculator.new.process(expr) # => (integer 4)
+#
+# Excellent, the calculator works! Now, a careful reader could
+# notice that the ArithmeticsCalculator does not know how to
+# divide numbers. What if we pass an expression with division to
+# it?
+#
+# expr_with_division = \
+# s(:add,
+# s(:integer, 1),
+# s(:divide,
+# s(:add, s(:integer, 8), s(:integer, 4)),
+# s(:integer, 3))) # 1 + (8 + 4) / 3
+#
+# folded_expr_with_division = ArithmeticsCalculator.new.process(expr_with_division)
+# p folded_expr_with_division
+# # => (add
+# # (integer 1)
+# # (divide
+# # (integer 12)
+# # (integer 3)))
+#
+# As you can see, the expression was folded _partially_: the inner
+# `(add)` node which could be computed was folded to
+# `(integer 12)`, the `(divide)` node is left as-is because there
+# is no computing handler for it, and the root `(add)` node was
+# also left as it is because some of its children were not
+# literals.
+#
+# Note that this partial folding is only possible because the
+# _data_ format, i.e. the format in which the computed values of
+# the nodes are represented, is the same as the AST itself.
+#
+# Let's extend our ArithmeticsCalculator class further.
+#
+# class ArithmeticsCalculator
+# def on_divide(node)
+# compute_op(node) { |left, right| left / right }
+# end
+#
+# def on_negate(node)
+# # Note how #compute_op works regardless of the operator
+# # arity.
+# compute_op(node) { |value| -value }
+# end
+# end
+#
+# Now, let's apply our renewed ArithmeticsCalculator to a partial
+# result of previous evaluation:
+#
+# p ArithmeticsCalculator.new.process(expr_with_division) # => (integer 5)
+#
+# Five! Excellent. This is also pretty much how CRuby 1.8 executed
+# its programs.
+#
+# Now, let's do some automated bug searching. Division by zero is
+# an error, right? So if we could detect that someone has divided
+# by zero before the program is even run, that could save some
+# debugging time.
+#
+# class DivisionByZeroVerifier < ArithmeticsProcessor
+# class VerificationFailure < Exception; end
+#
+# def on_divide(node)
+# # You need to process the children to handle nested divisions
+# # such as:
+# # (divide
+# # (integer 1)
+# # (divide (integer 1) (integer 0))
+# left, right = process_all(node)
+#
+# if right.type == :integer &&
+# right.children.first == 0
+# raise VerificationFailure, "Ouch! This code divides by zero."
+# end
+# end
+#
+# def divides_by_zero?(ast)
+# process(ast)
+# false
+# rescue VerificationFailure
+# true
+# end
+# end
+#
+# nice_expr = \
+# s(:divide,
+# s(:add, s(:integer, 10), s(:integer, 2)),
+# s(:integer, 4))
+#
+# p DivisionByZeroVerifier.new.divides_by_zero?(nice_expr)
+# # => false. Good.
+#
+# bad_expr = \
+# s(:add, s(:integer, 10),
+# s(:divide, s(:integer, 1), s(:integer, 0)))
+#
+# p DivisionByZeroVerifier.new.divides_by_zero?(bad_expr)
+# # => true. WHOOPS. DO NOT RUN THIS.
+#
+# Of course, this won't detect more complex cases... unless you
+# use some partial evaluation before! The possibilites are
+# endless. Have fun.
+#
+# source://ast//lib/ast/processor/mixin.rb#240
+module AST::Processor::Mixin
+ # Default handler. Does nothing.
+ #
+ # @param node [AST::Node]
+ # @return [AST::Node, nil]
+ #
+ # source://ast//lib/ast/processor/mixin.rb#284
+ def handler_missing(node); end
+
+ # Dispatches `node`. If a node has type `:foo`, then a handler
+ # named `on_foo` is invoked with one argument, the `node`; if
+ # there isn't such a handler, {#handler_missing} is invoked
+ # with the same argument.
+ #
+ # If the handler returns `nil`, `node` is returned; otherwise,
+ # the return value of the handler is passed along.
+ #
+ # @param node [AST::Node, nil]
+ # @return [AST::Node, nil]
+ #
+ # source://ast//lib/ast/processor/mixin.rb#251
+ def process(node); end
+
+ # {#process}es each node from `nodes` and returns an array of
+ # results.
+ #
+ # @param nodes [Array]
+ # @return [Array]
+ #
+ # source://ast//lib/ast/processor/mixin.rb#274
+ def process_all(nodes); end
+end
+
+# This simple module is very useful in the cases where one needs
+# to define deeply nested ASTs from Ruby code, for example, in
+# tests. It should be used like this:
+#
+# describe YourLanguage::AST do
+# include Sexp
+#
+# it "should correctly parse expressions" do
+# YourLanguage.parse("1 + 2 * 3").should ==
+# s(:add,
+# s(:integer, 1),
+# s(:multiply,
+# s(:integer, 2),
+# s(:integer, 3)))
+# end
+# end
+#
+# This way the amount of boilerplate code is greatly reduced.
+#
+# source://ast//lib/ast/sexp.rb#20
+module AST::Sexp
+ # Creates a {Node} with type `type` and children `children`.
+ # Note that the resulting node is of the type AST::Node and not a
+ # subclass.
+ # This would not pose a problem with comparisons, as {Node#==}
+ # ignores metadata.
+ #
+ # source://ast//lib/ast/sexp.rb#26
+ def s(type, *children); end
+end
diff --git a/sorbet/rbi/gems/base64@0.2.0.rbi b/sorbet/rbi/gems/base64@0.2.0.rbi
new file mode 100644
index 0000000..c33e78e
--- /dev/null
+++ b/sorbet/rbi/gems/base64@0.2.0.rbi
@@ -0,0 +1,509 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `base64` gem.
+# Please instead update this file by running `bin/tapioca gem base64`.
+
+
+# \Module \Base64 provides methods for:
+#
+# - Encoding a binary string (containing non-ASCII characters)
+# as a string of printable ASCII characters.
+# - Decoding such an encoded string.
+#
+# \Base64 is commonly used in contexts where binary data
+# is not allowed or supported:
+#
+# - Images in HTML or CSS files, or in URLs.
+# - Email attachments.
+#
+# A \Base64-encoded string is about one-third larger that its source.
+# See the {Wikipedia article}[https://en.wikipedia.org/wiki/Base64]
+# for more information.
+#
+# This module provides three pairs of encode/decode methods.
+# Your choices among these methods should depend on:
+#
+# - Which character set is to be used for encoding and decoding.
+# - Whether "padding" is to be used.
+# - Whether encoded strings are to contain newlines.
+#
+# Note: Examples on this page assume that the including program has executed:
+#
+# require 'base64'
+#
+# == Encoding Character Sets
+#
+# A \Base64-encoded string consists only of characters from a 64-character set:
+#
+# - ('A'..'Z').
+# - ('a'..'z').
+# - ('0'..'9').
+# - =, the 'padding' character.
+# - Either:
+# - %w[+ /]:
+# {RFC-2045-compliant}[https://datatracker.ietf.org/doc/html/rfc2045];
+# _not_ safe for URLs.
+# - %w[- _]:
+# {RFC-4648-compliant}[https://datatracker.ietf.org/doc/html/rfc4648];
+# safe for URLs.
+#
+# If you are working with \Base64-encoded strings that will come from
+# or be put into URLs, you should choose this encoder-decoder pair
+# of RFC-4648-compliant methods:
+#
+# - Base64.urlsafe_encode64 and Base64.urlsafe_decode64.
+#
+# Otherwise, you may choose any of the pairs in this module,
+# including the pair above, or the RFC-2045-compliant pairs:
+#
+# - Base64.encode64 and Base64.decode64.
+# - Base64.strict_encode64 and Base64.strict_decode64.
+#
+# == Padding
+#
+# \Base64-encoding changes a triplet of input bytes
+# into a quartet of output characters.
+#
+# Padding in Encode Methods
+#
+# Padding -- extending an encoded string with zero, one, or two trailing
+# = characters -- is performed by methods Base64.encode64,
+# Base64.strict_encode64, and, by default, Base64.urlsafe_encode64:
+#
+# Base64.encode64('s') # => "cw==\n"
+# Base64.strict_encode64('s') # => "cw=="
+# Base64.urlsafe_encode64('s') # => "cw=="
+# Base64.urlsafe_encode64('s', padding: false) # => "cw"
+#
+# When padding is performed, the encoded string is always of length 4n,
+# where +n+ is a non-negative integer:
+#
+# - Input bytes of length 3n generate unpadded output characters
+# of length 4n:
+#
+# # n = 1: 3 bytes => 4 characters.
+# Base64.strict_encode64('123') # => "MDEy"
+# # n = 2: 6 bytes => 8 characters.
+# Base64.strict_encode64('123456') # => "MDEyMzQ1"
+#
+# - Input bytes of length 3n+1 generate padded output characters
+# of length 4(n+1), with two padding characters at the end:
+#
+# # n = 1: 4 bytes => 8 characters.
+# Base64.strict_encode64('1234') # => "MDEyMw=="
+# # n = 2: 7 bytes => 12 characters.
+# Base64.strict_encode64('1234567') # => "MDEyMzQ1Ng=="
+#
+# - Input bytes of length 3n+2 generate padded output characters
+# of length 4(n+1), with one padding character at the end:
+#
+# # n = 1: 5 bytes => 8 characters.
+# Base64.strict_encode64('12345') # => "MDEyMzQ="
+# # n = 2: 8 bytes => 12 characters.
+# Base64.strict_encode64('12345678') # => "MDEyMzQ1Njc="
+#
+# When padding is suppressed, for a positive integer n:
+#
+# - Input bytes of length 3n generate unpadded output characters
+# of length 4n:
+#
+# # n = 1: 3 bytes => 4 characters.
+# Base64.urlsafe_encode64('123', padding: false) # => "MDEy"
+# # n = 2: 6 bytes => 8 characters.
+# Base64.urlsafe_encode64('123456', padding: false) # => "MDEyMzQ1"
+#
+# - Input bytes of length 3n+1 generate unpadded output characters
+# of length 4n+2, with two padding characters at the end:
+#
+# # n = 1: 4 bytes => 6 characters.
+# Base64.urlsafe_encode64('1234', padding: false) # => "MDEyMw"
+# # n = 2: 7 bytes => 10 characters.
+# Base64.urlsafe_encode64('1234567', padding: false) # => "MDEyMzQ1Ng"
+#
+# - Input bytes of length 3n+2 generate unpadded output characters
+# of length 4n+3, with one padding character at the end:
+#
+# # n = 1: 5 bytes => 7 characters.
+# Base64.urlsafe_encode64('12345', padding: false) # => "MDEyMzQ"
+# # m = 2: 8 bytes => 11 characters.
+# Base64.urlsafe_encode64('12345678', padding: false) # => "MDEyMzQ1Njc"
+#
+# Padding in Decode Methods
+#
+# All of the \Base64 decode methods support (but do not require) padding.
+#
+# \Method Base64.decode64 does not check the size of the padding:
+#
+# Base64.decode64("MDEyMzQ1Njc") # => "01234567"
+# Base64.decode64("MDEyMzQ1Njc=") # => "01234567"
+# Base64.decode64("MDEyMzQ1Njc==") # => "01234567"
+#
+# \Method Base64.strict_decode64 strictly enforces padding size:
+#
+# Base64.strict_decode64("MDEyMzQ1Njc") # Raises ArgumentError
+# Base64.strict_decode64("MDEyMzQ1Njc=") # => "01234567"
+# Base64.strict_decode64("MDEyMzQ1Njc==") # Raises ArgumentError
+#
+# \Method Base64.urlsafe_decode64 allows padding in +str+,
+# which if present, must be correct:
+# see {Padding}[Base64.html#module-Base64-label-Padding], above:
+#
+# Base64.urlsafe_decode64("MDEyMzQ1Njc") # => "01234567"
+# Base64.urlsafe_decode64("MDEyMzQ1Njc=") # => "01234567"
+# Base64.urlsafe_decode64("MDEyMzQ1Njc==") # Raises ArgumentError.
+#
+# == Newlines
+#
+# An encoded string returned by Base64.encode64 or Base64.urlsafe_encode64
+# has an embedded newline character
+# after each 60-character sequence, and, if non-empty, at the end:
+#
+# # No newline if empty.
+# encoded = Base64.encode64("\x00" * 0)
+# encoded.index("\n") # => nil
+#
+# # Newline at end of short output.
+# encoded = Base64.encode64("\x00" * 1)
+# encoded.size # => 4
+# encoded.index("\n") # => 4
+#
+# # Newline at end of longer output.
+# encoded = Base64.encode64("\x00" * 45)
+# encoded.size # => 60
+# encoded.index("\n") # => 60
+#
+# # Newlines embedded and at end of still longer output.
+# encoded = Base64.encode64("\x00" * 46)
+# encoded.size # => 65
+# encoded.rindex("\n") # => 65
+# encoded.split("\n").map {|s| s.size } # => [60, 4]
+#
+# The string to be encoded may itself contain newlines,
+# which are encoded as \Base64:
+#
+# # Base64.encode64("\n\n\n") # => "CgoK\n"
+# s = "This is line 1\nThis is line 2\n"
+# Base64.encode64(s) # => "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK\n"
+#
+# source://base64//lib/base64.rb#184
+module Base64
+ private
+
+ # Returns a string containing the decoding of an RFC-2045-compliant
+ # \Base64-encoded string +str+:
+ #
+ # s = "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK\n"
+ # Base64.decode64(s) # => "This is line 1\nThis is line 2\n"
+ #
+ # Non-\Base64 characters in +str+ are ignored;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ # these include newline characters and characters - and /:
+ #
+ # Base64.decode64("\x00\n-_") # => ""
+ #
+ # Padding in +str+ (even if incorrect) is ignored:
+ #
+ # Base64.decode64("MDEyMzQ1Njc") # => "01234567"
+ # Base64.decode64("MDEyMzQ1Njc=") # => "01234567"
+ # Base64.decode64("MDEyMzQ1Njc==") # => "01234567"
+ #
+ # source://base64//lib/base64.rb#241
+ def decode64(str); end
+
+ # Returns a string containing the RFC-2045-compliant \Base64-encoding of +bin+.
+ #
+ # Per RFC 2045, the returned string may contain the URL-unsafe characters
+ # + or /;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.encode64("\xFB\xEF\xBE") # => "++++\n"
+ # Base64.encode64("\xFF\xFF\xFF") # => "////\n"
+ #
+ # The returned string may include padding;
+ # see {Padding}[Base64.html#module-Base64-label-Padding] above.
+ #
+ # Base64.encode64('*') # => "Kg==\n"
+ #
+ # The returned string ends with a newline character, and if sufficiently long
+ # will have one or more embedded newline characters;
+ # see {Newlines}[Base64.html#module-Base64-label-Newlines] above:
+ #
+ # Base64.encode64('*') # => "Kg==\n"
+ # Base64.encode64('*' * 46)
+ # # => "KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq\nKg==\n"
+ #
+ # The string to be encoded may itself contain newlines,
+ # which will be encoded as ordinary \Base64:
+ #
+ # Base64.encode64("\n\n\n") # => "CgoK\n"
+ # s = "This is line 1\nThis is line 2\n"
+ # Base64.encode64(s) # => "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK\n"
+ #
+ # source://base64//lib/base64.rb#219
+ def encode64(bin); end
+
+ # Returns a string containing the decoding of an RFC-2045-compliant
+ # \Base64-encoded string +str+:
+ #
+ # s = "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK"
+ # Base64.strict_decode64(s) # => "This is line 1\nThis is line 2\n"
+ #
+ # Non-\Base64 characters in +str+ not allowed;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ # these include newline characters and characters - and /:
+ #
+ # Base64.strict_decode64("\n") # Raises ArgumentError
+ # Base64.strict_decode64('-') # Raises ArgumentError
+ # Base64.strict_decode64('_') # Raises ArgumentError
+ #
+ # Padding in +str+, if present, must be correct:
+ #
+ # Base64.strict_decode64("MDEyMzQ1Njc") # Raises ArgumentError
+ # Base64.strict_decode64("MDEyMzQ1Njc=") # => "01234567"
+ # Base64.strict_decode64("MDEyMzQ1Njc==") # Raises ArgumentError
+ #
+ # source://base64//lib/base64.rb#297
+ def strict_decode64(str); end
+
+ # Returns a string containing the RFC-2045-compliant \Base64-encoding of +bin+.
+ #
+ # Per RFC 2045, the returned string may contain the URL-unsafe characters
+ # + or /;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.strict_encode64("\xFB\xEF\xBE") # => "++++\n"
+ # Base64.strict_encode64("\xFF\xFF\xFF") # => "////\n"
+ #
+ # The returned string may include padding;
+ # see {Padding}[Base64.html#module-Base64-label-Padding] above.
+ #
+ # Base64.strict_encode64('*') # => "Kg==\n"
+ #
+ # The returned string will have no newline characters, regardless of its length;
+ # see {Newlines}[Base64.html#module-Base64-label-Newlines] above:
+ #
+ # Base64.strict_encode64('*') # => "Kg=="
+ # Base64.strict_encode64('*' * 46)
+ # # => "KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg=="
+ #
+ # The string to be encoded may itself contain newlines,
+ # which will be encoded as ordinary \Base64:
+ #
+ # Base64.strict_encode64("\n\n\n") # => "CgoK"
+ # s = "This is line 1\nThis is line 2\n"
+ # Base64.strict_encode64(s) # => "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK"
+ #
+ # source://base64//lib/base64.rb#273
+ def strict_encode64(bin); end
+
+ # Returns the decoding of an RFC-4648-compliant \Base64-encoded string +str+:
+ #
+ # +str+ may not contain non-Base64 characters;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.urlsafe_decode64('+') # Raises ArgumentError.
+ # Base64.urlsafe_decode64('/') # Raises ArgumentError.
+ # Base64.urlsafe_decode64("\n") # Raises ArgumentError.
+ #
+ # Padding in +str+, if present, must be correct:
+ # see {Padding}[Base64.html#module-Base64-label-Padding], above:
+ #
+ # Base64.urlsafe_decode64("MDEyMzQ1Njc") # => "01234567"
+ # Base64.urlsafe_decode64("MDEyMzQ1Njc=") # => "01234567"
+ # Base64.urlsafe_decode64("MDEyMzQ1Njc==") # Raises ArgumentError.
+ #
+ # source://base64//lib/base64.rb#351
+ def urlsafe_decode64(str); end
+
+ # Returns the RFC-4648-compliant \Base64-encoding of +bin+.
+ #
+ # Per RFC 4648, the returned string will not contain the URL-unsafe characters
+ # + or /,
+ # but instead may contain the URL-safe characters
+ # - and _;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.urlsafe_encode64("\xFB\xEF\xBE") # => "----"
+ # Base64.urlsafe_encode64("\xFF\xFF\xFF") # => "____"
+ #
+ # By default, the returned string may have padding;
+ # see {Padding}[Base64.html#module-Base64-label-Padding], above:
+ #
+ # Base64.urlsafe_encode64('*') # => "Kg=="
+ #
+ # Optionally, you can suppress padding:
+ #
+ # Base64.urlsafe_encode64('*', padding: false) # => "Kg"
+ #
+ # The returned string will have no newline characters, regardless of its length;
+ # see {Newlines}[Base64.html#module-Base64-label-Newlines] above:
+ #
+ # Base64.urlsafe_encode64('*') # => "Kg=="
+ # Base64.urlsafe_encode64('*' * 46)
+ # # => "KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg=="
+ #
+ # source://base64//lib/base64.rb#328
+ def urlsafe_encode64(bin, padding: T.unsafe(nil)); end
+
+ class << self
+ # Returns a string containing the decoding of an RFC-2045-compliant
+ # \Base64-encoded string +str+:
+ #
+ # s = "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK\n"
+ # Base64.decode64(s) # => "This is line 1\nThis is line 2\n"
+ #
+ # Non-\Base64 characters in +str+ are ignored;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ # these include newline characters and characters - and /:
+ #
+ # Base64.decode64("\x00\n-_") # => ""
+ #
+ # Padding in +str+ (even if incorrect) is ignored:
+ #
+ # Base64.decode64("MDEyMzQ1Njc") # => "01234567"
+ # Base64.decode64("MDEyMzQ1Njc=") # => "01234567"
+ # Base64.decode64("MDEyMzQ1Njc==") # => "01234567"
+ #
+ # source://base64//lib/base64.rb#241
+ def decode64(str); end
+
+ # Returns a string containing the RFC-2045-compliant \Base64-encoding of +bin+.
+ #
+ # Per RFC 2045, the returned string may contain the URL-unsafe characters
+ # + or /;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.encode64("\xFB\xEF\xBE") # => "++++\n"
+ # Base64.encode64("\xFF\xFF\xFF") # => "////\n"
+ #
+ # The returned string may include padding;
+ # see {Padding}[Base64.html#module-Base64-label-Padding] above.
+ #
+ # Base64.encode64('*') # => "Kg==\n"
+ #
+ # The returned string ends with a newline character, and if sufficiently long
+ # will have one or more embedded newline characters;
+ # see {Newlines}[Base64.html#module-Base64-label-Newlines] above:
+ #
+ # Base64.encode64('*') # => "Kg==\n"
+ # Base64.encode64('*' * 46)
+ # # => "KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq\nKg==\n"
+ #
+ # The string to be encoded may itself contain newlines,
+ # which will be encoded as ordinary \Base64:
+ #
+ # Base64.encode64("\n\n\n") # => "CgoK\n"
+ # s = "This is line 1\nThis is line 2\n"
+ # Base64.encode64(s) # => "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK\n"
+ #
+ # source://base64//lib/base64.rb#219
+ def encode64(bin); end
+
+ # Returns a string containing the decoding of an RFC-2045-compliant
+ # \Base64-encoded string +str+:
+ #
+ # s = "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK"
+ # Base64.strict_decode64(s) # => "This is line 1\nThis is line 2\n"
+ #
+ # Non-\Base64 characters in +str+ not allowed;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ # these include newline characters and characters - and /:
+ #
+ # Base64.strict_decode64("\n") # Raises ArgumentError
+ # Base64.strict_decode64('-') # Raises ArgumentError
+ # Base64.strict_decode64('_') # Raises ArgumentError
+ #
+ # Padding in +str+, if present, must be correct:
+ #
+ # Base64.strict_decode64("MDEyMzQ1Njc") # Raises ArgumentError
+ # Base64.strict_decode64("MDEyMzQ1Njc=") # => "01234567"
+ # Base64.strict_decode64("MDEyMzQ1Njc==") # Raises ArgumentError
+ #
+ # source://base64//lib/base64.rb#297
+ def strict_decode64(str); end
+
+ # Returns a string containing the RFC-2045-compliant \Base64-encoding of +bin+.
+ #
+ # Per RFC 2045, the returned string may contain the URL-unsafe characters
+ # + or /;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.strict_encode64("\xFB\xEF\xBE") # => "++++\n"
+ # Base64.strict_encode64("\xFF\xFF\xFF") # => "////\n"
+ #
+ # The returned string may include padding;
+ # see {Padding}[Base64.html#module-Base64-label-Padding] above.
+ #
+ # Base64.strict_encode64('*') # => "Kg==\n"
+ #
+ # The returned string will have no newline characters, regardless of its length;
+ # see {Newlines}[Base64.html#module-Base64-label-Newlines] above:
+ #
+ # Base64.strict_encode64('*') # => "Kg=="
+ # Base64.strict_encode64('*' * 46)
+ # # => "KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg=="
+ #
+ # The string to be encoded may itself contain newlines,
+ # which will be encoded as ordinary \Base64:
+ #
+ # Base64.strict_encode64("\n\n\n") # => "CgoK"
+ # s = "This is line 1\nThis is line 2\n"
+ # Base64.strict_encode64(s) # => "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK"
+ #
+ # source://base64//lib/base64.rb#273
+ def strict_encode64(bin); end
+
+ # Returns the decoding of an RFC-4648-compliant \Base64-encoded string +str+:
+ #
+ # +str+ may not contain non-Base64 characters;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.urlsafe_decode64('+') # Raises ArgumentError.
+ # Base64.urlsafe_decode64('/') # Raises ArgumentError.
+ # Base64.urlsafe_decode64("\n") # Raises ArgumentError.
+ #
+ # Padding in +str+, if present, must be correct:
+ # see {Padding}[Base64.html#module-Base64-label-Padding], above:
+ #
+ # Base64.urlsafe_decode64("MDEyMzQ1Njc") # => "01234567"
+ # Base64.urlsafe_decode64("MDEyMzQ1Njc=") # => "01234567"
+ # Base64.urlsafe_decode64("MDEyMzQ1Njc==") # Raises ArgumentError.
+ #
+ # source://base64//lib/base64.rb#351
+ def urlsafe_decode64(str); end
+
+ # Returns the RFC-4648-compliant \Base64-encoding of +bin+.
+ #
+ # Per RFC 4648, the returned string will not contain the URL-unsafe characters
+ # + or /,
+ # but instead may contain the URL-safe characters
+ # - and _;
+ # see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
+ #
+ # Base64.urlsafe_encode64("\xFB\xEF\xBE") # => "----"
+ # Base64.urlsafe_encode64("\xFF\xFF\xFF") # => "____"
+ #
+ # By default, the returned string may have padding;
+ # see {Padding}[Base64.html#module-Base64-label-Padding], above:
+ #
+ # Base64.urlsafe_encode64('*') # => "Kg=="
+ #
+ # Optionally, you can suppress padding:
+ #
+ # Base64.urlsafe_encode64('*', padding: false) # => "Kg"
+ #
+ # The returned string will have no newline characters, regardless of its length;
+ # see {Newlines}[Base64.html#module-Base64-label-Newlines] above:
+ #
+ # Base64.urlsafe_encode64('*') # => "Kg=="
+ # Base64.urlsafe_encode64('*' * 46)
+ # # => "KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg=="
+ #
+ # source://base64//lib/base64.rb#328
+ def urlsafe_encode64(bin, padding: T.unsafe(nil)); end
+ end
+end
+
+# source://base64//lib/base64.rb#186
+Base64::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/erubi@1.13.0.rbi b/sorbet/rbi/gems/erubi@1.13.0.rbi
new file mode 100644
index 0000000..16d45fa
--- /dev/null
+++ b/sorbet/rbi/gems/erubi@1.13.0.rbi
@@ -0,0 +1,150 @@
+# 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
+ private
+
+ def h(_arg0); end
+
+ class << self
+ def h(_arg0); end
+ end
+end
+
+# source://erubi//lib/erubi.rb#51
+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#91
+ def initialize(input, properties = T.unsafe(nil)); end
+
+ # The variable name used for the buffer variable.
+ #
+ # source://erubi//lib/erubi.rb#62
+ def bufvar; end
+
+ # The filename of the template, if one was given.
+ #
+ # source://erubi//lib/erubi.rb#59
+ def filename; end
+
+ # The frozen ruby source code generated from the template, which can be evaled.
+ #
+ # source://erubi//lib/erubi.rb#56
+ def src; end
+
+ private
+
+ # Add ruby code to the template
+ #
+ # source://erubi//lib/erubi.rb#223
+ 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#232
+ def add_expression(indicator, code); end
+
+ # Add the result of Ruby expression to the template
+ #
+ # source://erubi//lib/erubi.rb#241
+ def add_expression_result(code); end
+
+ # Add the escaped result of Ruby expression to the template
+ #
+ # source://erubi//lib/erubi.rb#246
+ 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#252
+ 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#210
+ 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#258
+ 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#286
+ 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#268
+ def with_buffer; end
+end
+
+# The default regular expression used for scanning.
+#
+# source://erubi//lib/erubi.rb#53
+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-multipart@1.0.4.rbi b/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi
new file mode 100644
index 0000000..352d587
--- /dev/null
+++ b/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi
@@ -0,0 +1,259 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `faraday-multipart` gem.
+# Please instead update this file by running `bin/tapioca gem faraday-multipart`.
+
+
+# source://faraday-multipart//lib/faraday/multipart/version.rb#3
+module Faraday
+ class << self
+ # source://faraday/2.10.1/lib/faraday.rb#55
+ def default_adapter; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#102
+ def default_adapter=(adapter); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#59
+ def default_adapter_options; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#59
+ def default_adapter_options=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#120
+ def default_connection; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#62
+ def default_connection=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#127
+ def default_connection_options; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#134
+ def default_connection_options=(options); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#67
+ def ignore_env_proxy; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#67
+ def ignore_env_proxy=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#46
+ def lib_path; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#46
+ def lib_path=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#96
+ def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#107
+ def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#42
+ def root_path; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#42
+ def root_path=(_arg0); end
+
+ private
+
+ # source://faraday/2.10.1/lib/faraday.rb#143
+ def method_missing(name, *args, &block); end
+ end
+end
+
+# source://faraday-multipart//lib/faraday/multipart.rb#18
+Faraday::CompositeReadIO = Faraday::Multipart::CompositeReadIO
+
+# Aliases for Faraday v1, these are all deprecated and will be removed in v2 of this middleware
+#
+# source://faraday-multipart//lib/faraday/multipart.rb#15
+Faraday::FilePart = Multipart::Post::UploadIO
+
+# Main Faraday::Multipart module.
+#
+# source://faraday-multipart//lib/faraday/multipart/version.rb#5
+module Faraday::Multipart
+ class << self
+ # source://faraday-multipart//lib/faraday/multipart/version.rb#8
+ def multipart_post_version; end
+ end
+end
+
+# Similar to, but not compatible with CompositeReadIO provided by the
+# multipart-post gem.
+# https://github.com/nicksieger/multipart-post/blob/master/lib/composite_io.rb
+#
+# source://faraday-multipart//lib/faraday/multipart/file_part.rb#67
+class Faraday::Multipart::CompositeReadIO
+ # @return [CompositeReadIO] a new instance of CompositeReadIO
+ #
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#68
+ def initialize(*parts); end
+
+ # Close each of the IOs.
+ #
+ # @return [void]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#111
+ def close; end
+
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#115
+ def ensure_open_and_readable; end
+
+ # @return [Integer] sum of the lengths of all the parts
+ #
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#75
+ def length; end
+
+ # Read from IOs in order until `length` bytes have been received.
+ #
+ # @param length [Integer, nil]
+ # @param outbuf [String, nil]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#91
+ def read(length = T.unsafe(nil), outbuf = T.unsafe(nil)); end
+
+ # Rewind each of the IOs and reset the index to 0.
+ #
+ # @return [void]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#82
+ def rewind; end
+
+ private
+
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#125
+ def advance_io; end
+
+ # source://faraday-multipart//lib/faraday/multipart/file_part.rb#121
+ def current_io; end
+end
+
+# source://faraday-multipart//lib/faraday/multipart/file_part.rb#55
+Faraday::Multipart::FilePart = Multipart::Post::UploadIO
+
+# Middleware for supporting multi-part requests.
+#
+# source://faraday-multipart//lib/faraday/multipart/middleware.rb#8
+class Faraday::Multipart::Middleware < ::Faraday::Request::UrlEncoded
+ # @return [Middleware] a new instance of Middleware
+ #
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#13
+ def initialize(app = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Checks for files in the payload, otherwise leaves everything untouched.
+ #
+ # @param env [Faraday::Env]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#21
+ def call(env); end
+
+ # @param env [Faraday::Env]
+ # @param params [Hash]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#55
+ def create_multipart(env, params); end
+
+ # Returns true if obj is an enumerable with values that are multipart.
+ #
+ # @param obj [Object]
+ # @return [Boolean]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#44
+ def has_multipart?(obj); end
+
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#67
+ def part(boundary, key, value); end
+
+ # @param params [Hash]
+ # @param prefix [String]
+ # @param pieces [Array]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#83
+ def process_params(params, prefix = T.unsafe(nil), pieces = T.unsafe(nil), &block); end
+
+ # @param env [Faraday::Env]
+ # @return [Boolean]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#32
+ def process_request?(env); end
+
+ # @return [String]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/middleware.rb#76
+ def unique_boundary; end
+end
+
+# source://faraday-multipart//lib/faraday/multipart/middleware.rb#9
+Faraday::Multipart::Middleware::DEFAULT_BOUNDARY_PREFIX = T.let(T.unsafe(nil), String)
+
+# Multipart value used to POST data with a content type.
+#
+# source://faraday-multipart//lib/faraday/multipart/param_part.rb#6
+class Faraday::Multipart::ParamPart
+ # @param value [String] Uploaded content as a String.
+ # @param content_type [String] String content type of the value.
+ # @param content_id [String] Optional String of this value's Content-ID.
+ # @return [Faraday::ParamPart]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#12
+ def initialize(value, content_type, content_id = T.unsafe(nil)); end
+
+ # The value's content ID, if given.
+ #
+ # @return [String, nil]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#52
+ def content_id; end
+
+ # The value's content type.
+ #
+ # @return [String]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#47
+ def content_type; end
+
+ # Returns a Hash of String key/value pairs.
+ #
+ # @return [Hash]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#32
+ def headers; end
+
+ # Converts this value to a form part.
+ #
+ # @param boundary [String] String multipart boundary that must not exist in
+ # the content exactly.
+ # @param key [String] String key name for this value.
+ # @return [Faraday::Parts::Part]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#25
+ def to_part(boundary, key); end
+
+ # The content to upload.
+ #
+ # @return [String]
+ #
+ # source://faraday-multipart//lib/faraday/multipart/param_part.rb#42
+ def value; end
+end
+
+# source://faraday-multipart//lib/faraday/multipart/file_part.rb#56
+Faraday::Multipart::Parts = Multipart::Post::Parts
+
+# source://faraday-multipart//lib/faraday/multipart/version.rb#6
+Faraday::Multipart::VERSION = T.let(T.unsafe(nil), String)
+
+# source://faraday-multipart//lib/faraday/multipart.rb#16
+Faraday::ParamPart = Faraday::Multipart::ParamPart
+
+# source://faraday-multipart//lib/faraday/multipart.rb#17
+Faraday::Parts = Multipart::Post::Parts
+
+# multipart-post v2.2.0 introduces a new class hierarchy for classes like Parts and UploadIO
+# For backwards compatibility, detect the gem version and use the right class
+#
+# source://faraday-multipart//lib/faraday/multipart.rb#21
+Faraday::UploadIO = Multipart::Post::UploadIO
diff --git a/sorbet/rbi/gems/faraday-net_http@3.1.1.rbi b/sorbet/rbi/gems/faraday-net_http@3.1.1.rbi
new file mode 100644
index 0000000..6e75daa
--- /dev/null
+++ b/sorbet/rbi/gems/faraday-net_http@3.1.1.rbi
@@ -0,0 +1,147 @@
+# 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.10.1/lib/faraday.rb#55
+ def default_adapter; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#102
+ def default_adapter=(adapter); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#59
+ def default_adapter_options; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#59
+ def default_adapter_options=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#120
+ def default_connection; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#62
+ def default_connection=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#127
+ def default_connection_options; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#134
+ def default_connection_options=(options); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#67
+ def ignore_env_proxy; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#67
+ def ignore_env_proxy=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#46
+ def lib_path; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#46
+ def lib_path=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#96
+ def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#107
+ def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#42
+ def root_path; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#42
+ def root_path=(_arg0); end
+
+ private
+
+ # source://faraday/2.10.1/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.10.1/lib/faraday/adapter.rb#28
+ def initialize(_app = T.unsafe(nil), opts = T.unsafe(nil), &block); end
+
+ # source://faraday/2.10.1/lib/faraday/adapter.rb#55
+ def call(env); end
+
+ # source://faraday/2.10.1/lib/faraday/adapter.rb#50
+ def close; end
+
+ # source://faraday/2.10.1/lib/faraday/adapter.rb#41
+ def connection(env); end
+
+ private
+
+ # source://faraday/2.10.1/lib/faraday/adapter.rb#85
+ def request_timeout(type, options); end
+
+ # source://faraday/2.10.1/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#62
+ def call(env); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#50
+ def net_http_connection(env); end
+
+ private
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#147
+ def configure_request(http, req); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#130
+ def configure_ssl(http, ssl); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#78
+ def create_request(env); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#184
+ def encoded_body(http_response); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#94
+ def perform_request(http, env); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#108
+ def request_with_wrapped_block(http, env, &block); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#120
+ def save_http_response(env, http_response); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#167
+ def ssl_cert_store(ssl); end
+
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#174
+ def ssl_verify_mode(ssl); end
+
+ # @return [Boolean]
+ #
+ # source://faraday-net_http//lib/faraday/adapter/net_http.rb#196
+ 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-retry@2.2.1.rbi b/sorbet/rbi/gems/faraday-retry@2.2.1.rbi
new file mode 100644
index 0000000..8cdbbeb
--- /dev/null
+++ b/sorbet/rbi/gems/faraday-retry@2.2.1.rbi
@@ -0,0 +1,208 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `faraday-retry` gem.
+# Please instead update this file by running `bin/tapioca gem faraday-retry`.
+
+
+# Faraday namespace.
+#
+# source://faraday-retry//lib/faraday/retriable_response.rb#4
+module Faraday
+ class << self
+ # source://faraday/2.10.1/lib/faraday.rb#55
+ def default_adapter; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#102
+ def default_adapter=(adapter); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#59
+ def default_adapter_options; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#59
+ def default_adapter_options=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#120
+ def default_connection; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#62
+ def default_connection=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#127
+ def default_connection_options; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#134
+ def default_connection_options=(options); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#67
+ def ignore_env_proxy; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#67
+ def ignore_env_proxy=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#46
+ def lib_path; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#46
+ def lib_path=(_arg0); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#96
+ def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#107
+ def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end
+
+ # source://faraday/2.10.1/lib/faraday.rb#42
+ def root_path; end
+
+ # source://faraday/2.10.1/lib/faraday.rb#42
+ def root_path=(_arg0); end
+
+ private
+
+ # source://faraday/2.10.1/lib/faraday.rb#143
+ def method_missing(name, *args, &block); end
+ end
+end
+
+# Exception used to control the Retry middleware.
+#
+# source://faraday-retry//lib/faraday/retriable_response.rb#6
+class Faraday::RetriableResponse < ::Faraday::Error; end
+
+# Middleware main module.
+#
+# source://faraday-retry//lib/faraday/retry/middleware.rb#4
+module Faraday::Retry; end
+
+# This class provides the main implementation for your middleware.
+# Your middleware can implement any of the following methods:
+# * on_request - called when the request is being prepared
+# * on_complete - called when the response is being processed
+#
+# Optionally, you can also override the following methods from Faraday::Middleware
+# * initialize(app, options = {}) - the initializer method
+# * call(env) - the main middleware invocation method.
+# This already calls on_request and on_complete, so you normally don't need to override it.
+# You may need to in case you need to "wrap" the request or need more control
+# (see "retry" middleware: https://github.com/lostisland/faraday/blob/main/lib/faraday/request/retry.rb#L142).
+# IMPORTANT: Remember to call `@app.call(env)` or `super` to not interrupt the middleware chain!
+#
+# source://faraday-retry//lib/faraday/retry/middleware.rb#17
+class Faraday::Retry::Middleware < ::Faraday::Middleware
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @option options
+ # @param app [#call]
+ # @param options [Hash]
+ # @return [Middleware] a new instance of Middleware
+ #
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#127
+ def initialize(app, options = T.unsafe(nil)); end
+
+ # An exception matcher for the rescue clause can usually be any object
+ # that responds to `===`, but for Ruby 1.8 it has to be a Class or Module.
+ #
+ # @api private
+ # @param exceptions [Array]
+ # @return [Module] an exception matcher
+ #
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#185
+ def build_exception_matcher(exceptions); end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#133
+ def calculate_sleep_amount(retries, env); end
+
+ # @param env [Faraday::Env]
+ #
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#147
+ def call(env); end
+
+ private
+
+ # RFC for RateLimit Header Fields for HTTP:
+ # https://www.ietf.org/archive/id/draft-ietf-httpapi-ratelimit-headers-05.html#name-fields-definition
+ #
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#222
+ def calculate_rate_limit_reset(env); end
+
+ # MDN spec for Retry-After header:
+ # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
+ #
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#229
+ def calculate_retry_after(env); end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#234
+ def calculate_retry_interval(retries); end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#245
+ def parse_retry_header(env, header); end
+
+ # @return [Boolean]
+ #
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#206
+ def retry_request?(env, exception); end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#211
+ def rewind_files(body); end
+end
+
+# source://faraday-retry//lib/faraday/retry/middleware.rb#18
+Faraday::Retry::Middleware::DEFAULT_EXCEPTIONS = T.let(T.unsafe(nil), Array)
+
+# source://faraday-retry//lib/faraday/retry/middleware.rb#22
+Faraday::Retry::Middleware::IDEMPOTENT_METHODS = T.let(T.unsafe(nil), Array)
+
+# Options contains the configurable parameters for the Retry middleware.
+#
+# source://faraday-retry//lib/faraday/retry/middleware.rb#30
+class Faraday::Retry::Middleware::Options < ::Faraday::Options
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#58
+ def backoff_factor; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#62
+ def exceptions; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#46
+ def interval; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#54
+ def interval_randomness; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#42
+ def max; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#50
+ def max_interval; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#66
+ def methods; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#74
+ def retry_block; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#70
+ def retry_if; end
+
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#78
+ def retry_statuses; end
+
+ class << self
+ # source://faraday-retry//lib/faraday/retry/middleware.rb#34
+ def from(value); end
+ end
+end
+
+# source://faraday-retry//lib/faraday/retry/middleware.rb#32
+Faraday::Retry::Middleware::Options::DEFAULT_CHECK = T.let(T.unsafe(nil), Proc)
+
+# source://faraday-retry//lib/faraday/retry/version.rb#5
+Faraday::Retry::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/faraday@2.10.1.rbi b/sorbet/rbi/gems/faraday@2.10.1.rbi
new file mode 100644
index 0000000..5bc896c
--- /dev/null
+++ b/sorbet/rbi/gems/faraday@2.10.1.rbi
@@ -0,0 +1,2957 @@
+# 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 everything in an options hash
+ # Faraday.new url: 'http://faraday.com',
+ # params: { page: 1 }
+ # # => Faraday::Connection to http://faraday.com?page=1
+ # @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
+ # @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#491
+ def dup; end
+
+ # source://faraday//lib/faraday/connection.rb#534
+ 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#542
+ def proxy_for_request(url); end
+
+ # source://faraday//lib/faraday/connection.rb#514
+ 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, Hash, Array, nil] The request body that will eventually be converted to
+ # a string; middlewares can be used to support more complex types.
+ # @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#552
+ 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#508
+ 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
+
+# Raised by Faraday::Middleware and subclasses when invalid default_options are used
+#
+# source://faraday//lib/faraday/error.rb#163
+class Faraday::InitializationError < ::Faraday::Error; 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#7
+class Faraday::Middleware
+ extend ::Faraday::MiddlewareRegistry
+
+ # @return [Middleware] a new instance of Middleware
+ #
+ # source://faraday//lib/faraday/middleware.rb#15
+ def initialize(app = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Returns the value of attribute app.
+ #
+ # source://faraday//lib/faraday/middleware.rb#10
+ def app; end
+
+ # source://faraday//lib/faraday/middleware.rb#54
+ def call(env); end
+
+ # source://faraday//lib/faraday/middleware.rb#64
+ def close; end
+
+ # Returns the value of attribute options.
+ #
+ # source://faraday//lib/faraday/middleware.rb#10
+ def options; end
+
+ class << self
+ # default_options attr_reader that initializes class instance variable
+ # with the values of any Faraday::Middleware defaults, and merges with
+ # subclass defaults
+ #
+ # source://faraday//lib/faraday/middleware.rb#39
+ def default_options; end
+
+ # Faraday::Middleware::default_options= allows user to set default options at the Faraday::Middleware
+ # class level.
+ #
+ # my_app/config/initializers/my_faraday_middleware.rb
+ #
+ # Faraday::Response::RaiseError.default_options = { include_request: false }
+ #
+ # @example Set the Faraday::Response::RaiseError option, `include_request` to `false`
+ #
+ # source://faraday//lib/faraday/middleware.rb#29
+ def default_options=(options = T.unsafe(nil)); end
+
+ private
+
+ # @raise [Faraday::InitializationError]
+ #
+ # source://faraday//lib/faraday/middleware.rb#45
+ def validate_default_options(options); end
+ end
+end
+
+# source://faraday//lib/faraday/middleware.rb#12
+Faraday::Middleware::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
+
+# source://faraday//lib/faraday/middleware.rb#13
+Faraday::Middleware::LOCK = T.let(T.unsafe(nil), Thread::Mutex)
+
+# 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#15
+ def on_complete(env); end
+
+ # source://faraday//lib/faraday/response/raise_error.rb#77
+ 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#54
+ 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#13
+Faraday::Response::RaiseError::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
+
+# 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#80
+ def dig(key, *rest); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#65
+ def fetch(key, *_arg1, **_arg2, &_arg3); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#86
+ def has_key?(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#86
+ 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#86
+ def key?(key); end
+
+ # @return [Boolean]
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#86
+ def member?(key); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#101
+ def merge(other); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#94
+ def merge!(other); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#117
+ def parse(header_string); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#106
+ def replace(other); end
+
+ # source://faraday//lib/faraday/utils/headers.rb#113
+ def to_hash; end
+
+ # source://faraday//lib/faraday/utils/headers.rb#94
+ def update(other); end
+
+ protected
+
+ # Returns the value of attribute names.
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#135
+ def names; end
+
+ private
+
+ # Join multiple values with a comma.
+ #
+ # source://faraday//lib/faraday/utils/headers.rb#140
+ 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/json@2.7.2.rbi b/sorbet/rbi/gems/json@2.7.2.rbi
new file mode 100644
index 0000000..1558aa4
--- /dev/null
+++ b/sorbet/rbi/gems/json@2.7.2.rbi
@@ -0,0 +1,1562 @@
+# 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#690
+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#695
+ 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#615
+ 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#329
+ 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#329
+ 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#300
+ 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#541
+ 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#249
+ 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#260
+ def load_file!(filespec, opts = T.unsafe(nil)); end
+
+ # source://json//lib/json/common.rb#643
+ 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#219
+ 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#234
+ 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#374
+ 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#374
+ 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#559
+ def recurse_proc(result, &proc); end
+
+ # source://json//lib/json/common.rb#541
+ 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#300
+ 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#22
+ def [](object, opts = T.unsafe(nil)); end
+
+ # source://json//lib/json/common.rb#85
+ def create_fast_state; end
+
+ # Returns the current create identifier.
+ # See also JSON.create_id=.
+ #
+ # source://json//lib/json/common.rb#130
+ 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#124
+ def create_id=(new_value); end
+
+ # source://json//lib/json/common.rb#95
+ 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#46
+ 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#615
+ 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#580
+ 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#580
+ 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#329
+ 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#329
+ 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#300
+ 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#107
+ def generator; end
+
+ # Set the module _generator_ to be used by JSON.
+ #
+ # source://json//lib/json/common.rb#62
+ def generator=(generator); end
+
+ # Encodes string using String.encode.
+ #
+ # source://json//lib/json/common.rb#639
+ 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#541
+ 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#404
+ 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#404
+ 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#249
+ 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#260
+ 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#219
+ 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#234
+ 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#33
+ def parser; end
+
+ # Set the JSON parser class _parser_ to be used by JSON.
+ #
+ # source://json//lib/json/common.rb#36
+ 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#374
+ 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#374
+ 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#559
+ def recurse_proc(result, &proc); end
+
+ # source://json//lib/json/common.rb#541
+ 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#112
+ 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#112
+ 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#300
+ def unparse(obj, opts = T.unsafe(nil)); end
+
+ private
+
+ # source://json//lib/json/common.rb#643
+ def merge_dump_options(opts, strict: T.unsafe(nil)); end
+ end
+end
+
+# source://json//lib/json/common.rb#118
+JSON::CREATE_ID_TLS_KEY = T.let(T.unsafe(nil), String)
+
+# source://json//lib/json/common.rb#115
+JSON::DEFAULT_CREATE_ID = T.let(T.unsafe(nil), String)
+
+# source://json//lib/json/generic_object.rb#9
+class JSON::GenericObject < ::OpenStruct
+ # source://json//lib/json/generic_object.rb#67
+ def as_json(*_arg0); end
+
+ # source://json//lib/json/generic_object.rb#51
+ def to_hash; end
+
+ # source://json//lib/json/generic_object.rb#71
+ def to_json(*a); end
+
+ # source://json//lib/json/generic_object.rb#63
+ def |(other); end
+
+ class << self
+ # source://json//lib/json/generic_object.rb#45
+ def dump(obj, *args); end
+
+ # source://json//lib/json/generic_object.rb#25
+ 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#17
+ def json_creatable=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://json//lib/json/generic_object.rb#13
+ def json_creatable?; end
+
+ # source://json//lib/json/generic_object.rb#19
+ def json_create(data); end
+
+ # source://json//lib/json/generic_object.rb#40
+ 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#141
+class JSON::JSONError < ::StandardError
+ class << self
+ # source://json//lib/json/common.rb#142
+ def wrap(exception); end
+ end
+end
+
+# source://json//lib/json/common.rb#7
+JSON::NOT_SET = T.let(T.unsafe(nil), Object)
+
+# source://json//lib/json/common.rb#39
+JSON::Parser = JSON::Ext::Parser
+
+# source://json//lib/json/common.rb#77
+JSON::State = JSON::Ext::Generator::State
+
+# For backwards compatibility
+#
+# source://json//lib/json/common.rb#163
+JSON::UnparserError = JSON::GeneratorError
+
+# source://json//lib/json/common.rb#653
+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#680
+ 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#658
+ 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#667
+ def jj(*objs); end
+end
diff --git a/sorbet/rbi/gems/jwt@2.8.2.rbi b/sorbet/rbi/gems/jwt@2.8.2.rbi
new file mode 100644
index 0000000..02004e7
--- /dev/null
+++ b/sorbet/rbi/gems/jwt@2.8.2.rbi
@@ -0,0 +1,1463 @@
+# 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/version.rb#4
+module JWT
+ extend ::JWT::Configuration
+
+ private
+
+ # source://jwt//lib/jwt.rb#29
+ def decode(jwt, key = T.unsafe(nil), verify = T.unsafe(nil), options = T.unsafe(nil), &keyfinder); end
+
+ # source://jwt//lib/jwt.rb#22
+ def encode(payload, key, algorithm = T.unsafe(nil), header_fields = T.unsafe(nil)); end
+
+ class << self
+ # source://jwt//lib/jwt.rb#29
+ def decode(jwt, key = T.unsafe(nil), verify = T.unsafe(nil), options = T.unsafe(nil), &keyfinder); end
+
+ # source://jwt//lib/jwt.rb#22
+ def encode(payload, key, algorithm = T.unsafe(nil), header_fields = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/version.rb#5
+ def gem_version; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/version.rb#24
+ def openssl_3?; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/version.rb#38
+ def openssl_3_hmac_empty_key_regression?; end
+
+ # source://jwt//lib/jwt/version.rb#42
+ def openssl_version; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/version.rb#30
+ def rbnacl?; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/version.rb#34
+ def rbnacl_6_or_greater?; end
+ end
+end
+
+# Base64 encoding and decoding
+#
+# source://jwt//lib/jwt/base64.rb#7
+class JWT::Base64
+ class << self
+ # source://jwt//lib/jwt/base64.rb#27
+ def loose_urlsafe_decode64(str); end
+
+ # Decode a string with URL-safe Base64 complying with RFC 4648.
+ # Deprecated support for RFC 2045 remains for now. ("All line breaks or other characters not found in Table 1 must be ignored by decoding software")
+ #
+ # source://jwt//lib/jwt/base64.rb#16
+ def url_decode(str); end
+
+ # Encode a string with URL-safe Base64 complying with RFC 4648 (not padded).
+ #
+ # source://jwt//lib/jwt/base64.rb#10
+ def url_encode(str); end
+ end
+end
+
+# source://jwt//lib/jwt/error.rb#20
+class JWT::Base64DecodeError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/claims_validator.rb#6
+class JWT::ClaimsValidator
+ # @return [ClaimsValidator] a new instance of ClaimsValidator
+ #
+ # source://jwt//lib/jwt/claims_validator.rb#13
+ def initialize(payload); end
+
+ # source://jwt//lib/jwt/claims_validator.rb#17
+ def validate!; end
+
+ private
+
+ # @raise [InvalidPayload]
+ #
+ # source://jwt//lib/jwt/claims_validator.rb#31
+ def validate_is_numeric(claim); end
+
+ # source://jwt//lib/jwt/claims_validator.rb#25
+ def validate_numeric_claims; end
+end
+
+# source://jwt//lib/jwt/claims_validator.rb#7
+JWT::ClaimsValidator::NUMERIC_CLAIMS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/configuration/decode_configuration.rb#4
+module JWT::Configuration
+ # source://jwt//lib/jwt/configuration.rb#11
+ def configuration; end
+
+ # @yield [configuration]
+ #
+ # source://jwt//lib/jwt/configuration.rb#7
+ def configure; end
+end
+
+# source://jwt//lib/jwt/configuration/container.rb#8
+class JWT::Configuration::Container
+ # @return [Container] a new instance of Container
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#12
+ def initialize; end
+
+ # Returns the value of attribute decode.
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#9
+ def decode; end
+
+ # Sets the attribute decode
+ #
+ # @param value the value to set the attribute decode to.
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#9
+ def decode=(_arg0); end
+
+ # Returns the value of attribute deprecation_warnings.
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#10
+ def deprecation_warnings; end
+
+ # @raise [ArgumentError]
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#25
+ def deprecation_warnings=(value); end
+
+ # Returns the value of attribute jwk.
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#9
+ def jwk; end
+
+ # Sets the attribute jwk
+ #
+ # @param value the value to set the attribute jwk to.
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#9
+ def jwk=(_arg0); end
+
+ # source://jwt//lib/jwt/configuration/container.rb#16
+ def reset!; end
+
+ # Returns the value of attribute strict_base64_decoding.
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#9
+ def strict_base64_decoding; end
+
+ # Sets the attribute strict_base64_decoding
+ #
+ # @param value the value to set the attribute strict_base64_decoding to.
+ #
+ # source://jwt//lib/jwt/configuration/container.rb#9
+ def strict_base64_decoding=(_arg0); end
+end
+
+# source://jwt//lib/jwt/configuration/container.rb#24
+JWT::Configuration::Container::DEPRECATION_WARNINGS_VALUES = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/configuration/decode_configuration.rb#5
+class JWT::Configuration::DecodeConfiguration
+ # @return [DecodeConfiguration] a new instance of DecodeConfiguration
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#17
+ def initialize; end
+
+ # Returns the value of attribute algorithms.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def algorithms; end
+
+ # Sets the attribute algorithms
+ #
+ # @param value the value to set the attribute algorithms to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def algorithms=(_arg0); end
+
+ # Returns the value of attribute leeway.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def leeway; end
+
+ # Sets the attribute leeway
+ #
+ # @param value the value to set the attribute leeway to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def leeway=(_arg0); end
+
+ # Returns the value of attribute required_claims.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def required_claims; end
+
+ # Sets the attribute required_claims
+ #
+ # @param value the value to set the attribute required_claims to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def required_claims=(_arg0); end
+
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#30
+ def to_h; end
+
+ # Returns the value of attribute verify_aud.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_aud; end
+
+ # Sets the attribute verify_aud
+ #
+ # @param value the value to set the attribute verify_aud to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_aud=(_arg0); end
+
+ # Returns the value of attribute verify_expiration.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_expiration; end
+
+ # Sets the attribute verify_expiration
+ #
+ # @param value the value to set the attribute verify_expiration to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_expiration=(_arg0); end
+
+ # Returns the value of attribute verify_iat.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_iat; end
+
+ # Sets the attribute verify_iat
+ #
+ # @param value the value to set the attribute verify_iat to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_iat=(_arg0); end
+
+ # Returns the value of attribute verify_iss.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_iss; end
+
+ # Sets the attribute verify_iss
+ #
+ # @param value the value to set the attribute verify_iss to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_iss=(_arg0); end
+
+ # Returns the value of attribute verify_jti.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_jti; end
+
+ # Sets the attribute verify_jti
+ #
+ # @param value the value to set the attribute verify_jti to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_jti=(_arg0); end
+
+ # Returns the value of attribute verify_not_before.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_not_before; end
+
+ # Sets the attribute verify_not_before
+ #
+ # @param value the value to set the attribute verify_not_before to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_not_before=(_arg0); end
+
+ # Returns the value of attribute verify_sub.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_sub; end
+
+ # Sets the attribute verify_sub
+ #
+ # @param value the value to set the attribute verify_sub to.
+ #
+ # source://jwt//lib/jwt/configuration/decode_configuration.rb#6
+ def verify_sub=(_arg0); end
+end
+
+# source://jwt//lib/jwt/configuration/jwk_configuration.rb#8
+class JWT::Configuration::JwkConfiguration
+ # @return [JwkConfiguration] a new instance of JwkConfiguration
+ #
+ # source://jwt//lib/jwt/configuration/jwk_configuration.rb#9
+ def initialize; end
+
+ # Returns the value of attribute kid_generator.
+ #
+ # source://jwt//lib/jwt/configuration/jwk_configuration.rb#24
+ def kid_generator; end
+
+ # Sets the attribute kid_generator
+ #
+ # @param value the value to set the attribute kid_generator to.
+ #
+ # source://jwt//lib/jwt/configuration/jwk_configuration.rb#24
+ def kid_generator=(_arg0); end
+
+ # source://jwt//lib/jwt/configuration/jwk_configuration.rb#13
+ def kid_generator_type=(value); end
+end
+
+# Decoding logic for JWT
+#
+# source://jwt//lib/jwt/decode.rb#11
+class JWT::Decode
+ # @raise [JWT::DecodeError]
+ # @return [Decode] a new instance of Decode
+ #
+ # source://jwt//lib/jwt/decode.rb#12
+ def initialize(jwt, key, verify, options, &keyfinder); end
+
+ # @raise [JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/decode.rb#24
+ def decode_segments; end
+
+ private
+
+ # source://jwt//lib/jwt/decode.rb#140
+ def alg_in_header; end
+
+ # source://jwt//lib/jwt/decode.rb#90
+ def allowed_algorithms; end
+
+ # source://jwt//lib/jwt/decode.rb#72
+ def allowed_and_valid_algorithms; end
+
+ # source://jwt//lib/jwt/decode.rb#136
+ def decode_signature; end
+
+ # @raise [JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/decode.rb#107
+ def find_key(&keyfinder); end
+
+ # source://jwt//lib/jwt/decode.rb#82
+ def given_algorithms; end
+
+ # source://jwt//lib/jwt/decode.rb#144
+ def header; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/decode.rb#132
+ def none_algorithm?; end
+
+ # source://jwt//lib/jwt/decode.rb#156
+ def parse_and_decode(segment); end
+
+ # source://jwt//lib/jwt/decode.rb#148
+ def payload; end
+
+ # source://jwt//lib/jwt/decode.rb#94
+ def resolve_allowed_algorithms; end
+
+ # source://jwt//lib/jwt/decode.rb#128
+ def segment_length; end
+
+ # source://jwt//lib/jwt/decode.rb#58
+ def set_key; end
+
+ # source://jwt//lib/jwt/decode.rb#152
+ def signing_input; end
+
+ # Move algorithms matching the JWT alg header to the beginning of the list
+ #
+ # source://jwt//lib/jwt/decode.rb#101
+ def sort_by_alg_header(algs); end
+
+ # @raise [JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/decode.rb#120
+ def validate_segment_count!; end
+
+ # @raise [JWT::IncorrectAlgorithm]
+ #
+ # source://jwt//lib/jwt/decode.rb#52
+ def verify_algo; end
+
+ # source://jwt//lib/jwt/decode.rb#115
+ def verify_claims; end
+
+ # @raise [JWT::DecodeError]
+ #
+ # source://jwt//lib/jwt/decode.rb#40
+ def verify_signature; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/decode.rb#66
+ def verify_signature_for?(key); end
+end
+
+# Order is very important - first check for string keys, next for symbols
+#
+# source://jwt//lib/jwt/decode.rb#77
+JWT::Decode::ALGORITHM_KEYS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/error.rb#5
+class JWT::DecodeError < ::StandardError; end
+
+# Deprecations module to handle deprecation warnings in the gem
+#
+# source://jwt//lib/jwt/deprecations.rb#5
+module JWT::Deprecations
+ class << self
+ # source://jwt//lib/jwt/deprecations.rb#7
+ def context; end
+
+ # source://jwt//lib/jwt/deprecations.rb#31
+ def emit_warnings; end
+
+ # source://jwt//lib/jwt/deprecations.rb#27
+ def store(message); end
+
+ # source://jwt//lib/jwt/deprecations.rb#13
+ def warning(message, only_if_valid: T.unsafe(nil)); end
+
+ private
+
+ # source://jwt//lib/jwt/deprecations.rb#39
+ def record_warned(message); end
+ end
+end
+
+# 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#12
+ def initialize(options); end
+
+ # source://jwt//lib/jwt/encode.rb#20
+ def segments; end
+
+ private
+
+ # source://jwt//lib/jwt/encode.rb#69
+ def combine(*parts); end
+
+ # source://jwt//lib/jwt/encode.rb#65
+ def encode_data(data); end
+
+ # source://jwt//lib/jwt/encode.rb#43
+ def encode_header; end
+
+ # source://jwt//lib/jwt/encode.rb#47
+ def encode_payload; end
+
+ # source://jwt//lib/jwt/encode.rb#61
+ def encode_signature; end
+
+ # source://jwt//lib/jwt/encode.rb#27
+ def encoded_header; end
+
+ # source://jwt//lib/jwt/encode.rb#39
+ def encoded_header_and_payload; end
+
+ # source://jwt//lib/jwt/encode.rb#31
+ def encoded_payload; end
+
+ # source://jwt//lib/jwt/encode.rb#35
+ def encoded_signature; end
+
+ # source://jwt//lib/jwt/encode.rb#51
+ def signature; end
+
+ # source://jwt//lib/jwt/encode.rb#55
+ def validate_claims!; end
+end
+
+# source://jwt//lib/jwt/encode.rb#10
+JWT::Encode::ALG_KEY = 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#15
+class JWT::InvalidAudError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#14
+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#17
+class JWT::InvalidJtiError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#18
+class JWT::InvalidPayload < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#16
+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/jwa/hmac.rb#4
+module JWT::JWA
+ class << self
+ # source://jwt//lib/jwt/jwa.rb#37
+ def create(algorithm); end
+
+ # source://jwt//lib/jwt/jwa.rb#33
+ def find(algorithm); end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwa.rb#43
+ def implementation?(algorithm); end
+
+ private
+
+ # source://jwt//lib/jwt/jwa.rb#50
+ def indexed; end
+ end
+end
+
+# source://jwt//lib/jwt/jwa.rb#22
+JWT::JWA::ALGOS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/ecdsa.rb#5
+module JWT::JWA::Ecdsa
+ private
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#70
+ def asn1_to_raw(signature, public_key); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#57
+ def curve_by_name(name); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#63
+ def raw_to_asn1(signature, private_key); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#33
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#44
+ def verify(algorithm, public_key, signing_input, signature); end
+
+ class << self
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#70
+ def asn1_to_raw(signature, public_key); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#57
+ def curve_by_name(name); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#63
+ def raw_to_asn1(signature, private_key); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#33
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/ecdsa.rb#44
+ def verify(algorithm, public_key, signing_input, signature); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/ecdsa.rb#8
+JWT::JWA::Ecdsa::NAMED_CURVES = T.let(T.unsafe(nil), Hash)
+
+# source://jwt//lib/jwt/jwa/ecdsa.rb#31
+JWT::JWA::Ecdsa::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/eddsa.rb#5
+module JWT::JWA::Eddsa
+ class << self
+ # source://jwt//lib/jwt/jwa/eddsa.rb#10
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/eddsa.rb#20
+ def verify(algorithm, public_key, signing_input, signature); end
+
+ private
+
+ # @raise [IncorrectAlgorithm]
+ #
+ # source://jwt//lib/jwt/jwa/eddsa.rb#34
+ def validate_algorithm!(algorithm); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/eddsa.rb#6
+JWT::JWA::Eddsa::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/eddsa.rb#7
+JWT::JWA::Eddsa::SUPPORTED_DOWNCASED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/hmac.rb#5
+module JWT::JWA::Hmac
+ private
+
+ # source://jwt//lib/jwt/jwa/hmac.rb#16
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/hmac.rb#30
+ def verify(algorithm, key, signing_input, signature); end
+
+ class << self
+ # source://jwt//lib/jwt/jwa/hmac.rb#16
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/hmac.rb#30
+ def verify(algorithm, key, signing_input, signature); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/hmac.rb#8
+JWT::JWA::Hmac::MAPPING = T.let(T.unsafe(nil), Hash)
+
+# source://jwt//lib/jwt/jwa/hmac.rb#14
+JWT::JWA::Hmac::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# Copy of https://github.com/rails/rails/blob/v7.0.3.1/activesupport/lib/active_support/security_utils.rb
+#
+# source://jwt//lib/jwt/jwa/hmac.rb#36
+module JWT::JWA::Hmac::SecurityUtils
+ private
+
+ # :nocov:
+ #
+ # @raise [ArgumentError]
+ #
+ # source://jwt//lib/jwt/jwa/hmac.rb#43
+ def fixed_length_secure_compare(a, b); end
+
+ # Secure string comparison for strings of variable length.
+ #
+ # While a timing attack would not be able to discern the content of
+ # a secret compared via secure_compare, it is possible to determine
+ # the secret length. This should be considered when using secure_compare
+ # to compare weak, short secrets to user input.
+ #
+ # source://jwt//lib/jwt/jwa/hmac.rb#67
+ def secure_compare(a, b); end
+
+ class << self
+ # :nocov:
+ #
+ # @raise [ArgumentError]
+ #
+ # source://jwt//lib/jwt/jwa/hmac.rb#43
+ def fixed_length_secure_compare(a, b); end
+
+ # Secure string comparison for strings of variable length.
+ #
+ # While a timing attack would not be able to discern the content of
+ # a secret compared via secure_compare, it is possible to determine
+ # the secret length. This should be considered when using secure_compare
+ # to compare weak, short secrets to user input.
+ #
+ # source://jwt//lib/jwt/jwa/hmac.rb#67
+ def secure_compare(a, b); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/none.rb#5
+module JWT::JWA::None
+ private
+
+ # source://jwt//lib/jwt/jwa/none.rb#10
+ def sign(*_arg0); end
+
+ # source://jwt//lib/jwt/jwa/none.rb#14
+ def verify(*_arg0); end
+
+ class << self
+ # source://jwt//lib/jwt/jwa/none.rb#10
+ def sign(*_arg0); end
+
+ # source://jwt//lib/jwt/jwa/none.rb#14
+ def verify(*_arg0); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/none.rb#8
+JWT::JWA::None::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/ps.rb#5
+module JWT::JWA::Ps
+ private
+
+ # source://jwt//lib/jwt/jwa/ps.rb#12
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/ps.rb#22
+ def verify(algorithm, public_key, signing_input, signature); end
+
+ class << self
+ # source://jwt//lib/jwt/jwa/ps.rb#12
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/ps.rb#22
+ def verify(algorithm, public_key, signing_input, signature); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/ps.rb#10
+JWT::JWA::Ps::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/rsa.rb#5
+module JWT::JWA::Rsa
+ private
+
+ # source://jwt//lib/jwt/jwa/rsa.rb#10
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/rsa.rb#18
+ def verify(algorithm, public_key, signing_input, signature); end
+
+ class << self
+ # source://jwt//lib/jwt/jwa/rsa.rb#10
+ def sign(algorithm, msg, key); end
+
+ # source://jwt//lib/jwt/jwa/rsa.rb#18
+ def verify(algorithm, public_key, signing_input, signature); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/rsa.rb#8
+JWT::JWA::Rsa::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/unsupported.rb#5
+module JWT::JWA::Unsupported
+ private
+
+ # source://jwt//lib/jwt/jwa/unsupported.rb#10
+ def sign(*_arg0); end
+
+ # source://jwt//lib/jwt/jwa/unsupported.rb#14
+ def verify(*_arg0); end
+
+ class << self
+ # @raise [NotImplementedError]
+ #
+ # source://jwt//lib/jwt/jwa/unsupported.rb#10
+ def sign(*_arg0); end
+
+ # @raise [JWT::VerificationError]
+ #
+ # source://jwt//lib/jwt/jwa/unsupported.rb#14
+ def verify(*_arg0); end
+ end
+end
+
+# source://jwt//lib/jwt/jwa/unsupported.rb#8
+JWT::JWA::Unsupported::SUPPORTED = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwa/wrapper.rb#5
+class JWT::JWA::Wrapper
+ # @return [Wrapper] a new instance of Wrapper
+ #
+ # source://jwt//lib/jwt/jwa/wrapper.rb#8
+ def initialize(alg, cls); end
+
+ # Returns the value of attribute alg.
+ #
+ # source://jwt//lib/jwt/jwa/wrapper.rb#6
+ def alg; end
+
+ # Returns the value of attribute cls.
+ #
+ # source://jwt//lib/jwt/jwa/wrapper.rb#6
+ def cls; end
+
+ # source://jwt//lib/jwt/jwa/wrapper.rb#17
+ def sign(data:, signing_key:); end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwa/wrapper.rb#13
+ def valid_alg?(alg_to_check); end
+
+ # source://jwt//lib/jwt/jwa/wrapper.rb#21
+ def verify(data:, signature:, verification_key:); end
+end
+
+# source://jwt//lib/jwt/jwk/kid_as_key_digest.rb#4
+module JWT::JWK
+ class << self
+ # source://jwt//lib/jwt/jwk.rb#24
+ def classes; end
+
+ # source://jwt//lib/jwt/jwk.rb#9
+ def create_from(key, params = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk.rb#9
+ def import(key, params = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk.rb#9
+ def new(key, params = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ private
+
+ # source://jwt//lib/jwt/jwk.rb#38
+ def generate_mappings; end
+
+ # source://jwt//lib/jwt/jwk.rb#34
+ def mappings; end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/ec.rb#7
+class JWT::JWK::EC < ::JWT::JWK::KeyBase
+ # @return [EC] a new instance of EC
+ #
+ # source://jwt//lib/jwt/jwk/ec.rb#16
+ def initialize(key, params = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#67
+ def []=(key, value); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#54
+ def export(options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#60
+ def key_digest; end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#30
+ def keypair; end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#50
+ def members; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwk/ec.rb#34
+ def private?; end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#46
+ def public_key; end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#38
+ def signing_key; end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#42
+ def verify_key; end
+
+ private
+
+ # @raise [ArgumentError]
+ #
+ # source://jwt//lib/jwt/jwk/ec.rb#95
+ def check_jwk_params!(key_params, params); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#145
+ def create_ec_key(jwk_crv, jwk_x, jwk_y, jwk_d); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#208
+ def decode_octets(base64_encoded_coordinate); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#77
+ def ec_key; end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#122
+ def encode_octets(octets); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#128
+ def encode_open_ssl_bn(key_part); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#81
+ def extract_key_params(key); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#101
+ def keypair_components(ec_keypair); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#132
+ def parse_ec_key(key); end
+
+ class << self
+ # source://jwt//lib/jwt/jwk/ec.rb#232
+ def import(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk/ec.rb#236
+ def to_openssl_curve(crv); end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/ec.rb#10
+JWT::JWK::EC::BINARY = T.let(T.unsafe(nil), Integer)
+
+# source://jwt//lib/jwt/jwk/ec.rb#13
+JWT::JWK::EC::EC_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/ec.rb#12
+JWT::JWK::EC::EC_PRIVATE_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/ec.rb#11
+JWT::JWK::EC::EC_PUBLIC_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/ec.rb#8
+JWT::JWK::EC::KTY = T.let(T.unsafe(nil), String)
+
+# source://jwt//lib/jwt/jwk/ec.rb#9
+JWT::JWK::EC::KTYS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/ec.rb#14
+JWT::JWK::EC::ZERO_BYTE = T.let(T.unsafe(nil), String)
+
+# source://jwt//lib/jwt/jwk/hmac.rb#5
+class JWT::JWK::HMAC < ::JWT::JWK::KeyBase
+ # @return [HMAC] a new instance of HMAC
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#12
+ def initialize(key, params = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#63
+ def []=(key, value); end
+
+ # See https://tools.ietf.org/html/rfc7517#appendix-A.3
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#47
+ def export(options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#57
+ def key_digest; end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#26
+ def keypair; end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#53
+ def members; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#30
+ def private?; end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#34
+ def public_key; end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#42
+ def signing_key; end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#38
+ def verify_key; end
+
+ private
+
+ # @raise [ArgumentError]
+ #
+ # source://jwt//lib/jwt/jwk/hmac.rb#90
+ def check_jwk(keypair, params); end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#77
+ def extract_key_params(key); end
+
+ # source://jwt//lib/jwt/jwk/hmac.rb#73
+ def secret; end
+
+ class << self
+ # source://jwt//lib/jwt/jwk/hmac.rb#97
+ def import(jwk_data); end
+ end
+end
+
+# source://jwt//lib/jwt/jwk/hmac.rb#10
+JWT::JWK::HMAC::HMAC_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/hmac.rb#9
+JWT::JWK::HMAC::HMAC_PRIVATE_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/hmac.rb#8
+JWT::JWK::HMAC::HMAC_PUBLIC_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# 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#11
+ def initialize(options, params = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/key_base.rb#46
+ def <=>(other); end
+
+ # source://jwt//lib/jwt/jwk/key_base.rb#40
+ def ==(other); end
+
+ # source://jwt//lib/jwt/jwk/key_base.rb#32
+ def [](key); end
+
+ # source://jwt//lib/jwt/jwk/key_base.rb#36
+ def []=(key, value); end
+
+ # source://jwt//lib/jwt/jwk/key_base.rb#40
+ def eql?(other); end
+
+ # source://jwt//lib/jwt/jwk/key_base.rb#28
+ def hash; end
+
+ # source://jwt//lib/jwt/jwk/key_base.rb#24
+ def kid; end
+
+ private
+
+ # Returns the value of attribute parameters.
+ #
+ # source://jwt//lib/jwt/jwk/key_base.rb#54
+ def parameters; end
+
+ class << self
+ # @private
+ #
+ # source://jwt//lib/jwt/jwk/key_base.rb#6
+ 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#17
+ def key_for(kid); end
+
+ private
+
+ # source://jwt//lib/jwt/jwk/key_finder.rb#31
+ def resolve_key(kid); end
+end
+
+# source://jwt//lib/jwt/jwk/kid_as_key_digest.rb#5
+class JWT::JWK::KidAsKeyDigest
+ # @return [KidAsKeyDigest] a new instance of KidAsKeyDigest
+ #
+ # source://jwt//lib/jwt/jwk/kid_as_key_digest.rb#6
+ def initialize(jwk); end
+
+ # source://jwt//lib/jwt/jwk/kid_as_key_digest.rb#10
+ def generate; end
+end
+
+# source://jwt//lib/jwt/jwk/rsa.rb#5
+class JWT::JWK::RSA < ::JWT::JWK::KeyBase
+ # @return [RSA] a new instance of RSA
+ #
+ # source://jwt//lib/jwt/jwk/rsa.rb#16
+ def initialize(key, params = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#66
+ def []=(key, value); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#50
+ def export(options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#60
+ def key_digest; end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#30
+ def keypair; end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#56
+ def members; end
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/jwk/rsa.rb#34
+ def private?; end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#38
+ def public_key; end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#42
+ def signing_key; end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#46
+ def verify_key; end
+
+ private
+
+ # @raise [ArgumentError]
+ #
+ # source://jwt//lib/jwt/jwk/rsa.rb#94
+ def check_jwk_params!(key_params, params); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#126
+ def decode_open_ssl_bn(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#120
+ def encode_open_ssl_bn(key_part); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#80
+ def extract_key_params(key); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#114
+ def jwk_attributes(*attributes); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#100
+ def parse_rsa_key(key); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#76
+ def rsa_key; end
+
+ class << self
+ # source://jwt//lib/jwt/jwk/rsa.rb#141
+ def create_rsa_key(rsa_parameters); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#169
+ def create_rsa_key_using_accessors(rsa_parameters); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#141
+ def create_rsa_key_using_der(rsa_parameters); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#159
+ def create_rsa_key_using_sets(rsa_parameters); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#135
+ def decode_open_ssl_bn(jwk_data); end
+
+ # source://jwt//lib/jwt/jwk/rsa.rb#131
+ def import(jwk_data); end
+
+ # @raise [JWT::JWKError]
+ #
+ # source://jwt//lib/jwt/jwk/rsa.rb#184
+ def validate_rsa_parameters!(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)
+
+# https://www.rfc-editor.org/rfc/rfc3447#appendix-A.1.2
+#
+# source://jwt//lib/jwt/jwk/rsa.rb#14
+JWT::JWK::RSA::RSA_ASN1_SEQUENCE = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/rsa.rb#11
+JWT::JWK::RSA::RSA_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/rsa.rb#13
+JWT::JWK::RSA::RSA_OPT_PARAMS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/rsa.rb#10
+JWT::JWK::RSA::RSA_PRIVATE_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/rsa.rb#9
+JWT::JWK::RSA::RSA_PUBLIC_KEY_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://jwt//lib/jwt/jwk/set.rb#7
+class JWT::JWK::Set
+ include ::Enumerable
+ extend ::Forwardable
+
+ # @return [Set] a new instance of Set
+ #
+ # source://jwt//lib/jwt/jwk/set.rb#13
+ def initialize(jwks = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#58
+ def +(enum); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#62
+ def <<(key); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#67
+ def ==(other); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#62
+ def add(key); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def delete(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def dig(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def each(*args, **_arg1, &block); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#67
+ def eql?(other); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#31
+ def export(options = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#37
+ def filter!(&block); end
+
+ # Returns the value of attribute keys.
+ #
+ # source://jwt//lib/jwt/jwk/set.rb#11
+ def keys; end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def length(*args, **_arg1, &block); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#53
+ def merge(enum); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#43
+ def reject!(&block); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#37
+ def select!(&block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def size(*args, **_arg1, &block); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#58
+ def union(enum); end
+
+ # source://jwt//lib/jwt/jwk/set.rb#49
+ def uniq!(&block); end
+
+ # For symbolic manipulation
+ #
+ # source://jwt//lib/jwt/jwk/set.rb#58
+ def |(enum); end
+end
+
+# https://tools.ietf.org/html/rfc7638
+#
+# source://jwt//lib/jwt/jwk/thumbprint.rb#6
+class JWT::JWK::Thumbprint
+ # @return [Thumbprint] a new instance of Thumbprint
+ #
+ # source://jwt//lib/jwt/jwk/thumbprint.rb#9
+ def initialize(jwk); end
+
+ # source://jwt//lib/jwt/jwk/thumbprint.rb#13
+ def generate; end
+
+ # Returns the value of attribute jwk.
+ #
+ # source://jwt//lib/jwt/jwk/thumbprint.rb#7
+ def jwk; end
+
+ # source://jwt//lib/jwt/jwk/thumbprint.rb#13
+ def to_s; end
+end
+
+# source://jwt//lib/jwt/error.rb#22
+class JWT::JWKError < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#19
+class JWT::MissingRequiredClaim < ::JWT::DecodeError; end
+
+# source://jwt//lib/jwt/error.rb#6
+class JWT::RequiredDependencyError < ::StandardError; end
+
+# source://jwt//lib/jwt/error.rb#13
+class JWT::UnsupportedEcdsaCurve < ::JWT::IncorrectAlgorithm; end
+
+# Moments version builder module
+#
+# source://jwt//lib/jwt/version.rb#10
+module JWT::VERSION; end
+
+# major version
+#
+# source://jwt//lib/jwt/version.rb#12
+JWT::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
+
+# minor version
+#
+# source://jwt//lib/jwt/version.rb#14
+JWT::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
+
+# alpha, beta, etc. tag
+#
+# source://jwt//lib/jwt/version.rb#18
+JWT::VERSION::PRE = T.let(T.unsafe(nil), T.untyped)
+
+# Build version string
+#
+# source://jwt//lib/jwt/version.rb#21
+JWT::VERSION::STRING = T.let(T.unsafe(nil), String)
+
+# tiny version
+#
+# source://jwt//lib/jwt/version.rb#16
+JWT::VERSION::TINY = T.let(T.unsafe(nil), Integer)
+
+# 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#28
+ def initialize(payload, options); end
+
+ # @raise [JWT::InvalidAudError]
+ #
+ # source://jwt//lib/jwt/verify.rb#33
+ def verify_aud; end
+
+ # @raise [JWT::ExpiredSignature]
+ #
+ # source://jwt//lib/jwt/verify.rb#40
+ def verify_expiration; end
+
+ # @raise [JWT::InvalidIatError]
+ #
+ # source://jwt//lib/jwt/verify.rb#45
+ def verify_iat; end
+
+ # source://jwt//lib/jwt/verify.rb#52
+ def verify_iss; end
+
+ # source://jwt//lib/jwt/verify.rb#67
+ def verify_jti; end
+
+ # @raise [JWT::ImmatureSignature]
+ #
+ # source://jwt//lib/jwt/verify.rb#79
+ def verify_not_before; end
+
+ # source://jwt//lib/jwt/verify.rb#91
+ def verify_required_claims; end
+
+ # @raise [JWT::InvalidSubError]
+ #
+ # source://jwt//lib/jwt/verify.rb#84
+ def verify_sub; end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://jwt//lib/jwt/verify.rb#113
+ def contains_key?(payload, key); end
+
+ # source://jwt//lib/jwt/verify.rb#105
+ def exp_leeway; end
+
+ # source://jwt//lib/jwt/verify.rb#101
+ def global_leeway; end
+
+ # source://jwt//lib/jwt/verify.rb#109
+ 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_required_claims(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)
+
+# If the x5c header certificate chain can be validated by trusted root
+# certificates, and none of the certificates are revoked, returns the public
+# key from the first certificate.
+# See https://tools.ietf.org/html/rfc7515#section-4.1.6
+#
+# source://jwt//lib/jwt/x5c_key_finder.rb#8
+class JWT::X5cKeyFinder
+ # @raise [ArgumentError]
+ # @return [X5cKeyFinder] a new instance of X5cKeyFinder
+ #
+ # source://jwt//lib/jwt/x5c_key_finder.rb#9
+ def initialize(root_certificates, crls = T.unsafe(nil)); end
+
+ # source://jwt//lib/jwt/x5c_key_finder.rb#15
+ def from(x5c_header_or_certificates); end
+
+ private
+
+ # source://jwt//lib/jwt/x5c_key_finder.rb#33
+ def build_store(root_certificates, crls); end
+
+ # source://jwt//lib/jwt/x5c_key_finder.rb#42
+ def parse_certificates(x5c_header_or_certificates); end
+end
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 0000000..a0375c0
--- /dev/null
+++ b/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
@@ -0,0 +1,14238 @@
+# 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/logger@1.6.0.rbi b/sorbet/rbi/gems/logger@1.6.0.rbi
new file mode 100644
index 0000000..0723d96
--- /dev/null
+++ b/sorbet/rbi/gems/logger@1.6.0.rbi
@@ -0,0 +1,912 @@
+# typed: false
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `logger` gem.
+# Please instead update this file by running `bin/tapioca gem logger`.
+
+
+# \Class \Logger provides a simple but sophisticated logging utility that
+# you can use to create one or more
+# {event logs}[https://en.wikipedia.org/wiki/Logging_(software)#Event_logs]
+# for your program.
+# Each such log contains a chronological sequence of entries
+# that provides a record of the program's activities.
+#
+# == About the Examples
+#
+# All examples on this page assume that \Logger has been required:
+#
+# require 'logger'
+#
+# == Synopsis
+#
+# Create a log with Logger.new:
+#
+# # Single log file.
+# logger = Logger.new('t.log')
+# # Size-based rotated logging: 3 10-megabyte files.
+# logger = Logger.new('t.log', 3, 10485760)
+# # Period-based rotated logging: daily (also allowed: 'weekly', 'monthly').
+# logger = Logger.new('t.log', 'daily')
+# # Log to an IO stream.
+# logger = Logger.new($stdout)
+#
+# Add entries (level, message) with Logger#add:
+#
+# logger.add(Logger::DEBUG, 'Maximal debugging info')
+# logger.add(Logger::INFO, 'Non-error information')
+# logger.add(Logger::WARN, 'Non-error warning')
+# logger.add(Logger::ERROR, 'Non-fatal error')
+# logger.add(Logger::FATAL, 'Fatal error')
+# logger.add(Logger::UNKNOWN, 'Most severe')
+#
+# Close the log with Logger#close:
+#
+# logger.close
+#
+# == Entries
+#
+# You can add entries with method Logger#add:
+#
+# logger.add(Logger::DEBUG, 'Maximal debugging info')
+# logger.add(Logger::INFO, 'Non-error information')
+# logger.add(Logger::WARN, 'Non-error warning')
+# logger.add(Logger::ERROR, 'Non-fatal error')
+# logger.add(Logger::FATAL, 'Fatal error')
+# logger.add(Logger::UNKNOWN, 'Most severe')
+#
+# These shorthand methods also add entries:
+#
+# logger.debug('Maximal debugging info')
+# logger.info('Non-error information')
+# logger.warn('Non-error warning')
+# logger.error('Non-fatal error')
+# logger.fatal('Fatal error')
+# logger.unknown('Most severe')
+#
+# When you call any of these methods,
+# the entry may or may not be written to the log,
+# depending on the entry's severity and on the log level;
+# see {Log Level}[rdoc-ref:Logger@Log+Level]
+#
+# An entry always has:
+#
+# - A severity (the required argument to #add).
+# - An automatically created timestamp.
+#
+# And may also have:
+#
+# - A message.
+# - A program name.
+#
+# Example:
+#
+# logger = Logger.new($stdout)
+# logger.add(Logger::INFO, 'My message.', 'mung')
+# # => I, [2022-05-07T17:21:46.536234 #20536] INFO -- mung: My message.
+#
+# The default format for an entry is:
+#
+# "%s, [%s #%d] %5s -- %s: %s\n"
+#
+# where the values to be formatted are:
+#
+# - \Severity (one letter).
+# - Timestamp.
+# - Process id.
+# - \Severity (word).
+# - Program name.
+# - Message.
+#
+# You can use a different entry format by:
+#
+# - Setting a custom format proc (affects following entries);
+# see {formatter=}[Logger.html#attribute-i-formatter].
+# - Calling any of the methods above with a block
+# (affects only the one entry).
+# Doing so can have two benefits:
+#
+# - Context: the block can evaluate the entire program context
+# and create a context-dependent message.
+# - Performance: the block is not evaluated unless the log level
+# permits the entry actually to be written:
+#
+# logger.error { my_slow_message_generator }
+#
+# Contrast this with the string form, where the string is
+# always evaluated, regardless of the log level:
+#
+# logger.error("#{my_slow_message_generator}")
+#
+# === \Severity
+#
+# The severity of a log entry has two effects:
+#
+# - Determines whether the entry is selected for inclusion in the log;
+# see {Log Level}[rdoc-ref:Logger@Log+Level].
+# - Indicates to any log reader (whether a person or a program)
+# the relative importance of the entry.
+#
+# === Timestamp
+#
+# The timestamp for a log entry is generated automatically
+# when the entry is created.
+#
+# The logged timestamp is formatted by method
+# {Time#strftime}[https://docs.ruby-lang.org/en/master/Time.html#method-i-strftime]
+# using this format string:
+#
+# '%Y-%m-%dT%H:%M:%S.%6N'
+#
+# Example:
+#
+# logger = Logger.new($stdout)
+# logger.add(Logger::INFO)
+# # => I, [2022-05-07T17:04:32.318331 #20536] INFO -- : nil
+#
+# You can set a different format using method #datetime_format=.
+#
+# === Message
+#
+# The message is an optional argument to an entry method:
+#
+# logger = Logger.new($stdout)
+# logger.add(Logger::INFO, 'My message')
+# # => I, [2022-05-07T18:15:37.647581 #20536] INFO -- : My message
+#
+# For the default entry formatter, Logger::Formatter,
+# the message object may be:
+#
+# - A string: used as-is.
+# - An Exception: message.message is used.
+# - Anything else: message.inspect is used.
+#
+# *Note*: Logger::Formatter does not escape or sanitize
+# the message passed to it.
+# Developers should be aware that malicious data (user input)
+# may be in the message, and should explicitly escape untrusted data.
+#
+# You can use a custom formatter to escape message data;
+# see the example at {formatter=}[Logger.html#attribute-i-formatter].
+#
+# === Program Name
+#
+# The program name is an optional argument to an entry method:
+#
+# logger = Logger.new($stdout)
+# logger.add(Logger::INFO, 'My message', 'mung')
+# # => I, [2022-05-07T18:17:38.084716 #20536] INFO -- mung: My message
+#
+# The default program name for a new logger may be set in the call to
+# Logger.new via optional keyword argument +progname+:
+#
+# logger = Logger.new('t.log', progname: 'mung')
+#
+# The default program name for an existing logger may be set
+# by a call to method #progname=:
+#
+# logger.progname = 'mung'
+#
+# The current program name may be retrieved with method
+# {progname}[Logger.html#attribute-i-progname]:
+#
+# logger.progname # => "mung"
+#
+# == Log Level
+#
+# The log level setting determines whether an entry is actually
+# written to the log, based on the entry's severity.
+#
+# These are the defined severities (least severe to most severe):
+#
+# logger = Logger.new($stdout)
+# logger.add(Logger::DEBUG, 'Maximal debugging info')
+# # => D, [2022-05-07T17:57:41.776220 #20536] DEBUG -- : Maximal debugging info
+# logger.add(Logger::INFO, 'Non-error information')
+# # => I, [2022-05-07T17:59:14.349167 #20536] INFO -- : Non-error information
+# logger.add(Logger::WARN, 'Non-error warning')
+# # => W, [2022-05-07T18:00:45.337538 #20536] WARN -- : Non-error warning
+# logger.add(Logger::ERROR, 'Non-fatal error')
+# # => E, [2022-05-07T18:02:41.592912 #20536] ERROR -- : Non-fatal error
+# logger.add(Logger::FATAL, 'Fatal error')
+# # => F, [2022-05-07T18:05:24.703931 #20536] FATAL -- : Fatal error
+# logger.add(Logger::UNKNOWN, 'Most severe')
+# # => A, [2022-05-07T18:07:54.657491 #20536] ANY -- : Most severe
+#
+# The default initial level setting is Logger::DEBUG, the lowest level,
+# which means that all entries are to be written, regardless of severity:
+#
+# logger = Logger.new($stdout)
+# logger.level # => 0
+# logger.add(0, "My message")
+# # => D, [2022-05-11T15:10:59.773668 #20536] DEBUG -- : My message
+#
+# You can specify a different setting in a new logger
+# using keyword argument +level+ with an appropriate value:
+#
+# logger = Logger.new($stdout, level: Logger::ERROR)
+# logger = Logger.new($stdout, level: 'error')
+# logger = Logger.new($stdout, level: :error)
+# logger.level # => 3
+#
+# With this level, entries with severity Logger::ERROR and higher
+# are written, while those with lower severities are not written:
+#
+# logger = Logger.new($stdout, level: Logger::ERROR)
+# logger.add(3)
+# # => E, [2022-05-11T15:17:20.933362 #20536] ERROR -- : nil
+# logger.add(2) # Silent.
+#
+# You can set the log level for an existing logger
+# with method #level=:
+#
+# logger.level = Logger::ERROR
+#
+# These shorthand methods also set the level:
+#
+# logger.debug! # => 0
+# logger.info! # => 1
+# logger.warn! # => 2
+# logger.error! # => 3
+# logger.fatal! # => 4
+#
+# You can retrieve the log level with method #level.
+#
+# logger.level = Logger::ERROR
+# logger.level # => 3
+#
+# These methods return whether a given
+# level is to be written:
+#
+# logger.level = Logger::ERROR
+# logger.debug? # => false
+# logger.info? # => false
+# logger.warn? # => false
+# logger.error? # => true
+# logger.fatal? # => true
+#
+# == Log File Rotation
+#
+# By default, a log file is a single file that grows indefinitely
+# (until explicitly closed); there is no file rotation.
+#
+# To keep log files to a manageable size,
+# you can use _log_ _file_ _rotation_, which uses multiple log files:
+#
+# - Each log file has entries for a non-overlapping
+# time interval.
+# - Only the most recent log file is open and active;
+# the others are closed and inactive.
+#
+# === Size-Based Rotation
+#
+# For size-based log file rotation, call Logger.new with:
+#
+# - Argument +logdev+ as a file path.
+# - Argument +shift_age+ with a positive integer:
+# the number of log files to be in the rotation.
+# - Argument +shift_size+ as a positive integer:
+# the maximum size (in bytes) of each log file;
+# defaults to 1048576 (1 megabyte).
+#
+# Examples:
+#
+# logger = Logger.new('t.log', 3) # Three 1-megabyte files.
+# logger = Logger.new('t.log', 5, 10485760) # Five 10-megabyte files.
+#
+# For these examples, suppose:
+#
+# logger = Logger.new('t.log', 3)
+#
+# Logging begins in the new log file, +t.log+;
+# the log file is "full" and ready for rotation
+# when a new entry would cause its size to exceed +shift_size+.
+#
+# The first time +t.log+ is full:
+#
+# - +t.log+ is closed and renamed to +t.log.0+.
+# - A new file +t.log+ is opened.
+#
+# The second time +t.log+ is full:
+#
+# - +t.log.0 is renamed as +t.log.1+.
+# - +t.log+ is closed and renamed to +t.log.0+.
+# - A new file +t.log+ is opened.
+#
+# Each subsequent time that +t.log+ is full,
+# the log files are rotated:
+#
+# - +t.log.1+ is removed.
+# - +t.log.0 is renamed as +t.log.1+.
+# - +t.log+ is closed and renamed to +t.log.0+.
+# - A new file +t.log+ is opened.
+#
+# === Periodic Rotation
+#
+# For periodic rotation, call Logger.new with:
+#
+# - Argument +logdev+ as a file path.
+# - Argument +shift_age+ as a string period indicator.
+#
+# Examples:
+#
+# logger = Logger.new('t.log', 'daily') # Rotate log files daily.
+# logger = Logger.new('t.log', 'weekly') # Rotate log files weekly.
+# logger = Logger.new('t.log', 'monthly') # Rotate log files monthly.
+#
+# Example:
+#
+# logger = Logger.new('t.log', 'daily')
+#
+# When the given period expires:
+#
+# - The base log file, +t.log+ is closed and renamed
+# with a date-based suffix such as +t.log.20220509+.
+# - A new log file +t.log+ is opened.
+# - Nothing is removed.
+#
+# The default format for the suffix is '%Y%m%d',
+# which produces a suffix similar to the one above.
+# You can set a different format using create-time option
+# +shift_period_suffix+;
+# see details and suggestions at
+# {Time#strftime}[https://docs.ruby-lang.org/en/master/Time.html#method-i-strftime].
+#
+# source://logger//lib/logger/version.rb#3
+class Logger
+ include ::Logger::Severity
+
+ # :call-seq:
+ # Logger.new(logdev, shift_age = 0, shift_size = 1048576, **options)
+ #
+ # With the single argument +logdev+,
+ # returns a new logger with all default options:
+ #
+ # Logger.new('t.log') # => #
+ #
+ # Argument +logdev+ must be one of:
+ #
+ # - A string filepath: entries are to be written
+ # to the file at that path; if the file at that path exists,
+ # new entries are appended.
+ # - An IO stream (typically +$stdout+, +$stderr+. or an open file):
+ # entries are to be written to the given stream.
+ # - +nil+ or +File::NULL+: no entries are to be written.
+ #
+ # Examples:
+ #
+ # Logger.new('t.log')
+ # Logger.new($stdout)
+ #
+ # The keyword options are:
+ #
+ # - +level+: sets the log level; default value is Logger::DEBUG.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level]:
+ #
+ # Logger.new('t.log', level: Logger::ERROR)
+ #
+ # - +progname+: sets the default program name; default is +nil+.
+ # See {Program Name}[rdoc-ref:Logger@Program+Name]:
+ #
+ # Logger.new('t.log', progname: 'mung')
+ #
+ # - +formatter+: sets the entry formatter; default is +nil+.
+ # See {formatter=}[Logger.html#attribute-i-formatter].
+ # - +datetime_format+: sets the format for entry timestamp;
+ # default is +nil+.
+ # See #datetime_format=.
+ # - +binmode+: sets whether the logger writes in binary mode;
+ # default is +false+.
+ # - +shift_period_suffix+: sets the format for the filename suffix
+ # for periodic log file rotation; default is '%Y%m%d'.
+ # See {Periodic Rotation}[rdoc-ref:Logger@Periodic+Rotation].
+ #
+ # @return [Logger] a new instance of Logger
+ #
+ # source://logger//lib/logger.rb#578
+ def initialize(logdev, shift_age = T.unsafe(nil), shift_size = T.unsafe(nil), level: T.unsafe(nil), progname: T.unsafe(nil), formatter: T.unsafe(nil), datetime_format: T.unsafe(nil), binmode: T.unsafe(nil), shift_period_suffix: T.unsafe(nil)); end
+
+ # Writes the given +msg+ to the log with no formatting;
+ # returns the number of characters written,
+ # or +nil+ if no log device exists:
+ #
+ # logger = Logger.new($stdout)
+ # logger << 'My message.' # => 10
+ #
+ # Output:
+ #
+ # My message.
+ #
+ # source://logger//lib/logger.rb#684
+ def <<(msg); end
+
+ # Creates a log entry, which may or may not be written to the log,
+ # depending on the entry's severity and on the log level.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level]
+ # and {Entries}[rdoc-ref:Logger@Entries] for details.
+ #
+ # Examples:
+ #
+ # logger = Logger.new($stdout, progname: 'mung')
+ # logger.add(Logger::INFO)
+ # logger.add(Logger::ERROR, 'No good')
+ # logger.add(Logger::ERROR, 'No good', 'gnum')
+ #
+ # Output:
+ #
+ # I, [2022-05-12T16:25:31.469726 #36328] INFO -- mung: mung
+ # E, [2022-05-12T16:25:55.349414 #36328] ERROR -- mung: No good
+ # E, [2022-05-12T16:26:35.841134 #36328] ERROR -- gnum: No good
+ #
+ # These convenience methods have implicit severity:
+ #
+ # - #debug.
+ # - #info.
+ # - #warn.
+ # - #error.
+ # - #fatal.
+ # - #unknown.
+ #
+ # source://logger//lib/logger.rb#651
+ def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil)); end
+
+ # Closes the logger; returns +nil+:
+ #
+ # logger = Logger.new('t.log')
+ # logger.close # => nil
+ # logger.info('foo') # Prints "log writing failed. closed stream"
+ #
+ # Related: Logger#reopen.
+ #
+ # source://logger//lib/logger.rb#731
+ def close; end
+
+ # Returns the date-time format; see #datetime_format=.
+ #
+ # source://logger//lib/logger.rb#438
+ def datetime_format; end
+
+ # Sets the date-time format.
+ #
+ # Argument +datetime_format+ should be either of these:
+ #
+ # - A string suitable for use as a format for method
+ # {Time#strftime}[https://docs.ruby-lang.org/en/master/Time.html#method-i-strftime].
+ # - +nil+: the logger uses '%Y-%m-%dT%H:%M:%S.%6N'.
+ #
+ # source://logger//lib/logger.rb#432
+ def datetime_format=(datetime_format); end
+
+ # Equivalent to calling #add with severity Logger::DEBUG.
+ #
+ # source://logger//lib/logger.rb#690
+ def debug(progname = T.unsafe(nil), &block); end
+
+ # Sets the log level to Logger::DEBUG.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # source://logger//lib/logger.rb#487
+ def debug!; end
+
+ # Returns +true+ if the log level allows entries with severity
+ # Logger::DEBUG to be written, +false+ otherwise.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # @return [Boolean]
+ #
+ # source://logger//lib/logger.rb#482
+ def debug?; end
+
+ # Equivalent to calling #add with severity Logger::ERROR.
+ #
+ # source://logger//lib/logger.rb#708
+ def error(progname = T.unsafe(nil), &block); end
+
+ # Sets the log level to Logger::ERROR.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # source://logger//lib/logger.rb#520
+ def error!; end
+
+ # Returns +true+ if the log level allows entries with severity
+ # Logger::ERROR to be written, +false+ otherwise.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # @return [Boolean]
+ #
+ # source://logger//lib/logger.rb#515
+ def error?; end
+
+ # Equivalent to calling #add with severity Logger::FATAL.
+ #
+ # source://logger//lib/logger.rb#714
+ def fatal(progname = T.unsafe(nil), &block); end
+
+ # Sets the log level to Logger::FATAL.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # source://logger//lib/logger.rb#531
+ def fatal!; end
+
+ # Returns +true+ if the log level allows entries with severity
+ # Logger::FATAL to be written, +false+ otherwise.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # @return [Boolean]
+ #
+ # source://logger//lib/logger.rb#526
+ def fatal?; end
+
+ # Sets or retrieves the logger entry formatter proc.
+ #
+ # When +formatter+ is +nil+, the logger uses Logger::Formatter.
+ #
+ # When +formatter+ is a proc, a new entry is formatted by the proc,
+ # which is called with four arguments:
+ #
+ # - +severity+: The severity of the entry.
+ # - +time+: A Time object representing the entry's timestamp.
+ # - +progname+: The program name for the entry.
+ # - +msg+: The message for the entry (string or string-convertible object).
+ #
+ # The proc should return a string containing the formatted entry.
+ #
+ # This custom formatter uses
+ # {String#dump}[https://docs.ruby-lang.org/en/master/String.html#method-i-dump]
+ # to escape the message string:
+ #
+ # logger = Logger.new($stdout, progname: 'mung')
+ # original_formatter = logger.formatter || Logger::Formatter.new
+ # logger.formatter = proc { |severity, time, progname, msg|
+ # original_formatter.call(severity, time, progname, msg.dump)
+ # }
+ # logger.add(Logger::INFO, "hello \n ''")
+ # logger.add(Logger::INFO, "\f\x00\xff\\\"")
+ #
+ # Output:
+ #
+ # I, [2022-05-13T13:16:29.637488 #8492] INFO -- mung: "hello \n ''"
+ # I, [2022-05-13T13:16:29.637610 #8492] INFO -- mung: "\f\x00\xFF\\\""
+ #
+ # source://logger//lib/logger.rb#473
+ def formatter; end
+
+ # Sets or retrieves the logger entry formatter proc.
+ #
+ # When +formatter+ is +nil+, the logger uses Logger::Formatter.
+ #
+ # When +formatter+ is a proc, a new entry is formatted by the proc,
+ # which is called with four arguments:
+ #
+ # - +severity+: The severity of the entry.
+ # - +time+: A Time object representing the entry's timestamp.
+ # - +progname+: The program name for the entry.
+ # - +msg+: The message for the entry (string or string-convertible object).
+ #
+ # The proc should return a string containing the formatted entry.
+ #
+ # This custom formatter uses
+ # {String#dump}[https://docs.ruby-lang.org/en/master/String.html#method-i-dump]
+ # to escape the message string:
+ #
+ # logger = Logger.new($stdout, progname: 'mung')
+ # original_formatter = logger.formatter || Logger::Formatter.new
+ # logger.formatter = proc { |severity, time, progname, msg|
+ # original_formatter.call(severity, time, progname, msg.dump)
+ # }
+ # logger.add(Logger::INFO, "hello \n ''")
+ # logger.add(Logger::INFO, "\f\x00\xff\\\"")
+ #
+ # Output:
+ #
+ # I, [2022-05-13T13:16:29.637488 #8492] INFO -- mung: "hello \n ''"
+ # I, [2022-05-13T13:16:29.637610 #8492] INFO -- mung: "\f\x00\xFF\\\""
+ #
+ # source://logger//lib/logger.rb#473
+ def formatter=(_arg0); end
+
+ # Equivalent to calling #add with severity Logger::INFO.
+ #
+ # source://logger//lib/logger.rb#696
+ def info(progname = T.unsafe(nil), &block); end
+
+ # Sets the log level to Logger::INFO.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # source://logger//lib/logger.rb#498
+ def info!; end
+
+ # Returns +true+ if the log level allows entries with severity
+ # Logger::INFO to be written, +false+ otherwise.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # @return [Boolean]
+ #
+ # source://logger//lib/logger.rb#493
+ def info?; end
+
+ # Logging severity threshold (e.g. Logger::INFO).
+ #
+ # source://logger//lib/logger.rb#383
+ def level; end
+
+ # Sets the log level; returns +severity+.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # Argument +severity+ may be an integer, a string, or a symbol:
+ #
+ # logger.level = Logger::ERROR # => 3
+ # logger.level = 3 # => 3
+ # logger.level = 'error' # => "error"
+ # logger.level = :error # => :error
+ #
+ # Logger#sev_threshold= is an alias for Logger#level=.
+ #
+ # source://logger//lib/logger.rb#399
+ def level=(severity); end
+
+ # Creates a log entry, which may or may not be written to the log,
+ # depending on the entry's severity and on the log level.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level]
+ # and {Entries}[rdoc-ref:Logger@Entries] for details.
+ #
+ # Examples:
+ #
+ # logger = Logger.new($stdout, progname: 'mung')
+ # logger.add(Logger::INFO)
+ # logger.add(Logger::ERROR, 'No good')
+ # logger.add(Logger::ERROR, 'No good', 'gnum')
+ #
+ # Output:
+ #
+ # I, [2022-05-12T16:25:31.469726 #36328] INFO -- mung: mung
+ # E, [2022-05-12T16:25:55.349414 #36328] ERROR -- mung: No good
+ # E, [2022-05-12T16:26:35.841134 #36328] ERROR -- gnum: No good
+ #
+ # These convenience methods have implicit severity:
+ #
+ # - #debug.
+ # - #info.
+ # - #warn.
+ # - #error.
+ # - #fatal.
+ # - #unknown.
+ #
+ # source://logger//lib/logger.rb#651
+ def log(severity, message = T.unsafe(nil), progname = T.unsafe(nil)); end
+
+ # Program name to include in log messages.
+ #
+ # source://logger//lib/logger.rb#422
+ def progname; end
+
+ # Program name to include in log messages.
+ #
+ # source://logger//lib/logger.rb#422
+ def progname=(_arg0); end
+
+ # Sets the logger's output stream:
+ #
+ # - If +logdev+ is +nil+, reopens the current output stream.
+ # - If +logdev+ is a filepath, opens the indicated file for append.
+ # - If +logdev+ is an IO stream
+ # (usually $stdout, $stderr, or an open File object),
+ # opens the stream for append.
+ #
+ # Example:
+ #
+ # logger = Logger.new('t.log')
+ # logger.add(Logger::ERROR, 'one')
+ # logger.close
+ # logger.add(Logger::ERROR, 'two') # Prints 'log writing failed. closed stream'
+ # logger.reopen
+ # logger.add(Logger::ERROR, 'three')
+ # logger.close
+ # File.readlines('t.log')
+ # # =>
+ # # ["# Logfile created on 2022-05-12 14:21:19 -0500 by logger.rb/v1.5.0\n",
+ # # "E, [2022-05-12T14:21:27.596726 #22428] ERROR -- : one\n",
+ # # "E, [2022-05-12T14:23:05.847241 #22428] ERROR -- : three\n"]
+ #
+ # source://logger//lib/logger.rb#619
+ def reopen(logdev = T.unsafe(nil)); end
+
+ # Logging severity threshold (e.g. Logger::INFO).
+ #
+ # source://logger//lib/logger.rb#383
+ def sev_threshold; end
+
+ # Sets the log level; returns +severity+.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # Argument +severity+ may be an integer, a string, or a symbol:
+ #
+ # logger.level = Logger::ERROR # => 3
+ # logger.level = 3 # => 3
+ # logger.level = 'error' # => "error"
+ # logger.level = :error # => :error
+ #
+ # Logger#sev_threshold= is an alias for Logger#level=.
+ #
+ # source://logger//lib/logger.rb#399
+ def sev_threshold=(severity); end
+
+ # Equivalent to calling #add with severity Logger::UNKNOWN.
+ #
+ # source://logger//lib/logger.rb#720
+ def unknown(progname = T.unsafe(nil), &block); end
+
+ # Equivalent to calling #add with severity Logger::WARN.
+ #
+ # source://logger//lib/logger.rb#702
+ def warn(progname = T.unsafe(nil), &block); end
+
+ # Sets the log level to Logger::WARN.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # source://logger//lib/logger.rb#509
+ def warn!; end
+
+ # Returns +true+ if the log level allows entries with severity
+ # Logger::WARN to be written, +false+ otherwise.
+ # See {Log Level}[rdoc-ref:Logger@Log+Level].
+ #
+ # @return [Boolean]
+ #
+ # source://logger//lib/logger.rb#504
+ def warn?; end
+
+ # Adjust the log level during the block execution for the current Fiber only
+ #
+ # logger.with_level(:debug) do
+ # logger.debug { "Hello" }
+ # end
+ #
+ # source://logger//lib/logger.rb#408
+ def with_level(severity); end
+
+ private
+
+ # source://logger//lib/logger.rb#744
+ def format_message(severity, datetime, progname, msg); end
+
+ # source://logger//lib/logger.rb#740
+ def format_severity(severity); end
+end
+
+# Default formatter for log messages.
+#
+# source://logger//lib/logger/formatter.rb#5
+class Logger::Formatter
+ # @return [Formatter] a new instance of Formatter
+ #
+ # source://logger//lib/logger/formatter.rb#11
+ def initialize; end
+
+ # source://logger//lib/logger/formatter.rb#15
+ def call(severity, time, progname, msg); end
+
+ # Returns the value of attribute datetime_format.
+ #
+ # source://logger//lib/logger/formatter.rb#9
+ def datetime_format; end
+
+ # Sets the attribute datetime_format
+ #
+ # @param value the value to set the attribute datetime_format to.
+ #
+ # source://logger//lib/logger/formatter.rb#9
+ def datetime_format=(_arg0); end
+
+ private
+
+ # source://logger//lib/logger/formatter.rb#21
+ def format_datetime(time); end
+
+ # source://logger//lib/logger/formatter.rb#25
+ def msg2str(msg); end
+end
+
+# source://logger//lib/logger/formatter.rb#7
+Logger::Formatter::DatetimeFormat = T.let(T.unsafe(nil), String)
+
+# source://logger//lib/logger/formatter.rb#6
+Logger::Formatter::Format = T.let(T.unsafe(nil), String)
+
+# Device used for logging messages.
+#
+# source://logger//lib/logger/log_device.rb#7
+class Logger::LogDevice
+ include ::Logger::Period
+ include ::MonitorMixin
+
+ # @return [LogDevice] a new instance of LogDevice
+ #
+ # source://logger//lib/logger/log_device.rb#14
+ def initialize(log = T.unsafe(nil), shift_age: T.unsafe(nil), shift_size: T.unsafe(nil), shift_period_suffix: T.unsafe(nil), binmode: T.unsafe(nil)); end
+
+ # source://logger//lib/logger/log_device.rb#52
+ def close; end
+
+ # Returns the value of attribute dev.
+ #
+ # source://logger//lib/logger/log_device.rb#10
+ def dev; end
+
+ # Returns the value of attribute filename.
+ #
+ # source://logger//lib/logger/log_device.rb#11
+ def filename; end
+
+ # source://logger//lib/logger/log_device.rb#62
+ def reopen(log = T.unsafe(nil)); end
+
+ # source://logger//lib/logger/log_device.rb#31
+ def write(message); end
+
+ private
+
+ # source://logger//lib/logger/log_device.rb#119
+ def add_log_header(file); end
+
+ # source://logger//lib/logger/log_device.rb#125
+ def check_shift_log; end
+
+ # source://logger//lib/logger/log_device.rb#103
+ def create_logfile(filename); end
+
+ # source://logger//lib/logger/log_device.rb#145
+ def lock_shift_log; end
+
+ # source://logger//lib/logger/log_device.rb#95
+ def open_logfile(filename); end
+
+ # source://logger//lib/logger/log_device.rb#79
+ def set_dev(log); end
+
+ # source://logger//lib/logger/log_device.rb#176
+ def shift_log_age; end
+
+ # source://logger//lib/logger/log_device.rb#188
+ def shift_log_period(period_end); end
+end
+
+# source://logger//lib/logger/period.rb#4
+module Logger::Period
+ private
+
+ # source://logger//lib/logger/period.rb#9
+ def next_rotate_time(now, shift_age); end
+
+ # source://logger//lib/logger/period.rb#31
+ def previous_period_end(now, shift_age); end
+
+ class << self
+ # source://logger//lib/logger/period.rb#9
+ def next_rotate_time(now, shift_age); end
+
+ # source://logger//lib/logger/period.rb#31
+ def previous_period_end(now, shift_age); end
+ end
+end
+
+# source://logger//lib/logger/period.rb#7
+Logger::Period::SiD = T.let(T.unsafe(nil), Integer)
+
+# \Severity label for logging (max 5 chars).
+#
+# source://logger//lib/logger.rb#738
+Logger::SEV_LABEL = T.let(T.unsafe(nil), Array)
+
+# Logging severity.
+#
+# source://logger//lib/logger/severity.rb#5
+module Logger::Severity
+ class << self
+ # source://logger//lib/logger/severity.rb#29
+ def coerce(severity); end
+ end
+end
+
+# source://logger//lib/logger/severity.rb#19
+Logger::Severity::LEVELS = T.let(T.unsafe(nil), Hash)
diff --git a/sorbet/rbi/gems/multipart-post@2.4.1.rbi b/sorbet/rbi/gems/multipart-post@2.4.1.rbi
new file mode 100644
index 0000000..12f4d4f
--- /dev/null
+++ b/sorbet/rbi/gems/multipart-post@2.4.1.rbi
@@ -0,0 +1,244 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `multipart-post` gem.
+# Please instead update this file by running `bin/tapioca gem multipart-post`.
+
+
+# source://multipart-post//lib/multipart/post/composite_read_io.rb#90
+CompositeIO = Multipart::Post::CompositeReadIO
+
+# source://multipart-post//lib/multipart/post/version.rb#7
+module Multipart; end
+
+# source://multipart-post//lib/multipart/post/version.rb#8
+module Multipart::Post; end
+
+# Concatenate together multiple IO objects into a single, composite IO object
+# for purposes of reading as a single stream.
+#
+# @example
+# crio = CompositeReadIO.new(StringIO.new('one'),
+# StringIO.new('two'),
+# StringIO.new('three'))
+# puts crio.read # => "onetwothree"
+#
+# source://multipart-post//lib/multipart/post/composite_read_io.rb#28
+class Multipart::Post::CompositeReadIO
+ # Create a new composite-read IO from the arguments, all of which should
+ # respond to #read in a manner consistent with IO.
+ #
+ # @return [CompositeReadIO] a new instance of CompositeReadIO
+ #
+ # source://multipart-post//lib/multipart/post/composite_read_io.rb#31
+ def initialize(*ios); end
+
+ # Close all the underyling IOs.
+ #
+ # source://multipart-post//lib/multipart/post/composite_read_io.rb#37
+ def close; end
+
+ # @return [Boolean]
+ #
+ # source://multipart-post//lib/multipart/post/composite_read_io.rb#46
+ def closed?; end
+
+ # Read from IOs in order until `length` bytes have been received.
+ #
+ # source://multipart-post//lib/multipart/post/composite_read_io.rb#51
+ def read(length = T.unsafe(nil), outbuf = T.unsafe(nil)); end
+
+ # source://multipart-post//lib/multipart/post/composite_read_io.rb#72
+ def rewind; end
+
+ private
+
+ # source://multipart-post//lib/multipart/post/composite_read_io.rb#83
+ def advance_io; end
+
+ # source://multipart-post//lib/multipart/post/composite_read_io.rb#79
+ def current_io; end
+end
+
+# source://multipart-post//lib/multipart/post/multipartable.rb#23
+module Multipart::Post::Multipartable
+ # source://multipart-post//lib/multipart/post/multipartable.rb#38
+ def initialize(path, params, headers = T.unsafe(nil), boundary = T.unsafe(nil)); end
+
+ # Returns the value of attribute boundary.
+ #
+ # source://multipart-post//lib/multipart/post/multipartable.rb#61
+ def boundary; end
+
+ private
+
+ # source://multipart-post//lib/multipart/post/multipartable.rb#65
+ def symbolize_keys(hash); end
+
+ class << self
+ # source://multipart-post//lib/multipart/post/multipartable.rb#24
+ def secure_boundary; end
+ end
+end
+
+# source://multipart-post//lib/multipart/post/parts.rb#26
+module Multipart::Post::Parts; end
+
+# Represents the epilogue or closing boundary.
+#
+# source://multipart-post//lib/multipart/post/parts.rb#138
+class Multipart::Post::Parts::EpiloguePart
+ include ::Multipart::Post::Parts::Part
+
+ # @return [EpiloguePart] a new instance of EpiloguePart
+ #
+ # source://multipart-post//lib/multipart/post/parts.rb#141
+ def initialize(boundary); end
+end
+
+# Represents a part to be filled from file IO.
+#
+# source://multipart-post//lib/multipart/post/parts.rb#83
+class Multipart::Post::Parts::FilePart
+ include ::Multipart::Post::Parts::Part
+
+ # @param boundary [String]
+ # @param name [#to_s]
+ # @param io [IO]
+ # @param headers [Hash]
+ # @return [FilePart] a new instance of FilePart
+ #
+ # source://multipart-post//lib/multipart/post/parts.rb#92
+ def initialize(boundary, name, io, headers = T.unsafe(nil)); end
+
+ # @param boundary [String]
+ # @param name [#to_s]
+ # @param filename [String]
+ # @param type [String]
+ # @param content_len [Integer]
+ # @param opts [Hash]
+ #
+ # source://multipart-post//lib/multipart/post/parts.rb#107
+ def build_head(boundary, name, filename, type, content_len, opts = T.unsafe(nil)); end
+
+ # Returns the value of attribute length.
+ #
+ # source://multipart-post//lib/multipart/post/parts.rb#86
+ def length; end
+end
+
+# Represents a parametric part to be filled with given value.
+#
+# source://multipart-post//lib/multipart/post/parts.rb#51
+class Multipart::Post::Parts::ParamPart
+ include ::Multipart::Post::Parts::Part
+
+ # @param boundary [String]
+ # @param name [#to_s]
+ # @param value [String]
+ # @param headers [Hash] Content-Type and Content-ID are used, if present.
+ # @return [ParamPart] a new instance of ParamPart
+ #
+ # source://multipart-post//lib/multipart/post/parts.rb#58
+ def initialize(boundary, name, value, headers = T.unsafe(nil)); end
+
+ # @param boundary [String]
+ # @param name [#to_s]
+ # @param value [String]
+ # @param headers [Hash] Content-Type is used, if present.
+ #
+ # source://multipart-post//lib/multipart/post/parts.rb#71
+ def build_part(boundary, name, value, headers = T.unsafe(nil)); end
+
+ # source://multipart-post//lib/multipart/post/parts.rb#63
+ def length; end
+end
+
+# source://multipart-post//lib/multipart/post/parts.rb#27
+module Multipart::Post::Parts::Part
+ # source://multipart-post//lib/multipart/post/parts.rb#41
+ def length; end
+
+ # source://multipart-post//lib/multipart/post/parts.rb#45
+ def to_io; end
+
+ class << self
+ # @return [Boolean]
+ #
+ # source://multipart-post//lib/multipart/post/parts.rb#37
+ def file?(value); end
+
+ # source://multipart-post//lib/multipart/post/parts.rb#28
+ def new(boundary, name, value, headers = T.unsafe(nil)); end
+ end
+end
+
+# Convenience methods for dealing with files and IO that are to be uploaded.
+#
+# source://multipart-post//lib/multipart/post/upload_io.rb#9
+class Multipart::Post::UploadIO
+ # Create an upload IO suitable for including in the params hash of a
+ # Net::HTTP::Post::Multipart.
+ #
+ # Can take two forms. The first accepts a filename and content type, and
+ # opens the file for reading (to be closed by finalizer).
+ #
+ # The second accepts an already-open IO, but also requires a third argument,
+ # the filename from which it was opened (particularly useful/recommended if
+ # uploading directly from a form in a framework, which often save the file to
+ # an arbitrarily named RackMultipart file in /tmp).
+ #
+ # @example
+ # UploadIO.new("file.txt", "text/plain")
+ # UploadIO.new(file_io, "text/plain", "file.txt")
+ # @return [UploadIO] a new instance of UploadIO
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#26
+ def initialize(filename_or_io, content_type, filename = T.unsafe(nil), opts = T.unsafe(nil)); end
+
+ # Returns the value of attribute content_type.
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#10
+ def content_type; end
+
+ # Returns the value of attribute io.
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#10
+ def io; end
+
+ # Returns the value of attribute local_path.
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#10
+ def local_path; end
+
+ # source://multipart-post//lib/multipart/post/upload_io.rb#52
+ def method_missing(*args); end
+
+ # Returns the value of attribute opts.
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#10
+ def opts; end
+
+ # Returns the value of attribute original_filename.
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#10
+ def original_filename; end
+
+ # @return [Boolean]
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#56
+ def respond_to?(meth, include_all = T.unsafe(nil)); end
+
+ class << self
+ # @raise [ArgumentError]
+ #
+ # source://multipart-post//lib/multipart/post/upload_io.rb#46
+ def convert!(io, content_type, original_filename, local_path); end
+ end
+end
+
+# source://multipart-post//lib/multipart/post/version.rb#9
+Multipart::Post::VERSION = T.let(T.unsafe(nil), String)
+
+# source://multipart-post//lib/multipart/post/upload_io.rb#63
+UploadIO = Multipart::Post::UploadIO
diff --git a/sorbet/rbi/gems/mustermann@3.0.2.rbi b/sorbet/rbi/gems/mustermann@3.0.2.rbi
new file mode 100644
index 0000000..c8b468b
--- /dev/null
+++ b/sorbet/rbi/gems/mustermann@3.0.2.rbi
@@ -0,0 +1,2534 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `mustermann` gem.
+# Please instead update this file by running `bin/tapioca gem mustermann`.
+
+
+# Namespace and main entry point for the Mustermann library.
+#
+# Under normal circumstances the only external API entry point you should be using is {Mustermann.new}.
+#
+# source://mustermann//lib/mustermann/error.rb#2
+module Mustermann
+ class << self
+ # Maps a type to its factory.
+ #
+ # @example
+ # Mustermann[:sinatra] # => Mustermann::Sinatra
+ # @param name [Symbol] a pattern type identifier
+ # @raise [ArgumentError] if the type is not supported
+ # @return [Class, #new] pattern factory
+ #
+ # source://mustermann//lib/mustermann.rb#89
+ def [](name); end
+
+ # source://mustermann//lib/mustermann.rb#120
+ def extend_object(object); end
+
+ # Creates a new pattern based on input.
+ #
+ # * From {Mustermann::Pattern}: returns given pattern.
+ # * From String: creates a pattern from the string, depending on type option (defaults to {Mustermann::Sinatra})
+ # * From Regexp: creates a {Mustermann::Regular} pattern.
+ # * From Symbol: creates a {Mustermann::Sinatra} pattern with a single named capture named after the input.
+ # * From an Array or multiple inputs: creates a new pattern from each element, combines them to a {Mustermann::Composite}.
+ # * From anything else: Will try to call to_pattern on it or raise a TypeError.
+ #
+ # Note that if the input is a {Mustermann::Pattern}, Regexp or Symbol, the type option is ignored and if to_pattern is
+ # called on the object, the type will be handed on but might be ignored by the input object.
+ #
+ # If you want to enforce the pattern type, you should create them via their expected class.
+ #
+ # @example creating patterns
+ # require 'mustermann'
+ #
+ # Mustermann.new("/:name") # => #
+ # Mustermann.new("/{name}", type: :template) # => #
+ # Mustermann.new(/.*/) # => #
+ # Mustermann.new(:name, capture: :word) # => #
+ # Mustermann.new("/", "/*.jpg", type: :shell) # => #
+ # @example using custom #to_pattern
+ # require 'mustermann'
+ #
+ # class MyObject
+ # def to_pattern(**options)
+ # Mustermann.new("/:name", **options)
+ # end
+ # end
+ #
+ # Mustermann.new(MyObject.new, type: :rails) # => #
+ # @example enforcing type
+ # require 'mustermann/sinatra'
+ #
+ # Mustermann::Sinatra.new("/:name")
+ # @param input [String, Pattern, Regexp, Symbol, #to_pattern, Array] The representation of the pattern
+ # @param options [Hash] The options hash
+ # @raise [TypeError] if the passed object cannot be converted to a pattern
+ # @raise [ArgumentError] if the type is not supported
+ # @raise [ArgumentError] if some option is not supported
+ # @raise [Mustermann::Error] if the pattern can't be generated from the string
+ # @return [Mustermann::Pattern] pattern corresponding to string.
+ # @see file:README.md#Types_and_Options "Types and Options" in the README
+ #
+ # source://mustermann//lib/mustermann.rb#62
+ def new(*input, type: T.unsafe(nil), operator: T.unsafe(nil), **options); end
+
+ # source://mustermann//lib/mustermann.rb#115
+ def normalized_type(type); end
+
+ # source://mustermann//lib/mustermann.rb#110
+ def register(name, type); end
+
+ # @return [LoadError, nil]
+ #
+ # source://mustermann//lib/mustermann.rb#101
+ def try_require(path); end
+ end
+end
+
+# @see Mustermann::AST::Pattern
+#
+# source://mustermann//lib/mustermann/ast/node.rb#3
+module Mustermann::AST; end
+
+# Make sure #start and #stop is set on every node and within its parents #start and #stop.
+#
+# source://mustermann//lib/mustermann/ast/boundaries.rb#8
+class Mustermann::AST::Boundaries < ::Mustermann::AST::Translator
+ # Checks that a node is within the given boundaries.
+ #
+ # source://mustermann//lib/mustermann/ast/boundaries.rb#38
+ def set_boundaries(node, start, stop); end
+
+ class << self
+ # @return [Mustermann::AST::Node] the ast passed as first argument
+ #
+ # source://mustermann//lib/mustermann/ast/boundaries.rb#11
+ def set_boundaries(ast, string: T.unsafe(nil), start: T.unsafe(nil), stop: T.unsafe(nil)); end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/boundaries.rb#0
+class Mustermann::AST::Boundaries::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
+
+# Regexp compilation logic.
+#
+# source://mustermann//lib/mustermann/ast/compiler.rb#9
+class Mustermann::AST::Compiler < ::Mustermann::AST::Translator
+ # Compiles an AST to a regular expression.
+ #
+ # @param ast [Mustermann::AST::Node] the tree
+ # @return [Regexp] corresponding regular expression.
+ #
+ # source://mustermann//lib/mustermann/ast/compiler.rb#151
+ def compile(ast, except: T.unsafe(nil), **options); end
+
+ # @return [String] Regular expression for matching the given character in all representations
+ #
+ # source://mustermann//lib/mustermann/ast/compiler.rb#126
+ def encoded(char, uri_decode: T.unsafe(nil), space_matches_plus: T.unsafe(nil), **options); end
+
+ # source://mustermann//lib/mustermann/ast/translator.rb#67
+ def error_class; end
+
+ class << self
+ # Compiles an AST to a regular expression.
+ #
+ # @param ast [Mustermann::AST::Node] the tree
+ # @return [Regexp] corresponding regular expression.
+ #
+ # source://mustermann//lib/mustermann/ast/compiler.rb#142
+ def compile(ast, **options); end
+ end
+end
+
+# Capture compilation is complex. :(
+#
+# source://mustermann//lib/mustermann/ast/compiler.rb#38
+class Mustermann::AST::Compiler::Capture < ::Mustermann::AST::Compiler::NodeTranslator
+ # @return [String] regexp without the named capture
+ #
+ # source://mustermann//lib/mustermann/ast/compiler.rb#49
+ def pattern(capture: T.unsafe(nil), **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#42
+ def translate(**options); end
+
+ private
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#68
+ def default(**options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#64
+ def from_array(array, **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#63
+ def from_hash(hash, **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#67
+ def from_nil(**options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#66
+ def from_string(string, **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#65
+ def from_symbol(symbol, **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#61
+ def qualified(string, greedy: T.unsafe(nil), **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#62
+ def with_lookahead(string, lookahead: T.unsafe(nil), **options); end
+end
+
+# source://mustermann//lib/mustermann/ast/compiler.rb#0
+class Mustermann::AST::Compiler::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/compiler.rb#72
+class Mustermann::AST::Compiler::Splat < ::Mustermann::AST::Compiler::Capture
+ # splats are always non-greedy
+ #
+ # source://mustermann//lib/mustermann/ast/compiler.rb#76
+ def pattern(**options); end
+end
+
+# source://mustermann//lib/mustermann/ast/compiler.rb#82
+class Mustermann::AST::Compiler::Variable < ::Mustermann::AST::Compiler::Capture
+ # source://mustermann//lib/mustermann/ast/compiler.rb#113
+ def default(allow_reserved: T.unsafe(nil), **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#103
+ def parametric(string); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#94
+ def pattern(parametric: T.unsafe(nil), separator: T.unsafe(nil), **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#108
+ def qualified(string, **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#118
+ def register_param(parametric: T.unsafe(nil), split_params: T.unsafe(nil), separator: T.unsafe(nil), **options); end
+
+ # source://mustermann//lib/mustermann/ast/compiler.rb#86
+ def translate(**options); end
+end
+
+# Looks at an AST, remembers the important bits of information to do an
+# ultra fast expansion.
+#
+# source://mustermann//lib/mustermann/ast/expander.rb#12
+class Mustermann::AST::Expander < ::Mustermann::AST::Translator
+ # add a tree for expansion
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#80
+ def add(ast); end
+
+ # Creates the product of two of our secret internal data structures.
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#141
+ def add_to(list, result); end
+
+ # source://mustermann//lib/mustermann/ast/translator.rb#67
+ def error_class; end
+
+ # helper method for raising an error for unexpandable values
+ #
+ # @raise [error_class]
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#119
+ def error_for(values); end
+
+ # @see Mustermann::AST::Translator#expand
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#126
+ def escape(string, *args, **_arg2); end
+
+ # @see Mustermann::Pattern#expand
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#95
+ def expand(values); end
+
+ # @return [Boolean]
+ # @see Mustermann::Pattern#expandable?
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#105
+ def expandable?(values); end
+
+ # @see Mustermann::Expander#with_rest
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#113
+ def expandable_keys(keys); end
+
+ # helper method for captures
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#61
+ def for_capture(node, **options); end
+
+ # all the known keys
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#74
+ def keys; end
+
+ # maps sorted key list to sprintf patterns and filters
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#68
+ def mappings; end
+
+ # Turns a sprintf pattern into our secret internal data structure.
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#135
+ def pattern(string = T.unsafe(nil), *keys, **filters); end
+
+ # helper method for getting a capture's pattern.
+ #
+ # source://mustermann//lib/mustermann/ast/expander.rb#89
+ def pattern_for(node, **options); end
+end
+
+# source://mustermann//lib/mustermann/ast/expander.rb#0
+class Mustermann::AST::Expander::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#5
+class Mustermann::AST::Node
+ # @return [Node] a new instance of Node
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#43
+ def initialize(payload = T.unsafe(nil), **options); end
+
+ # Loop through all nodes that don't have child nodes.
+ #
+ # @yield [_self]
+ # @yieldparam _self [Mustermann::AST::Node] the object that the method was called on
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#65
+ def each_leaf(&block); end
+
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#49
+ def is_a?(type); end
+
+ # @return [Integer] length of the substring
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#78
+ def length; end
+
+ # @return [Integer] minimum size for a node
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#84
+ def min_size; end
+
+ # Double dispatch helper for reading from the buffer into the payload.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#56
+ def parse; end
+
+ # Returns the value of attribute payload.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def payload; end
+
+ # Sets the attribute payload
+ #
+ # @param value the value to set the attribute payload to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def payload=(_arg0); end
+
+ # Returns the value of attribute start.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def start; end
+
+ # Sets the attribute start
+ #
+ # @param value the value to set the attribute start to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def start=(_arg0); end
+
+ # Returns the value of attribute stop.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def stop; end
+
+ # Sets the attribute stop
+ #
+ # @param value the value to set the attribute stop to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def stop=(_arg0); end
+
+ # Turns a class name into a node identifier.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#90
+ def type; end
+
+ class << self
+ # @param name [Symbol] of the node
+ # @return [Class] factory for the node
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#12
+ def [](name); end
+
+ # @param name [Symbol] of the node
+ # @return [String] qualified name of factory for the node
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#29
+ def constant_name(name); end
+
+ # Helper for creating a new instance and calling #parse on it.
+ #
+ # @return [Mustermann::AST::Node]
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#38
+ def parse(payload = T.unsafe(nil), **options, &block); end
+
+ # Turns a class name into a node identifier.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#22
+ def type; end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#95
+class Mustermann::AST::Node::Capture < ::Mustermann::AST::Node
+ # @see Mustermann::AST::Compiler::Capture#default
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#98
+ def constraint; end
+
+ # @see Mustermann::AST::Compiler::Capture#default
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#98
+ def constraint=(_arg0); end
+
+ # @see Mustermann::AST::Pattern#map_param
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#106
+ def convert; end
+
+ # @see Mustermann::AST::Pattern#map_param
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#106
+ def convert=(_arg0); end
+
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def name; end
+
+ # @see Mustermann::AST::Node#parse
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#110
+ def parse; end
+
+ # @see Mustermann::AST::Compiler::Capture#qualified
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#102
+ def qualifier; end
+
+ # @see Mustermann::AST::Compiler::Capture#qualified
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#102
+ def qualifier=(_arg0); end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#120
+class Mustermann::AST::Node::Char < ::Mustermann::AST::Node
+ # @return [Integer] minimum size for a node
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#123
+ def min_size; end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#136
+class Mustermann::AST::Node::Composition < ::Mustermann::AST::Node
+ # @return [Composition] a new instance of Composition
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#138
+ def initialize(payload = T.unsafe(nil), **options); end
+end
+
+# AST node for template expressions.
+#
+# source://mustermann//lib/mustermann/ast/node.rb#130
+class Mustermann::AST::Node::Expression < ::Mustermann::AST::Node
+ # Returns the value of attribute operator.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#132
+ def operator; end
+
+ # Sets the attribute operator
+ #
+ # @param value the value to set the attribute operator to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#132
+ def operator=(_arg0); end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#144
+class Mustermann::AST::Node::Group < ::Mustermann::AST::Node::Composition; end
+
+# source://mustermann//lib/mustermann/ast/node.rb#195
+class Mustermann::AST::Node::NamedSplat < ::Mustermann::AST::Node::Splat
+ # @see Mustermann::AST::Node::Capture#name
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#7
+ def name; end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#152
+class Mustermann::AST::Node::Optional < ::Mustermann::AST::Node; end
+
+# source://mustermann//lib/mustermann/ast/node.rb#156
+class Mustermann::AST::Node::Or < ::Mustermann::AST::Node; end
+
+# source://mustermann//lib/mustermann/ast/node.rb#160
+class Mustermann::AST::Node::Root < ::Mustermann::AST::Node
+ # Returns the value of attribute pattern.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#162
+ def pattern; end
+
+ # Sets the attribute pattern
+ #
+ # @param value the value to set the attribute pattern to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#162
+ def pattern=(_arg0); end
+
+ class << self
+ # Will trigger transform.
+ #
+ # @see Mustermann::AST::Node.parse
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#168
+ def parse(string, &block); end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#177
+class Mustermann::AST::Node::Separator < ::Mustermann::AST::Node
+ # @return [Integer] minimum size for a node
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#180
+ def min_size; end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#186
+class Mustermann::AST::Node::Splat < ::Mustermann::AST::Node::Capture
+ # @see Mustermann::AST::Node::Capture#name
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#189
+ def name; end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#148
+class Mustermann::AST::Node::Union < ::Mustermann::AST::Node::Composition; end
+
+# AST node for template variables.
+#
+# source://mustermann//lib/mustermann/ast/node.rb#203
+class Mustermann::AST::Node::Variable < ::Mustermann::AST::Node::Capture
+ # Returns the value of attribute explode.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#205
+ def explode; end
+
+ # Sets the attribute explode
+ #
+ # @param value the value to set the attribute explode to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#205
+ def explode=(_arg0); end
+
+ # Returns the value of attribute prefix.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#205
+ def prefix; end
+
+ # Sets the attribute prefix
+ #
+ # @param value the value to set the attribute prefix to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#205
+ def prefix=(_arg0); end
+end
+
+# source://mustermann//lib/mustermann/ast/node.rb#209
+class Mustermann::AST::Node::WithLookAhead < ::Mustermann::AST::Node
+ # @return [WithLookAhead] a new instance of WithLookAhead
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#214
+ def initialize(payload, at_end, **options); end
+
+ # Returns the value of attribute at_end.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#211
+ def at_end; end
+
+ # Sets the attribute at_end
+ #
+ # @param value the value to set the attribute at_end to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#211
+ def at_end=(_arg0); end
+
+ # Returns the value of attribute head.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#211
+ def head; end
+
+ # Sets the attribute head
+ #
+ # @param value the value to set the attribute head to.
+ #
+ # source://mustermann//lib/mustermann/ast/node.rb#211
+ def head=(_arg0); end
+end
+
+# Scans an AST for param converters.
+#
+# @see Mustermann::AST::Pattern#to_templates
+#
+# source://mustermann//lib/mustermann/ast/param_scanner.rb#9
+class Mustermann::AST::ParamScanner < ::Mustermann::AST::Translator
+ class << self
+ # source://mustermann//lib/mustermann/ast/param_scanner.rb#11
+ def scan_params(ast); end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/param_scanner.rb#0
+class Mustermann::AST::ParamScanner::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
+
+# Simple, StringScanner based parser.
+#
+# source://mustermann//lib/mustermann/ast/parser.rb#12
+class Mustermann::AST::Parser
+ extend ::Forwardable
+
+ # @return [Parser] a new instance of Parser
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#49
+ def initialize(pattern: T.unsafe(nil), **options); end
+
+ # Returns the value of attribute buffer.
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#43
+ def buffer; end
+
+ # Create a node for a character we don't have an explicit rule for.
+ #
+ # @param char [String] the character
+ # @return [Mustermann::AST::Node] the node
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#80
+ def default_node(char); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def eos?(*args, **_arg1, &block); end
+
+ # Asserts a regular expression matches what's next on the buffer.
+ # Will return corresponding MatchData if regexp includes named captures.
+ #
+ # @param regexp [Regexp] expected to match
+ # @raise [Mustermann::ParseError] if expectation wasn't met
+ # @return [String, MatchData] the match
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#141
+ def expect(regexp, char: T.unsafe(nil), **options); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def getch(*args, **_arg1, &block); end
+
+ # sets start on node to start if it's not set to a lower value.
+ # sets stop on node to stop if it's not set to a higher value.
+ #
+ # @return [Mustermann::AST::Node] the node passed as third argument
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#100
+ def min_size(start, stop, node); end
+
+ # @example
+ # node(:char, 'x').compile =~ 'x' # => true
+ # @param type [Symbol] node type
+ # @return [Mustermann::AST::Node]
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#68
+ def node(type, *args, **_arg2, &block); end
+
+ # @param string [String] to be parsed
+ # @return [Mustermann::AST::Node] parse tree for string
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#56
+ def parse(string); end
+
+ # Returns the value of attribute pattern.
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#43
+ def pattern; end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def pos(*args, **_arg1, &block); end
+
+ # Reads the next element from the buffer.
+ #
+ # @return [Mustermann::AST::Node] next element
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#87
+ def read; end
+
+ # Reads an argument string of the format arg1,args2,key:value
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#172
+ def read_args(key_separator, close, separator: T.unsafe(nil), symbol_keys: T.unsafe(nil), **options); end
+
+ # Allows to read a string inside brackets. It does not expect the string
+ # to start with an opening bracket.
+ #
+ # @example
+ # buffer.string = "fo>ba"
+ # read_brackets(?<, ?>) # => "fo"
+ # buffer.rest # => "ba"
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#154
+ def read_brackets(open, close, char: T.unsafe(nil), escape: T.unsafe(nil), quote: T.unsafe(nil), **options); end
+
+ # Read a string until a terminating character, ignoring escaped versions of said character.
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#210
+ def read_escaped(close, escape: T.unsafe(nil), **options); end
+
+ # Reads a separated list with the ability to quote, escape and add spaces.
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#191
+ def read_list(*close, separator: T.unsafe(nil), escape: T.unsafe(nil), quotes: T.unsafe(nil), ignore: T.unsafe(nil), **options); end
+
+ # Checks for a potential suffix on the buffer.
+ #
+ # @param element [Mustermann::AST::Node] node without suffix
+ # @return [Mustermann::AST::Node] node with suffix
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#112
+ def read_suffix(element); end
+
+ # Wrapper around {StringScanner#scan} that turns strings into escaped
+ # regular expressions and returns a MatchData if the regexp has any
+ # named captures.
+ #
+ # @param regexp [Regexp, String]
+ # @return [String, MatchData, nil]
+ # @see StringScanner#scan
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#128
+ def scan(regexp); end
+
+ # Returns the value of attribute string.
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#43
+ def string; end
+
+ # Helper for raising an exception for an unexpected character.
+ # Will read character from buffer if buffer is passed in.
+ #
+ # @param char [String, nil] the unexpected character
+ # @raise [Mustermann::ParseError, Exception]
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#228
+ def unexpected(char = T.unsafe(nil), exception: T.unsafe(nil)); end
+
+ class << self
+ # Defines another grammar rule for first character.
+ #
+ # @see Mustermann::Rails
+ # @see Mustermann::Sinatra
+ # @see Mustermann::Template
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#26
+ def on(*chars, &block); end
+
+ # @param string [String] to be parsed
+ # @return [Mustermann::AST::Node] parse tree for string
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#16
+ def parse(string, **options); end
+
+ # Defines another grammar rule for a suffix.
+ #
+ # @see Mustermann::Sinatra
+ #
+ # source://mustermann//lib/mustermann/ast/parser.rb#36
+ def suffix(pattern = T.unsafe(nil), after: T.unsafe(nil), &block); end
+ end
+end
+
+# Superclass for pattern styles that parse an AST from the string pattern.
+#
+# @abstract
+#
+# source://mustermann//lib/mustermann/ast/pattern.rb#18
+class Mustermann::AST::Pattern < ::Mustermann::RegexpBased
+ extend ::SingleForwardable
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def boundaries(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def compiler(*args, **_arg1, &block); end
+
+ # All AST-based pattern implementations support expanding.
+ #
+ # @example Expanding a pattern
+ # pattern = Mustermann.new('/:name(.:ext)?')
+ # pattern.expand(name: 'hello') # => "/hello"
+ # pattern.expand(name: 'hello', ext: 'png') # => "/hello.png"
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :expand
+ # pattern.expand(name: "foo")
+ # else
+ # warn "does not support expanding"
+ # end
+ # @param behavior [Symbol] What to do with additional key/value pairs not present in the values hash.
+ # Possible options: :raise, :ignore, :append.
+ # @param values [Hash{Symbol: #to_s, Array<#to_s>}] Values to use for expansion.
+ # @raise [NotImplementedError] raised if expand is not supported.
+ # @raise [Mustermann::ExpandError] raised if a value is missing or unknown
+ # @return [String] expanded string
+ # @see Mustermann::Pattern#expand
+ # @see Mustermann::Expander
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#106
+ def expand(behavior = T.unsafe(nil), values = T.unsafe(nil)); end
+
+ # @see Mustermann::Pattern#map_param
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#123
+ def map_param(key, value); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def param_scanner(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def parser(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def template_generator(*args, **_arg1, &block); end
+
+ # Internal AST representation of pattern.
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#88
+ def to_ast; end
+
+ # All AST-based pattern implementations support generating templates.
+ #
+ # @example generating templates
+ # Mustermann.new("/:name").to_templates # => ["/{name}"]
+ # Mustermann.new("/:foo(@:bar)?/*baz").to_templates # => ["/{foo}@{bar}/{+baz}", "/{foo}/{+baz}"]
+ # Mustermann.new("/{name}", type: :template).to_templates # => ["/{name}"]
+ # @example generating templates from composite patterns
+ # pattern = Mustermann.new('/:name')
+ # pattern |= Mustermann.new('/{name}', type: :template)
+ # pattern |= Mustermann.new('/example/*nested')
+ # pattern.to_templates # => ["/{name}", "/example/{+nested}"]
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :to_templates
+ # pattern.to_templates
+ # else
+ # warn "does not support template generation"
+ # end
+ # @return [Array] list of URI templates
+ # @see Mustermann::Pattern#to_templates
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#117
+ def to_templates; end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def transformer(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def validation(*args, **_arg1, &block); end
+
+ private
+
+ # source://mustermann//lib/mustermann/ast/pattern.rb#79
+ def compile(**options); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def generate_templates(*args, **_arg1, &block); end
+
+ # source://mustermann//lib/mustermann/ast/pattern.rb#129
+ def param_converters; end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def parse(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def scan_params(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def set_boundaries(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def transform(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def validate(*args, **_arg1, &block); end
+
+ class << self
+ # @api private
+ # @return [#set_boundaries] translator making sure start and stop is set on all nodes
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#46
+ def boundaries; end
+
+ # @api private
+ # @return [#compile] compiler object for pattern
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#39
+ def compiler; end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def on(*args, **_arg1, &block); end
+
+ # @api private
+ # @return [#scan_params] param scanner for pattern
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#74
+ def param_scanner; end
+
+ # @api private
+ # @return [#parse] parser object for pattern
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#30
+ def parser; end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def suffix(*args, **_arg1, &block); end
+
+ # @api private
+ # @return [#generate_templates] generates URI templates for pattern
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#67
+ def template_generator; end
+
+ # @api private
+ # @return [#transform] transformer object for pattern
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#53
+ def transformer; end
+
+ # @api private
+ # @return [#validate] validation object for pattern
+ #
+ # source://mustermann//lib/mustermann/ast/pattern.rb#60
+ def validation; end
+ end
+end
+
+# Turns an AST into an Array of URI templates representing the AST.
+#
+# @see Mustermann::AST::Pattern#to_templates
+#
+# source://mustermann//lib/mustermann/ast/template_generator.rb#9
+class Mustermann::AST::TemplateGenerator < ::Mustermann::AST::Translator
+ class << self
+ # source://mustermann//lib/mustermann/ast/template_generator.rb#11
+ def generate_templates(ast); end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/template_generator.rb#0
+class Mustermann::AST::TemplateGenerator::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
+
+# Takes a tree, turns it into an even better tree.
+#
+# source://mustermann//lib/mustermann/ast/transformer.rb#8
+class Mustermann::AST::Transformer < ::Mustermann::AST::Translator
+ class << self
+ # Transforms a tree.
+ #
+ # @note might mutate handed in tree instead of creating a new one
+ # @param tree [Mustermann::AST::Node] to be transformed
+ # @return [Mustermann::AST::Node] transformed tree
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#15
+ def transform(tree); end
+ end
+end
+
+# Inserts with_look_ahead nodes wherever appropriate
+#
+# source://mustermann//lib/mustermann/ast/transformer.rb#105
+class Mustermann::AST::Transformer::ArrayTransform < ::Mustermann::AST::Transformer::NodeTranslator
+ # turn look ahead buffer into look ahead node
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#142
+ def create_lookahead(elements, *args); end
+
+ # can the current element deal with a look-ahead?
+ #
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#166
+ def expect_lookahead?(element); end
+
+ # helper method for deciding where to put an element for now
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#173
+ def list_for(element); end
+
+ # can the given element be used in a look-ahead?
+ #
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#149
+ def lookahead?(element, in_lookahead = T.unsafe(nil)); end
+
+ # buffer for potential look ahead
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#116
+ def lookahead_buffer; end
+
+ # does the list of elements look look-ahead-ish to you?
+ #
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#159
+ def lookahead_payload?(payload, in_lookahead); end
+
+ # the new array
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#110
+ def payload; end
+
+ # handle a single element from the array
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#129
+ def track(element); end
+
+ # transform the array
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#122
+ def translate; end
+end
+
+# URI expression transformations depending on operator
+#
+# source://mustermann//lib/mustermann/ast/transformer.rb#76
+class Mustermann::AST::Transformer::ExpressionTransform < ::Mustermann::AST::Transformer::NodeTranslator
+ # Sets operator and inserts separators in between variables.
+ #
+ # source://mustermann//lib/mustermann/ast/transformer.rb#93
+ def translate; end
+end
+
+# source://mustermann//lib/mustermann/ast/transformer.rb#84
+Mustermann::AST::Transformer::ExpressionTransform::OPERATORS = T.let(T.unsafe(nil), Hash)
+
+# source://mustermann//lib/mustermann/ast/transformer.rb#80
+class Mustermann::AST::Transformer::ExpressionTransform::Operator < ::Struct
+ def allow_reserved; end
+ def allow_reserved=(_); end
+ def parametric; end
+ def parametric=(_); end
+ def prefix; end
+ def prefix=(_); end
+ def separator; end
+ def separator=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# turn a group containing or nodes into a union
+#
+# source://mustermann//lib/mustermann/ast/transformer.rb#30
+class Mustermann::AST::Transformer::GroupTransformer < ::Mustermann::AST::Transformer::NodeTranslator
+ # source://mustermann//lib/mustermann/ast/transformer.rb#48
+ def group(elements); end
+
+ # source://mustermann//lib/mustermann/ast/transformer.rb#55
+ def split_payload; end
+
+ # source://mustermann//lib/mustermann/ast/transformer.rb#34
+ def translate; end
+
+ # source://mustermann//lib/mustermann/ast/transformer.rb#42
+ def union; end
+end
+
+# source://mustermann//lib/mustermann/ast/transformer.rb#0
+class Mustermann::AST::Transformer::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
+
+# inject a union node right inside the root node if it contains or nodes
+#
+# source://mustermann//lib/mustermann/ast/transformer.rb#64
+class Mustermann::AST::Transformer::RootTransformer < ::Mustermann::AST::Transformer::GroupTransformer
+ # source://mustermann//lib/mustermann/ast/transformer.rb#68
+ def union; end
+end
+
+# Implements translator pattern
+#
+# @abstract
+#
+# source://mustermann//lib/mustermann/ast/translator.rb#13
+class Mustermann::AST::Translator
+ # @param node [Mustermann::AST::Node, Object] to translate
+ # @raise [error_class]
+ # @return decorator encapsulating translation
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#105
+ def decorator_for(node); end
+
+ # source://mustermann//lib/mustermann/ast/translator.rb#67
+ def error_class; end
+
+ # @return [String] escaped character
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#121
+ def escape(char, parser: T.unsafe(nil), escape: T.unsafe(nil), also_escape: T.unsafe(nil)); end
+
+ # Start the translation dance for a (sub)tree.
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#113
+ def translate(node, *args, **_arg2, &block); end
+
+ class << self
+ # Enables quick creation of a translator object.
+ #
+ # @example
+ # require 'mustermann'
+ # require 'mustermann/ast/translator'
+ #
+ # translator = Mustermann::AST::Translator.create do
+ # translate(:node) { [type, *t(payload)].flatten.compact }
+ # translate(Array) { map { |e| t(e) } }
+ # translate(Object) { }
+ # end
+ #
+ # ast = Mustermann.new('/:name').to_ast
+ # translator.translate(ast) # => [:root, :separator, :capture]
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#95
+ def create(&block); end
+
+ # maps types to translations
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#51
+ def dispatch_table; end
+
+ # some magic sauce so {NodeTranslator}s know whom to talk to for {#register}
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#57
+ def inherited(subclass); end
+
+ # DSL-ish method for specifying the exception class to use.
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#66
+ def raises(error); end
+
+ # DSL method for defining single method translations.
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#72
+ def translate(*types, &block); end
+ end
+end
+
+# Encapsulates a single node translation
+#
+# source://mustermann//lib/mustermann/ast/translator.rb#16
+class Mustermann::AST::Translator::NodeTranslator
+ # @param node [Mustermann::AST::Node, Object]
+ # @param translator [Mustermann::AST::Translator]
+ # @return [NodeTranslator] a new instance of NodeTranslator
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#30
+ def initialize(node, translator); end
+
+ # source://delegate/0.3.1/delegate.rb#402
+ def node; end
+
+ # shorthand for translating a nested object
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#40
+ def t(*args, **_arg1, &block); end
+
+ # Returns the value of attribute translator.
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#36
+ def translator; end
+
+ class << self
+ # @param types [Array] list of types to register for.
+ #
+ # source://mustermann//lib/mustermann/ast/translator.rb#19
+ def register(*types); end
+ end
+end
+
+# Checks the AST for certain validations, like correct capture names.
+#
+# Internally a poor man's visitor (abusing translator to not have to implement a visitor).
+#
+# source://mustermann//lib/mustermann/ast/validation.rb#10
+class Mustermann::AST::Validation < ::Mustermann::AST::Translator
+ # @raise [Mustermann::CompileError] if name is not acceptable
+ #
+ # source://mustermann//lib/mustermann/ast/validation.rb#30
+ def check_name(name, forbidden: T.unsafe(nil)); end
+
+ # @return [Array] list of capture names in tree
+ #
+ # source://mustermann//lib/mustermann/ast/validation.rb#40
+ def names; end
+
+ class << self
+ # Runs validations.
+ #
+ # @param ast [Mustermann::AST::Node] to be validated
+ # @raise [Mustermann::AST::CompileError] if validation fails
+ # @return [Mustermann::AST::Node] the validated ast
+ #
+ # source://mustermann//lib/mustermann/ast/validation.rb#17
+ def validate(ast); end
+ end
+end
+
+# source://mustermann//lib/mustermann/ast/validation.rb#0
+class Mustermann::AST::Validation::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
+
+# Class for defining and running simple Hash transformations.
+#
+# @example
+# caster = Mustermann::Caster.new
+# caster.register(:foo) { |value| { bar: value.upcase } }
+# caster.cast(foo: "hello", baz: "world") # => { bar: "HELLO", baz: "world" }
+# @see Mustermann::Expander#cast
+#
+# source://mustermann//lib/mustermann/caster.rb#15
+class Mustermann::Caster
+ # @param types [Array] identifier for cast type (some need block)
+ # @return [Caster] a new instance of Caster
+ #
+ # source://mustermann//lib/mustermann/caster.rb#18
+ def initialize(*types, &block); end
+
+ # Transforms a Hash.
+ #
+ # @param hash [Hash] pre-transform Hash
+ # @return [Hash] post-transform Hash
+ #
+ # source://mustermann//lib/mustermann/caster.rb#45
+ def cast(hash); end
+
+ # @param type [Symbol, Regexp, #cast, #===] identifier for cast type (some need block)
+ # @return [#cast] specific cast operation
+ #
+ # source://mustermann//lib/mustermann/caster.rb#34
+ def caster_for(type, &block); end
+
+ # @param types [Array] identifier for cast type (some need block)
+ #
+ # source://mustermann//lib/mustermann/caster.rb#25
+ def register(*types, &block); end
+end
+
+# Class for block based casts that are triggered for every key/value pair.
+#
+# source://mustermann//lib/mustermann/caster.rb#58
+class Mustermann::Caster::Any
+ # @return [Any] a new instance of Any
+ #
+ # source://mustermann//lib/mustermann/caster.rb#60
+ def initialize(&block); end
+
+ # @see Mustermann::Caster#cast
+ #
+ # source://mustermann//lib/mustermann/caster.rb#66
+ def cast(key, value); end
+end
+
+# Class for block based casts that are triggered for key/value pairs with a matching key.
+#
+# source://mustermann//lib/mustermann/caster.rb#94
+class Mustermann::Caster::Key < ::Mustermann::Caster::Any
+ # @param type [#===] used for matching keys
+ # @return [Key] a new instance of Key
+ #
+ # source://mustermann//lib/mustermann/caster.rb#97
+ def initialize(type, &block); end
+
+ # @see Mustermann::Caster#cast
+ #
+ # source://mustermann//lib/mustermann/caster.rb#104
+ def cast(key, value); end
+end
+
+# Class for block based casts that are triggered for key/value pairs with a matching value.
+#
+# source://mustermann//lib/mustermann/caster.rb#77
+class Mustermann::Caster::Value < ::Mustermann::Caster::Any
+ # @param type [#===] used for matching values
+ # @return [Value] a new instance of Value
+ #
+ # source://mustermann//lib/mustermann/caster.rb#80
+ def initialize(type, &block); end
+
+ # @see Mustermann::Caster#cast
+ #
+ # source://mustermann//lib/mustermann/caster.rb#87
+ def cast(key, value); end
+end
+
+# Raised if anything goes wrong while compiling a {Pattern}.
+#
+# source://mustermann//lib/mustermann/error.rb#5
+class Mustermann::CompileError < ::Mustermann::Error; end
+
+# Class for pattern objects composed of multiple patterns using binary logic.
+#
+# @see Mustermann::Pattern#&
+# @see Mustermann::Pattern#|
+# @see Mustermann::Pattern#^
+#
+# source://mustermann//lib/mustermann/composite.rb#7
+class Mustermann::Composite < ::Mustermann::Pattern
+ # @return [Composite] a new instance of Composite
+ #
+ # source://mustermann//lib/mustermann/composite.rb#27
+ def initialize(patterns, operator: T.unsafe(nil), **options); end
+
+ # @see Mustermann::Pattern#==
+ #
+ # source://mustermann//lib/mustermann/composite.rb#33
+ def ==(pattern); end
+
+ # @see Mustermann::Pattern#===
+ #
+ # source://mustermann//lib/mustermann/composite.rb#48
+ def ===(string); end
+
+ # @return [Boolean]
+ # @see Mustermann::Pattern#eql?
+ #
+ # source://mustermann//lib/mustermann/composite.rb#38
+ def eql?(pattern); end
+
+ # Expanding is supported by almost all patterns (notable exceptions are {Mustermann::Shell},
+ # {Mustermann::Regular} and {Mustermann::Simple}).
+ #
+ # Union {Mustermann::Composite} patterns (with the | operator) support expanding if all
+ # patterns they are composed of also support it.
+ #
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :expand
+ # pattern.expand(name: "foo")
+ # else
+ # warn "does not support expanding"
+ # end
+ # @example Expanding a pattern
+ # pattern = Mustermann.new('/:name(.:ext)?')
+ # pattern.expand(name: 'hello') # => "/hello"
+ # pattern.expand(name: 'hello', ext: 'png') # => "/hello.png"
+ # @note This method is only implemented by certain subclasses.
+ # @param values [Hash{Symbol: #to_s, Array<#to_s>}] Values to use for expansion.
+ # @param behavior [Symbol] What to do with additional key/value pairs not present in the values hash.
+ # Possible options: :raise, :ignore, :append.
+ # @raise [NotImplementedError] raised if expand is not supported.
+ # @raise [Mustermann::ExpandError] raised if a value is missing or unknown
+ # @return [String] expanded string
+ # @see Mustermann::Expander
+ #
+ # source://mustermann//lib/mustermann/composite.rb#69
+ def expand(behavior = T.unsafe(nil), values = T.unsafe(nil)); end
+
+ # @see Mustermann::Pattern#hash
+ #
+ # source://mustermann//lib/mustermann/composite.rb#43
+ def hash; end
+
+ # source://mustermann//lib/mustermann/composite.rb#87
+ def inspect; end
+
+ # @see Mustermann::Pattern#match
+ #
+ # source://mustermann//lib/mustermann/composite.rb#58
+ def match(string); end
+
+ # Returns the value of attribute operator.
+ #
+ # source://mustermann//lib/mustermann/composite.rb#8
+ def operator; end
+
+ # @see Mustermann::Pattern#params
+ #
+ # source://mustermann//lib/mustermann/composite.rb#53
+ def params(string); end
+
+ # Returns the value of attribute patterns.
+ #
+ # source://mustermann//lib/mustermann/composite.rb#8
+ def patterns; end
+
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/composite.rb#63
+ def respond_to_special?(method); end
+
+ # source://mustermann//lib/mustermann/composite.rb#92
+ def simple_inspect; end
+
+ # @return [String] the string representation of the pattern
+ #
+ # source://mustermann//lib/mustermann/composite.rb#82
+ def to_s; end
+
+ # Generates a list of URI template strings representing the pattern.
+ #
+ # Note that this transformation is lossy and the strings matching these
+ # templates might not match the pattern (and vice versa).
+ #
+ # This comes in quite handy since URI templates are not made for pattern matching.
+ # That way you can easily use a more precise template syntax and have it automatically
+ # generate hypermedia links for you.
+ #
+ # Template generation is supported by almost all patterns (notable exceptions are
+ # {Mustermann::Shell}, {Mustermann::Regular} and {Mustermann::Simple}).
+ # Union {Mustermann::Composite} patterns (with the | operator) support template generation
+ # if all patterns they are composed of also support it.
+ #
+ # @example generating templates
+ # Mustermann.new("/:name").to_templates # => ["/{name}"]
+ # Mustermann.new("/:foo(@:bar)?/*baz").to_templates # => ["/{foo}@{bar}/{+baz}", "/{foo}/{+baz}"]
+ # Mustermann.new("/{name}", type: :template).to_templates # => ["/{name}"]
+ # @example generating templates from composite patterns
+ # pattern = Mustermann.new('/:name')
+ # pattern |= Mustermann.new('/{name}', type: :template)
+ # pattern |= Mustermann.new('/example/*nested')
+ # pattern.to_templates # => ["/{name}", "/example/{+nested}"]
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :to_templates
+ # pattern.to_templates
+ # else
+ # warn "does not support template generation"
+ # end
+ # @note This method is only implemented by certain subclasses.
+ # @return [Array] list of URI templates
+ #
+ # source://mustermann//lib/mustermann/composite.rb#76
+ def to_templates; end
+
+ private
+
+ # source://mustermann//lib/mustermann/composite.rb#105
+ def patterns_from(pattern, **options); end
+
+ # source://mustermann//lib/mustermann/composite.rb#98
+ def with_matching(string, method); end
+
+ class << self
+ # @return [Mustermann::Pattern] a new composite pattern
+ #
+ # source://mustermann//lib/mustermann/composite.rb#18
+ def new(*patterns, **options); end
+
+ # @return [Boolean]
+ # @see Mustermann::Pattern.supported?
+ #
+ # source://mustermann//lib/mustermann/composite.rb#12
+ def supported?(option, type: T.unsafe(nil), **options); end
+ end
+end
+
+# Class for pattern objects that are a concatenation of other patterns.
+#
+# @see Mustermann::Pattern#+
+#
+# source://mustermann//lib/mustermann/concat.rb#5
+class Mustermann::Concat < ::Mustermann::Composite
+ # Should not be used directly.
+ #
+ # @return [Concat] a new instance of Concat
+ #
+ # source://mustermann//lib/mustermann/concat.rb#43
+ def initialize(*_arg0, **_arg1); end
+
+ # @see Mustermann::Pattern#===
+ #
+ # source://mustermann//lib/mustermann/concat.rb#55
+ def ===(string); end
+
+ # Expanding is supported by almost all patterns (notable exceptions are {Mustermann::Shell},
+ # {Mustermann::Regular} and {Mustermann::Simple}).
+ #
+ # Union {Mustermann::Composite} patterns (with the | operator) support expanding if all
+ # patterns they are composed of also support it.
+ #
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :expand
+ # pattern.expand(name: "foo")
+ # else
+ # warn "does not support expanding"
+ # end
+ # @example Expanding a pattern
+ # pattern = Mustermann.new('/:name(.:ext)?')
+ # pattern.expand(name: 'hello') # => "/hello"
+ # pattern.expand(name: 'hello', ext: 'png') # => "/hello.png"
+ # @note This method is only implemented by certain subclasses.
+ # @param values [Hash{Symbol: #to_s, Array<#to_s>}] Values to use for expansion.
+ # @param behavior [Symbol] What to do with additional key/value pairs not present in the values hash.
+ # Possible options: :raise, :ignore, :append.
+ # @raise [NotImplementedError] raised if expand is not supported.
+ # @raise [Mustermann::ExpandError] raised if a value is missing or unknown
+ # @return [String] expanded string
+ # @see Mustermann::Expander
+ #
+ # source://mustermann//lib/mustermann/concat.rb#90
+ def expand(behavior = T.unsafe(nil), values = T.unsafe(nil)); end
+
+ # @see Mustermann::Pattern#match
+ #
+ # source://mustermann//lib/mustermann/concat.rb#60
+ def match(string); end
+
+ # @return [Symbol] always :+
+ # @see Mustermann::Composite#operator
+ #
+ # source://mustermann//lib/mustermann/concat.rb#50
+ def operator; end
+
+ # @see Mustermann::Pattern#params
+ #
+ # source://mustermann//lib/mustermann/concat.rb#66
+ def params(string); end
+
+ # @see Mustermann::Pattern#peek_match
+ #
+ # source://mustermann//lib/mustermann/concat.rb#77
+ def peek_match(string); end
+
+ # @see Mustermann::Pattern#peek_params
+ #
+ # source://mustermann//lib/mustermann/concat.rb#85
+ def peek_params(string); end
+
+ # @see Mustermann::Pattern#peek_size
+ #
+ # source://mustermann//lib/mustermann/concat.rb#72
+ def peek_size(string); end
+
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/concat.rb#103
+ def respond_to_special?(method); end
+
+ # Generates a list of URI template strings representing the pattern.
+ #
+ # Note that this transformation is lossy and the strings matching these
+ # templates might not match the pattern (and vice versa).
+ #
+ # This comes in quite handy since URI templates are not made for pattern matching.
+ # That way you can easily use a more precise template syntax and have it automatically
+ # generate hypermedia links for you.
+ #
+ # Template generation is supported by almost all patterns (notable exceptions are
+ # {Mustermann::Shell}, {Mustermann::Regular} and {Mustermann::Simple}).
+ # Union {Mustermann::Composite} patterns (with the | operator) support template generation
+ # if all patterns they are composed of also support it.
+ #
+ # @example generating templates
+ # Mustermann.new("/:name").to_templates # => ["/{name}"]
+ # Mustermann.new("/:foo(@:bar)?/*baz").to_templates # => ["/{foo}@{bar}/{+baz}", "/{foo}/{+baz}"]
+ # Mustermann.new("/{name}", type: :template).to_templates # => ["/{name}"]
+ # @example generating templates from composite patterns
+ # pattern = Mustermann.new('/:name')
+ # pattern |= Mustermann.new('/{name}', type: :template)
+ # pattern |= Mustermann.new('/example/*nested')
+ # pattern.to_templates # => ["/{name}", "/example/{+nested}"]
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :to_templates
+ # pattern.to_templates
+ # else
+ # warn "does not support template generation"
+ # end
+ # @note This method is only implemented by certain subclasses.
+ # @return [Array] list of URI templates
+ #
+ # source://mustermann//lib/mustermann/concat.rb#97
+ def to_templates; end
+
+ private
+
+ # generates one big AST from all patterns
+ # will not check if patterns support AST generation
+ #
+ # source://mustermann//lib/mustermann/concat.rb#129
+ def combined_ast; end
+
+ # used to generate results for various methods by scanning through an input string
+ #
+ # source://mustermann//lib/mustermann/concat.rb#110
+ def pump(string, inject_with: T.unsafe(nil), initial: T.unsafe(nil), with_size: T.unsafe(nil)); end
+end
+
+# Mixin for patterns to support native concatenation.
+#
+# source://mustermann//lib/mustermann/concat.rb#8
+module Mustermann::Concat::Native
+ # @see Mustermann::Pattern#+
+ #
+ # source://mustermann//lib/mustermann/concat.rb#11
+ def +(other); end
+
+ # source://mustermann//lib/mustermann/concat.rb#23
+ def look_ahead(other); end
+
+ private
+
+ # source://mustermann//lib/mustermann/concat.rb#29
+ def native_concat(other); end
+
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/concat.rb#34
+ def native_concat?(other); end
+end
+
+# Type to use if no type is given.
+#
+# @api private
+#
+# source://mustermann//lib/mustermann.rb#13
+Mustermann::DEFAULT_TYPE = T.let(T.unsafe(nil), Symbol)
+
+# A simple wrapper around ObjectSpace::WeakMap that allows matching keys by equality rather than identity.
+# Used for caching. Note that `fetch` is not guaranteed to return the object, even if it has not been
+# garbage collected yet, especially when used concurrently. Therefore, the block passed to `fetch` has to
+# be idempotent.
+#
+# @example
+# class ExpensiveComputation
+# @map = Mustermann::EqualityMap.new
+#
+# def self.new(*args)
+# @map.fetch(args) { super }
+# end
+# end
+# @see #fetch
+#
+# source://mustermann//lib/mustermann/equality_map.rb#18
+class Mustermann::EqualityMap
+ # @return [EqualityMap] a new instance of EqualityMap
+ #
+ # source://mustermann//lib/mustermann/equality_map.rb#25
+ def initialize; end
+
+ # @param key [#hash] for caching
+ # @return value stored in map or result of block
+ # @yield block that will be called to populate entry if missing (has to be idempotent)
+ #
+ # source://mustermann//lib/mustermann/equality_map.rb#33
+ def fetch(key); end
+
+ # Returns the value of attribute map.
+ #
+ # source://mustermann//lib/mustermann/equality_map.rb#19
+ def map; end
+
+ private
+
+ # Finalizer proc needs to be generated in different scope so it doesn't keep a reference to the object.
+ #
+ # @param hash [Integer] for key
+ # @return [Proc] finalizer callback
+ #
+ # source://mustermann//lib/mustermann/equality_map.rb#60
+ def finalizer(hash); end
+
+ # @param key [#hash] for identifying the object
+ # @param object [Object] to be stored
+ # @return [Object] same as the second parameter
+ #
+ # source://mustermann//lib/mustermann/equality_map.rb#49
+ def track(key, object); end
+
+ class << self
+ # source://mustermann//lib/mustermann/equality_map.rb#21
+ def new; end
+ end
+end
+
+# Raised if anything goes wrong while generating a {Pattern}.
+#
+# source://mustermann//lib/mustermann/error.rb#4
+class Mustermann::Error < ::StandardError; end
+
+# Raised if anything goes wrong while expanding a {Pattern}.
+#
+# source://mustermann//lib/mustermann/error.rb#7
+class Mustermann::ExpandError < ::Mustermann::Error; end
+
+# Allows fine-grained control over pattern expansion.
+#
+# @example
+# expander = Mustermann::Expander.new(additional_values: :append)
+# expander << "/users/:user_id"
+# expander << "/pages/:page_id"
+#
+# expander.expand(page_id: 58, format: :html5) # => "/pages/58?format=html5"
+#
+# source://mustermann//lib/mustermann/expander.rb#15
+class Mustermann::Expander
+ # @param patterns [Array<#to_str, Mustermann::Pattern>] list of patterns to expand, see {#add}.
+ # @param additional_values [Symbol] behavior when encountering additional values, see {#expand}.
+ # @param options [Hash] used when creating/expanding patterns, see {Mustermann.new}.
+ # @return [Expander] a new instance of Expander
+ #
+ # source://mustermann//lib/mustermann/expander.rb#21
+ def initialize(*patterns, additional_values: T.unsafe(nil), **options, &block); end
+
+ # Add patterns to expand.
+ #
+ # @example
+ # expander = Mustermann::Expander.new
+ # expander.add("/:a.jpg", "/:b.png")
+ # expander.expand(a: "pony") # => "/pony.jpg"
+ # @param patterns [Array<#to_str, Mustermann::Pattern>] list of to add for expansion, Strings will be compiled to patterns.
+ # @return [Mustermann::Expander] the expander
+ #
+ # source://mustermann//lib/mustermann/expander.rb#43
+ def <<(*patterns); end
+
+ # @see Object#==
+ #
+ # source://mustermann//lib/mustermann/expander.rb#158
+ def ==(other); end
+
+ # Add patterns to expand.
+ #
+ # @example
+ # expander = Mustermann::Expander.new
+ # expander.add("/:a.jpg", "/:b.png")
+ # expander.expand(a: "pony") # => "/pony.jpg"
+ # @param patterns [Array<#to_str, Mustermann::Pattern>] list of to add for expansion, Strings will be compiled to patterns.
+ # @return [Mustermann::Expander] the expander
+ #
+ # source://mustermann//lib/mustermann/expander.rb#43
+ def add(*patterns); end
+
+ # Returns the value of attribute additional_values.
+ #
+ # source://mustermann//lib/mustermann/expander.rb#16
+ def additional_values; end
+
+ # Register a block as simple hash transformation that runs before expanding the pattern.
+ #
+ # @overload cast
+ # @overload cast
+ # @overload cast
+ # @return [Mustermann::Expander] the expander
+ #
+ # source://mustermann//lib/mustermann/expander.rb#115
+ def cast(*types, &block); end
+
+ # @return [Boolean]
+ # @see Object#eql?
+ #
+ # source://mustermann//lib/mustermann/expander.rb#164
+ def eql?(other); end
+
+ # @example Handling additional values
+ # pattern = Mustermann::Expander.new('/:name', '/:name.:ext')
+ # pattern.expand(:ignore, name: 'hello', ext: 'png', scale: '2x') # => "/hello.png"
+ # pattern.expand(:append, name: 'hello', ext: 'png', scale: '2x') # => "/hello.png?scale=2x"
+ # pattern.expand(:raise, name: 'hello', ext: 'png', scale: '2x') # raises Mustermann::ExpandError
+ # @example Expanding a pattern
+ # pattern = Mustermann::Expander.new('/:name', '/:name.:ext')
+ # pattern.expand(name: 'hello') # => "/hello"
+ # pattern.expand(name: 'hello', ext: 'png') # => "/hello.png"
+ # @example Setting additional values behavior for the expander object
+ # pattern = Mustermann::Expander.new('/:name', '/:name.:ext', additional_values: :append)
+ # pattern.expand(name: 'hello', ext: 'png', scale: '2x') # => "/hello.png?scale=2x"
+ # @param values [Hash{Symbol: #to_s, Array<#to_s>}] Values to use for expansion.
+ # @param behavior [Symbol] What to do with additional key/value pairs not present in the values hash.
+ # Possible options: :raise, :ignore, :append.
+ # @raise [NotImplementedError] raised if expand is not supported.
+ # @raise [Mustermann::ExpandError] raised if a value is missing or unknown
+ # @return [String] expanded string
+ #
+ # source://mustermann//lib/mustermann/expander.rb#145
+ def expand(behavior = T.unsafe(nil), values = T.unsafe(nil)); end
+
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/expander.rb#174
+ def expandable?(values); end
+
+ # @see Object#hash
+ #
+ # source://mustermann//lib/mustermann/expander.rb#170
+ def hash; end
+
+ # Returns the value of attribute patterns.
+ #
+ # source://mustermann//lib/mustermann/expander.rb#16
+ def patterns; end
+
+ private
+
+ # source://mustermann//lib/mustermann/expander.rb#195
+ def append(uri, values); end
+
+ # Returns the value of attribute caster.
+ #
+ # source://mustermann//lib/mustermann/expander.rb#16
+ def caster; end
+
+ # source://mustermann//lib/mustermann/expander.rb#201
+ def map_values(values); end
+
+ # source://mustermann//lib/mustermann/expander.rb#191
+ def slice(hash, keys); end
+
+ # source://mustermann//lib/mustermann/expander.rb#185
+ def split_values(values); end
+
+ # @yield [expand(:raise, slice(values, expandable)), slice(values, non_expandable)]
+ #
+ # source://mustermann//lib/mustermann/expander.rb#180
+ def with_rest(values); end
+end
+
+# Matches strings that are identical to the pattern.
+#
+# @example
+# Mustermann.new('/:foo', type: :identity) === '/bar' # => false
+# @see Mustermann::Pattern
+# @see file:README.md#identity Syntax description in the README
+#
+# source://mustermann//lib/mustermann/identity.rb#14
+class Mustermann::Identity < ::Mustermann::Pattern
+ include ::Mustermann::Concat::Native
+
+ # @param string [String] The string to match against
+ # @return [Boolean] Whether or not the pattern matches the given string
+ # @see http://ruby-doc.org/core-2.0/Regexp.html#method-i-3D-3D-3D Regexp#===
+ #
+ # source://mustermann//lib/mustermann/identity.rb#21
+ def ===(string); end
+
+ # Identity patterns support expanding.
+ #
+ # This implementation does not use {Mustermann::Expander} internally to save memory and
+ # compilation time.
+ #
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :expand
+ # pattern.expand(name: "foo")
+ # else
+ # warn "does not support expanding"
+ # end
+ # @example Expanding a pattern
+ # pattern = Mustermann.new('/:name(.:ext)?')
+ # pattern.expand(name: 'hello') # => "/hello"
+ # pattern.expand(name: 'hello', ext: 'png') # => "/hello.png"
+ # @param behavior [Symbol] What to do with additional key/value pairs not present in the values hash.
+ # Possible options: :raise, :ignore, :append.
+ # @param values [Hash{Symbol: #to_s, Array<#to_s>}] Values to use for expansion.
+ # @raise [NotImplementedError] raised if expand is not supported.
+ # @raise [ExpandError]
+ # @raise [Mustermann::ExpandError] raised if a value is missing or unknown
+ # @return [String] expanded string
+ # @see Mustermann::Pattern#expand
+ # @see Mustermann::Expander
+ #
+ # source://mustermann//lib/mustermann/identity.rb#68
+ def expand(behavior = T.unsafe(nil), values = T.unsafe(nil)); end
+
+ # @param string [String] The string to match against
+ # @return [Integer, nil] the number of characters that match
+ #
+ # source://mustermann//lib/mustermann/identity.rb#28
+ def peek_size(string); end
+
+ # Generates an AST so it's compatible with {Mustermann::AST::Pattern}.
+ # Not used internally by {Mustermann::Identity}.
+ #
+ # source://mustermann//lib/mustermann/identity.rb#52
+ def to_ast; end
+
+ # URI templates support generating templates (the logic is quite complex, though).
+ #
+ # @example generating templates
+ # Mustermann.new("/:name").to_templates # => ["/{name}"]
+ # Mustermann.new("/:foo(@:bar)?/*baz").to_templates # => ["/{foo}@{bar}/{+baz}", "/{foo}/{+baz}"]
+ # Mustermann.new("/{name}", type: :template).to_templates # => ["/{name}"]
+ # @example generating templates from composite patterns
+ # pattern = Mustermann.new('/:name')
+ # pattern |= Mustermann.new('/{name}', type: :template)
+ # pattern |= Mustermann.new('/example/*nested')
+ # pattern.to_templates # => ["/{name}", "/example/{+nested}"]
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :to_templates
+ # pattern.to_templates
+ # else
+ # warn "does not support template generation"
+ # end
+ # @return [Array] list of URI templates
+ # @see Mustermann::Pattern#to_templates
+ #
+ # source://mustermann//lib/mustermann/identity.rb#45
+ def to_templates; end
+end
+
+# Raised if anything goes wrong while parsing a {Pattern}.
+#
+# source://mustermann//lib/mustermann/error.rb#6
+class Mustermann::ParseError < ::Mustermann::Error; end
+
+# Superclass for all pattern implementations.
+#
+# @abstract
+#
+# source://mustermann//lib/mustermann/pattern.rb#10
+class Mustermann::Pattern
+ include ::Mustermann
+
+ # @overload initialize
+ # @param string [String] the string representation of the pattern
+ # @param options [Hash] options for fine-tuning the pattern behavior
+ # @raise [Mustermann::Error] if the pattern can't be generated from the string
+ # @return [Pattern] a new instance of Pattern
+ # @see file:README.md#Types_and_Options "Types and Options" in the README
+ # @see Mustermann.new
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#75
+ def initialize(string, uri_decode: T.unsafe(nil), **options); end
+
+ # @overload |
+ # @overload &
+ # @overload ^
+ # @param other [Mustermann::Pattern, String] the other pattern
+ # @return [Mustermann::Pattern] a composite pattern
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#315
+ def &(other); end
+
+ # Creates a concatenated pattern by combingin self with the other pattern supplied.
+ # Patterns of different types can be mixed. The availability of `to_templates` and
+ # `expand` depends on the patterns being concatenated.
+ #
+ # String input is treated as identity pattern.
+ #
+ # @example
+ # require 'mustermann'
+ # prefix = Mustermann.new("/:prefix")
+ # about = prefix + "/about"
+ # about.params("/main/about") # => {"prefix" => "main"}
+ # @param other [Mustermann::Pattern, String] pattern to be appended
+ # @return [Mustermann::Pattern] concatenated pattern
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#336
+ def +(other); end
+
+ # Two patterns are considered equal if they are of the same type, have the same pattern string
+ # and the same options.
+ #
+ # @return [true, false]
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#119
+ def ==(other); end
+
+ # @note Needs to be overridden by subclass.
+ # @param string [String] The string to match against
+ # @raise [NotImplementedError]
+ # @return [Boolean] Whether or not the pattern matches the given string
+ # @see http://ruby-doc.org/core-2.0/Regexp.html#method-i-3D-3D-3D Regexp#===
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#106
+ def ===(string); end
+
+ # @param string [String] The string to match against
+ # @return [Integer, nil] nil if pattern does not match the string, zero if it does.
+ # @see http://ruby-doc.org/core-2.0/Regexp.html#method-i-3D-7E Regexp#=~
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#98
+ def =~(string); end
+
+ # @overload |
+ # @overload &
+ # @overload ^
+ # @param other [Mustermann::Pattern, String] the other pattern
+ # @return [Mustermann::Pattern] a composite pattern
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#315
+ def ^(other); end
+
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#391
+ def always_array?(key); end
+
+ # Two patterns are considered equal if they are of the same type, have the same pattern string
+ # and the same options.
+ #
+ # @return [true, false]
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#126
+ def eql?(other); end
+
+ # Expanding is supported by almost all patterns (notable exceptions are {Mustermann::Shell},
+ # {Mustermann::Regular} and {Mustermann::Simple}).
+ #
+ # Union {Mustermann::Composite} patterns (with the | operator) support expanding if all
+ # patterns they are composed of also support it.
+ #
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :expand
+ # pattern.expand(name: "foo")
+ # else
+ # warn "does not support expanding"
+ # end
+ # @example Expanding a pattern
+ # pattern = Mustermann.new('/:name(.:ext)?')
+ # pattern.expand(name: 'hello') # => "/hello"
+ # pattern.expand(name: 'hello', ext: 'png') # => "/hello.png"
+ # @note This method is only implemented by certain subclasses.
+ # @param values [Hash{Symbol: #to_s, Array<#to_s>}] Values to use for expansion.
+ # @param behavior [Symbol] What to do with additional key/value pairs not present in the values hash.
+ # Possible options: :raise, :ignore, :append.
+ # @raise [NotImplementedError] raised if expand is not supported.
+ # @raise [Mustermann::ExpandError] raised if a value is missing or unknown
+ # @return [String] expanded string
+ # @see Mustermann::Expander
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#240
+ def expand(behavior = T.unsafe(nil), values = T.unsafe(nil)); end
+
+ # Used by Ruby internally for hashing.
+ #
+ # @return [Integer] same has value for patterns that are equal
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#112
+ def hash; end
+
+ # source://mustermann//lib/mustermann/pattern.rb#366
+ def inspect; end
+
+ # @param string [String] The string to match against
+ # @return [MatchData, Mustermann::SimpleMatch, nil] MatchData or similar object if the pattern matches.
+ # @see http://ruby-doc.org/core-2.0/Regexp.html#method-i-match Regexp#match
+ # @see http://ruby-doc.org/core-2.0/MatchData.html MatchData
+ # @see Mustermann::SimpleMatch
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#91
+ def match(string); end
+
+ # @return [Hash{String: Array}] capture names mapped to capture index.
+ # @see http://ruby-doc.org/core-2.0/Regexp.html#method-i-named_captures Regexp#named_captures
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#192
+ def named_captures; end
+
+ # @return [Array] capture names.
+ # @see http://ruby-doc.org/core-2.0/Regexp.html#method-i-names Regexp#names
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#198
+ def names; end
+
+ # options hash passed to new (with unsupported options removed)
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#67
+ def options; end
+
+ # @param string [String] the string to match against
+ # @return [Hash{String: String, Array}, nil] Sinatra style params if pattern matches.
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#204
+ def params(string = T.unsafe(nil), captures: T.unsafe(nil), offset: T.unsafe(nil)); end
+
+ # Tries to match the pattern against the beginning of the string (as opposed to the full string).
+ # Will return the substring if it matches.
+ #
+ # @example
+ # pattern = Mustermann.new('/:name')
+ # pattern.peek("/Frank/Sinatra") # => "/Frank"
+ # @param string [String] The string to match against
+ # @return [String, nil] matched subsctring
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#153
+ def peek(string); end
+
+ # Tries to match the pattern against the beginning of the string (as opposed to the full string).
+ # Will return a MatchData or similar instance for the matched substring.
+ #
+ # @example
+ # pattern = Mustermann.new('/:name')
+ # pattern.peek("/Frank/Sinatra") # => #
+ # @param string [String] The string to match against
+ # @return [MatchData, Mustermann::SimpleMatch, nil] MatchData or similar object if the pattern matches.
+ # @see #peek_params
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#168
+ def peek_match(string); end
+
+ # Tries to match the pattern against the beginning of the string (as opposed to the full string).
+ # Will return a two element Array with the params parsed from the substring as first entry and the length of
+ # the substring as second.
+ #
+ # @example
+ # pattern = Mustermann.new('/:name')
+ # params, _ = pattern.peek_params("/Frank/Sinatra")
+ #
+ # puts "Hello, #{params['name']}!" # Hello, Frank!
+ # @param string [String] The string to match against
+ # @return [Array, nil] Array with params hash and length of substing if matched, nil otherwise
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#185
+ def peek_params(string); end
+
+ # Tries to match the pattern against the beginning of the string (as opposed to the full string).
+ # Will return the count of the matching characters if it matches.
+ #
+ # @example
+ # pattern = Mustermann.new('/:name')
+ # pattern.size("/Frank/Sinatra") # => 6
+ # @param string [String] The string to match against
+ # @return [Integer, nil] the number of characters that match
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#139
+ def peek_size(string); end
+
+ # @return [Boolean]
+ # @see Object#respond_to?
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#353
+ def respond_to?(method, *args); end
+
+ # source://mustermann//lib/mustermann/pattern.rb#371
+ def simple_inspect; end
+
+ # @example
+ # pattern = Mustermann.new('/:a/:b')
+ # strings = ["foo/bar", "/foo/bar", "/foo/bar/"]
+ # strings.detect(&pattern) # => "/foo/bar"
+ # @return [Proc] proc wrapping {#===}
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#346
+ def to_proc; end
+
+ # @return [String] the string representation of the pattern
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#82
+ def to_s; end
+
+ # Generates a list of URI template strings representing the pattern.
+ #
+ # Note that this transformation is lossy and the strings matching these
+ # templates might not match the pattern (and vice versa).
+ #
+ # This comes in quite handy since URI templates are not made for pattern matching.
+ # That way you can easily use a more precise template syntax and have it automatically
+ # generate hypermedia links for you.
+ #
+ # Template generation is supported by almost all patterns (notable exceptions are
+ # {Mustermann::Shell}, {Mustermann::Regular} and {Mustermann::Simple}).
+ # Union {Mustermann::Composite} patterns (with the | operator) support template generation
+ # if all patterns they are composed of also support it.
+ #
+ # @example generating templates
+ # Mustermann.new("/:name").to_templates # => ["/{name}"]
+ # Mustermann.new("/:foo(@:bar)?/*baz").to_templates # => ["/{foo}@{bar}/{+baz}", "/{foo}/{+baz}"]
+ # Mustermann.new("/{name}", type: :template).to_templates # => ["/{name}"]
+ # @example generating templates from composite patterns
+ # pattern = Mustermann.new('/:name')
+ # pattern |= Mustermann.new('/{name}', type: :template)
+ # pattern |= Mustermann.new('/example/*nested')
+ # pattern.to_templates # => ["/{name}", "/example/{+nested}"]
+ # @example Checking if a pattern supports expanding
+ # if pattern.respond_to? :to_templates
+ # pattern.to_templates
+ # else
+ # warn "does not support template generation"
+ # end
+ # @note This method is only implemented by certain subclasses.
+ # @raise [NotImplementedError]
+ # @return [Array] list of URI templates
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#279
+ def to_templates; end
+
+ # Returns the value of attribute uri_decode.
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#63
+ def uri_decode; end
+
+ # @overload |
+ # @overload &
+ # @overload ^
+ # @param other [Mustermann::Pattern, String] the other pattern
+ # @return [Mustermann::Pattern] a composite pattern
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#315
+ def |(other); end
+
+ private
+
+ # source://mustermann//lib/mustermann/pattern.rb#377
+ def map_param(key, value); end
+
+ # @return [Boolean]
+ # @see #respond_to?
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#361
+ def respond_to_special?(method); end
+
+ # source://mustermann//lib/mustermann/pattern.rb#382
+ def unescape(string, decode = T.unsafe(nil)); end
+
+ class << self
+ # @overload new
+ # @param string [String] the string representation of the pattern
+ # @param options [Hash] options for fine-tuning the pattern behavior
+ # @raise [ArgumentError] if some option is not supported
+ # @raise [Mustermann::Error] if the pattern can't be generated from the string
+ # @return [Mustermann::Pattern] a new instance of Mustermann::Pattern
+ # @see #initialize
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#50
+ def new(string, ignore_unknown_options: T.unsafe(nil), **options); end
+
+ # Registers the pattern with Mustermann.
+ #
+ # @see Mustermann.register
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#34
+ def register(*names); end
+
+ # @param option [Symbol] The option to check.
+ # @return [Boolean] Whether or not option is supported.
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#40
+ def supported?(option, **options); end
+
+ # List of supported options.
+ #
+ # @overload supported_options
+ # @overload supported_options
+ #
+ # source://mustermann//lib/mustermann/pattern.rb#24
+ def supported_options(*list); end
+ end
+end
+
+# source://mustermann//lib/mustermann/pattern.rb#388
+Mustermann::Pattern::ALWAYS_ARRAY = T.let(T.unsafe(nil), Array)
+
+# Superclass for patterns that internally compile to a regular expression.
+#
+# @abstract
+# @see Mustermann::Pattern
+#
+# source://mustermann//lib/mustermann/regexp_based.rb#9
+class Mustermann::RegexpBased < ::Mustermann::Pattern
+ extend ::Forwardable
+
+ # @param string [String] the string representation of the pattern
+ # @param options [Hash] options for fine-tuning the pattern behavior
+ # @return [Pattern] a new instance of Pattern
+ # @see file:README.md#Types_and_Options "Types and Options" in the README
+ # @see Mustermann.new
+ #
+ # source://mustermann//lib/mustermann/regexp_based.rb#17
+ def initialize(string, **options); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def ===(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def =~(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def match(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def named_captures(*args, **_arg1, &block); end
+
+ # source://forwardable/1.3.3/forwardable.rb#231
+ def names(*args, **_arg1, &block); end
+
+ # @param string [String] The string to match against
+ # @return [MatchData, Mustermann::SimpleMatch, nil] MatchData or similar object if the pattern matches.
+ # @see #peek_params
+ #
+ # source://mustermann//lib/mustermann/regexp_based.rb#35
+ def peek_match(string); end
+
+ # @param string [String] The string to match against
+ # @return [Integer, nil] the number of characters that match
+ #
+ # source://mustermann//lib/mustermann/regexp_based.rb#27
+ def peek_size(string); end
+
+ # @return [Regexp] regular expression equivalent to the pattern.
+ #
+ # source://mustermann//lib/mustermann/regexp_based.rb#11
+ def regexp; end
+
+ # @return [Regexp] regular expression equivalent to the pattern.
+ #
+ # source://mustermann//lib/mustermann/regexp_based.rb#11
+ def to_regexp; end
+
+ private
+
+ # @raise [NotImplementedError]
+ #
+ # source://mustermann//lib/mustermann/regexp_based.rb#42
+ def compile(**options); end
+end
+
+# Regexp pattern implementation.
+#
+# @example
+# Mustermann.new('/.*', type: :regexp) === '/bar' # => true
+# @see Mustermann::Pattern
+# @see file:README.md#simple Syntax description in the README
+#
+# source://mustermann//lib/mustermann/regular.rb#14
+class Mustermann::Regular < ::Mustermann::RegexpBased
+ include ::Mustermann::Concat::Native
+
+ # @param string [String] the string representation of the pattern
+ # @param options [Hash] options for fine-tuning the pattern behavior
+ # @return [Pattern] a new instance of Pattern
+ # @see file:README.md#Types_and_Options "Types and Options" in the README
+ # @see Mustermann.new
+ #
+ # source://mustermann//lib/mustermann/regular.rb#22
+ def initialize(string, check_anchors: T.unsafe(nil), **options); end
+
+ private
+
+ # @raise [CompileError]
+ #
+ # source://mustermann//lib/mustermann/regular.rb#38
+ def check_anchors(scanner); end
+
+ # source://mustermann//lib/mustermann/regular.rb#29
+ def compile(**options); end
+
+ # @return [Boolean]
+ #
+ # source://mustermann//lib/mustermann/regular.rb#44
+ def extended_regexp?(string); end
+end
+
+# Fakes MatchData for patterns that do not support capturing.
+#
+# @see http://ruby-doc.org/core-2.0/MatchData.html MatchData
+#
+# source://mustermann//lib/mustermann/simple_match.rb#5
+class Mustermann::SimpleMatch
+ # @api private
+ # @return [SimpleMatch] a new instance of SimpleMatch
+ #
+ # source://mustermann//lib/mustermann/simple_match.rb#7
+ def initialize(string = T.unsafe(nil), names: T.unsafe(nil), captures: T.unsafe(nil)); end
+
+ # source://mustermann//lib/mustermann/simple_match.rb#38
+ def +(other); end
+
+ # @return [nil] imitates MatchData interface
+ #
+ # source://mustermann//lib/mustermann/simple_match.rb#29
+ def [](*args); end
+
+ # @return [Array] empty array for imitating MatchData interface
+ #
+ # source://mustermann//lib/mustermann/simple_match.rb#24
+ def captures; end
+
+ # @return [String] string representation
+ #
+ # source://mustermann//lib/mustermann/simple_match.rb#45
+ def inspect; end
+
+ # @return [Array] empty array for imitating MatchData interface
+ #
+ # source://mustermann//lib/mustermann/simple_match.rb#19
+ def names; end
+
+ # @return [String] the string that was matched against
+ #
+ # source://mustermann//lib/mustermann/simple_match.rb#14
+ def to_s; end
+end
+
+# Sinatra 2.0 style pattern implementation.
+#
+# @example
+# Mustermann.new('/:foo') === '/bar' # => true
+# @see Mustermann::Pattern
+# @see file:README.md#sinatra Syntax description in the README
+#
+# source://mustermann//lib/mustermann/sinatra/parser.rb#3
+class Mustermann::Sinatra < ::Mustermann::AST::Pattern
+ include ::Mustermann::Concat::Native
+
+ # Generates a string represenation of the pattern that can safely be used for def interpolation
+ # without changing its semantics.
+ #
+ # @example
+ # require 'mustermann'
+ # unsafe = Mustermann.new("/:name")
+ #
+ # Mustermann.new("#{unsafe}bar").params("/foobar") # => { "namebar" => "foobar" }
+ # Mustermann.new("#{unsafe.safe_string}bar").params("/foobar") # => { "name" => "bar" }
+ # @return [String] string representatin of the pattern
+ #
+ # source://mustermann//lib/mustermann/sinatra.rb#76
+ def safe_string; end
+
+ # Creates a pattern that matches any string matching either one of the patterns.
+ # If a string is supplied, it is treated as a fully escaped Sinatra pattern.
+ #
+ # If the other pattern is also a Sintara pattern, it might join the two to a third
+ # sinatra pattern instead of generating a composite for efficiency reasons.
+ #
+ # This only happens if the sinatra pattern behaves exactly the same as a composite
+ # would in regards to matching, parsing, expanding and template generation.
+ #
+ # @example
+ # pattern = Mustermann.new('/foo/:name') | Mustermann.new('/:first/:second')
+ # pattern === '/foo/bar' # => true
+ # pattern === '/fox/bar' # => true
+ # pattern === '/foo' # => false
+ # @param other [Mustermann::Pattern, String] the other pattern
+ # @return [Mustermann::Pattern] a composite pattern
+ # @see Mustermann::Pattern#|
+ #
+ # source://mustermann//lib/mustermann/sinatra.rb#59
+ def |(other); end
+
+ private
+
+ # source://mustermann//lib/mustermann/sinatra.rb#81
+ def native_concat(other); end
+
+ class << self
+ # Takes a string and espaces any characters that have special meaning for Sinatra patterns.
+ #
+ # @example
+ # require 'mustermann/sinatra'
+ # Mustermann::Sinatra.escape("/:name") # => "/\\:name"
+ # @param string [#to_s] the input string
+ # @return [String] the escaped string
+ #
+ # source://mustermann//lib/mustermann/sinatra.rb#29
+ def escape(string); end
+
+ # Tries to convert the given input object to a Sinatra pattern with the given options, without
+ # changing its parsing semantics.
+ #
+ # @return [Mustermann::Sinatra, nil] the converted pattern, if possible
+ #
+ # source://mustermann//lib/mustermann/sinatra.rb#37
+ def try_convert(input, **options); end
+ end
+end
+
+# Sinatra syntax definition.
+#
+# source://mustermann//lib/mustermann/sinatra/parser.rb#6
+class Mustermann::Sinatra::Parser < ::Mustermann::AST::Parser; end
+
+# Generates a string that can safely be concatenated with other strings
+# without chaning its semantics
+#
+# @see #safe_string
+#
+# source://mustermann//lib/mustermann/sinatra/safe_renderer.rb#8
+Mustermann::Sinatra::SafeRenderer = T.let(T.unsafe(nil), T.untyped)
+
+# Tries to translate objects to Sinatra patterns.
+#
+# source://mustermann//lib/mustermann/sinatra/try_convert.rb#6
+class Mustermann::Sinatra::TryConvert < ::Mustermann::AST::Translator
+ # @return [TryConvert] a new instance of TryConvert
+ #
+ # source://mustermann//lib/mustermann/sinatra/try_convert.rb#18
+ def initialize(options); end
+
+ # @return [Mustermann::Sinatra]
+ #
+ # source://mustermann//lib/mustermann/sinatra/try_convert.rb#24
+ def new(input, escape = T.unsafe(nil)); end
+
+ # Expected options for the resulting pattern.
+ #
+ # source://mustermann//lib/mustermann/sinatra/try_convert.rb#15
+ def options; end
+
+ # @return [true, false] whether or not expected pattern should have uri_decode option set
+ #
+ # source://mustermann//lib/mustermann/sinatra/try_convert.rb#31
+ def uri_decode; end
+
+ class << self
+ # @return [Mustermann::Sinatra, nil]
+ #
+ # source://mustermann//lib/mustermann/sinatra/try_convert.rb#9
+ def convert(input, **options); end
+ end
+end
+
+# source://mustermann//lib/mustermann/sinatra/try_convert.rb#0
+class Mustermann::Sinatra::TryConvert::NodeTranslator < ::Mustermann::AST::Translator::NodeTranslator
+ class << self
+ # source://mustermann//lib/mustermann/ast/translator.rb#59
+ def translator; end
+ end
+end
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 0000000..5bf3b8b
--- /dev/null
+++ b/sorbet/rbi/gems/net-http@0.4.1.rbi
@@ -0,0 +1,4069 @@
+# 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 0000000..4ae989b
--- /dev/null
+++ b/sorbet/rbi/gems/netrc@0.11.0.rbi
@@ -0,0 +1,159 @@
+# 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/nio4r@2.7.3.rbi b/sorbet/rbi/gems/nio4r@2.7.3.rbi
new file mode 100644
index 0000000..158dcda
--- /dev/null
+++ b/sorbet/rbi/gems/nio4r@2.7.3.rbi
@@ -0,0 +1,9 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `nio4r` gem.
+# Please instead update this file by running `bin/tapioca gem nio4r`.
+
+
+# THIS IS AN EMPTY RBI FILE.
+# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
diff --git a/sorbet/rbi/gems/octokit@9.1.0.rbi b/sorbet/rbi/gems/octokit@9.1.0.rbi
new file mode 100644
index 0000000..2fa0a50
--- /dev/null
+++ b/sorbet/rbi/gems/octokit@9.1.0.rbi
@@ -0,0 +1,11555 @@
+# 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#17
+ def client; end
+
+ # EnterpriseAdminClient client based on configured options {Configurable}
+ #
+ # @return [Octokit::EnterpriseAdminClient] API wrapper
+ #
+ # source://octokit//lib/octokit.rb#26
+ def enterprise_admin_client; end
+
+ # EnterpriseManagementConsoleClient client based on configured options {Configurable}
+ #
+ # @return [Octokit::EnterpriseManagementConsoleClient] API wrapper
+ #
+ # source://octokit//lib/octokit.rb#37
+ def enterprise_management_console_client; end
+
+ # ManageGHESClient client based on configured options {Configurable}
+ #
+ # @return [Octokit::ManageGHESClient] API wrapper
+ #
+ # source://octokit//lib/octokit.rb#48
+ def manage_ghes_client; end
+
+ private
+
+ # source://octokit//lib/octokit.rb#65
+ def method_missing(method_name, *args, &block); end
+
+ # @return [Boolean]
+ #
+ # source://octokit//lib/octokit.rb#58
+ 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#281
+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#293
+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#363
+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#353
+class Octokit::BadGateway < ::Octokit::ServerError; end
+
+# Raised when GitHub returns a 400 HTTP status code
+#
+# source://octokit//lib/octokit/error.rb#232
+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#297
+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#312
+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::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#141
+ 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#226
+ 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#194
+ 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#234
+ 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#242
+ 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#250
+ def client_secret=(value); end
+
+ # source://octokit//lib/octokit/client.rb#255
+ 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#161
+ def inspect; end
+
+ # Set username for authentication
+ #
+ # @param value [String] GitHub username
+ #
+ # source://octokit//lib/octokit/client.rb#210
+ def login=(value); end
+
+ # Set password for authentication
+ #
+ # @param value [String] GitHub password
+ #
+ # source://octokit//lib/octokit/client.rb#218
+ 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
+
+ # Returns a delivery for the webhook configured for a GitHub App.
+ #
+ # @param delivery_id [String] The id of a GitHub App Hook Delivery
+ # @param options [Hash] A customizable set of options
+ # @return [] The webhook delivery
+ # @see https://docs.github.com/en/rest/apps/webhooks#get-a-delivery-for-an-app-webhook
+ #
+ # source://octokit//lib/octokit/client/apps.rb#242
+ def app_hook_delivery(delivery_id, 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#254
+ 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#139
+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 ref [String] A SHA, branch name, or tag name
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @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 ref [String] A SHA, branch name, or tag name
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @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#11
+module Octokit::Client::CodeScanning
+ # Delete a specified code scanning analysis from a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param analysis_id [Integer] ID of the code scanning analysis
+ # @return [Sawyer::Resource] Next Code Scanning Analysis Information
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#delete-a-code-scanning-analysis-from-a-repository
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#67
+ def delete_code_scanning_analysis(repo, analysis_id, options = T.unsafe(nil)); end
+
+ # Gets a single code scanning alert
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param alert_number [Integer] The number that identifies an alert
+ # @return [Sawyer::Resource] Code Scanning Alert
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#get-a-code-scanning-alert
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#126
+ def get_code_scanning_alert(repo, alert_number, options = T.unsafe(nil)); end
+
+ # Get a code scanning analysis for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param analysis_id [Integer] ID of the code scanning analysis
+ # @return [Sawyer::Resource] Code Scanning Analysis
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#78
+ def get_code_scanning_analysis(repo, analysis_id, options = T.unsafe(nil)); end
+
+ # Get Code Scanning Default Configuration
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Sawyer::Resource] CodeQl Default Setup Configuration Information
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#35
+ def get_code_scanning_default_config(repo, options = T.unsafe(nil)); end
+
+ # Gets a CodeQL database for a language in a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param language [String]
+ # @return [Sawyer::Resource] CodeQl Default Setup Configuration Information
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#get-a-codeql-database-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#46
+ def get_codeql_database_for_repo(repo, language, options = T.unsafe(nil)); end
+
+ # 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#174
+ def get_sarif_upload_information(repo, sarif_id, options = T.unsafe(nil)); end
+
+ # List code scanning alerts for an organization
+ #
+ # @param org [String] A GitHub organization
+ # @return [Array] Code Scanning Alert information
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#146
+ def list_code_scanning_alerts_for_org(org, options = T.unsafe(nil)); end
+
+ # List code scanning alerts for a repository
+ #
+ # @param org [String] A GitHub organization
+ # @return [Array] Code Scanning Alert information
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#136
+ def list_code_scanning_alerts_for_repo(repo, options = T.unsafe(nil)); end
+
+ # List code scanning analyses for a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] List of Code Scanning Analyses
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#88
+ def list_code_scanning_analysis(repo, options = T.unsafe(nil)); end
+
+ # Lists the CodeQL databases that are available in a repository
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @return [Array] List of CodeQL Databases
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#list-codeql-databases-for-a-repository
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#56
+ def list_codeql_database_for_repo(repo, options = T.unsafe(nil)); end
+
+ # List instances of a code scanning alert
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param alert_number [Integer] The number that identifies an alert
+ # @return [Array] List of Code Scanning Alerts
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#99
+ def list_instances_of_code_scanning_alert(repo, alert_number, options = T.unsafe(nil)); end
+
+ # Update a code scanning alert
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param alert_number [Integer] The number that identifies an alert
+ # @param state [String] The reason for dismissing or closing the alert. Required when the state is dismissed
+ # @return [Sawyer::Resource] Code Scanning Alert information
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#update-a-code-scanning-alert
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#111
+ def update_code_scanning_alert(repo, alert_number, state, reason, comment = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Updates a code scanning default setup configuration
+ #
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param state [String] The desired state of code scanning default setup
+ # @param query_suite [String] CodeQL query suite to be used
+ # @param languages [Array] List of CodeQL languages to be analyzed
+ # @return [Sawyer::Resource] Action Run information
+ # @see https://docs.github.com/en/rest/code-scanning/code-scanning#update-a-code-scanning-default-setup-configuration
+ #
+ # source://octokit//lib/octokit/client/code_scanning.rb#21
+ def update_code_scanning_default_config(repo, state, query_suite = T.unsafe(nil), languages = T.unsafe(nil), 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#159
+ def upload_sarif_data(repo, file, sha, ref, options = T.unsafe(nil)); end
+
+ private
+
+ # source://octokit//lib/octokit/client/code_scanning.rb#180
+ 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 line [Integer] Line number in the file to comment on
+ # @param position [Integer] Line index in the diff to comment on
+ # @param path [String] Relative path of file 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#8
+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#59
+ 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#59
+ 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#155
+ 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#34
+ 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#34
+ 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#59
+ 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#59
+ 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 path [String] A path for the content to delete
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @param message [String] A commit message for deleting the content
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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#136
+ 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 path [String] A path for the content to delete
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @param message [String] A commit message for deleting the content
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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#136
+ 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#19
+ 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 path [String] A path for the content to delete
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @param message [String] A commit message for deleting the content
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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#136
+ 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 path [String] A path for the content to delete
+ # @param sha [String] The _blob sha_ of the content to delete
+ # @param options [Hash] a customizable set of options
+ # @param message [String] A commit message for deleting the content
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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#136
+ 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#109
+ 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#109
+ 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 environment_name [String] The name of the environment
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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#43
+ 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#53
+ 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 options [Hash] a customizable set of options
+ # @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 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.
+ # @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 config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook.
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @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 name [String] The name of the service that is being called. See
+ # {https://api.github.com/hooks Hooks} for the possible names.
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository.
+ # @param id [Integer] Id of the hook being updated.
+ # @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 options [Hash] a customizable set of options
+ # @param config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook.
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] Id of the hook to update.
+ # @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 options [Hash] a customizable set of options
+ # @param config [Hash] A Hash containing key/value pairs to provide
+ # settings for this hook.
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @param id [Integer] Id of the hook to update.
+ # @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 the authenticated user across repositories
+ # @client = Octokit::Client.new(:login => 'foo', :password => 'bar')
+ # @client.list_issues
+ # @example List issues for a repository
+ # Octokit.list_issues("sferik/rails_admin")
+ # @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 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'
+ # })
+ # @example Get the comments for issues in the octokit repository
+ # @client.issues_comments("octokit/octokit.rb")
+ # @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 the authenticated user across repositories
+ # @client = Octokit::Client.new(:login => 'foo', :password => 'bar')
+ # @client.list_issues
+ # @example List issues for a repository
+ # Octokit.list_issues("sferik/rails_admin")
+ # @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 number [Integer] Issue number
+ # @param options [Hash] Header params for request
+ # @param assignees [Array] Assignees to be removed
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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 only the assignee of Issue #25
+ # Octokit.update_issue("octokit/octokit.rb", "25", :assignee => "pengwynn")
+ # @example Change the title of Issue #25
+ # Octokit.update_issue("octokit/octokit.rb", "25", "A new title", "the same body")
+ # @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 label [String] The name of the label which will be updated
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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 all notifications since a certain time.
+ # @client.notifications({all: true, since: '2012-10-09T23:39:01Z'})
+ # @example Get users notifications
+ # @client.notifications
+ # @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 since a time.
+ # @client.repository_notifications({since: '2012-10-09T23:39:01Z'})
+ # @example Get your notifications for octokit/octokit.rb
+ # @client.repository_notifications('octokit/octokit.rb')
+ # @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 since a time.
+ # @client.repository_notifications({since: '2012-10-09T23:39:01Z'})
+ # @example Get your notifications for octokit/octokit.rb
+ # @client.repository_notifications('octokit/octokit.rb')
+ # @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 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.
+ # @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`.
+ # @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_repo(100000, 'github/developer.github.com')
+ # @example
+ # @client.add_team_repository(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 repo [String, Hash, Repository] A GitHub repository.
+ # @param team_id [Integer] Team id.
+ # @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_repo(100000, 'github/developer.github.com')
+ # @example
+ # @client.add_team_repository(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 repo [String, Hash, Repository] A GitHub repository.
+ # @param team_id [Integer] Team id.
+ # @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 team_slug_or_id [String, Integer] Team slug or Team ID.
+ # @param repo [String] Name of the repo to check permissions against.
+ # @param owner [String] Owner name for the repository.
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @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_org('github', {:company => 'Unicorns, Inc.'})
+ # @example
+ # @client.update_organization('github', {
+ # :billing_email => 'support@github.com',
+ # :company => 'GitHub',
+ # :email => 'support@github.com',
+ # :location => 'San Francisco',
+ # :name => 'github'
+ # })
+ # @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 options [Hash] a customizable set of options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @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_org('github', {:company => 'Unicorns, Inc.'})
+ # @example
+ # @client.update_organization('github', {
+ # :billing_email => 'support@github.com',
+ # :company => 'GitHub',
+ # :email => 'support@github.com',
+ # :location => 'San Francisco',
+ # :name => 'github'
+ # })
+ # @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 options [Hash] a customizable set of options
+ # @param org [String, Integer] Organization GitHub login or id.
+ # @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 a project with name and body
+ # @client.create_org_project("octokit", "octocan", body: 'Improve clients')
+ # @example Create with only a name
+ # @client.create_org_project("octocat", "make more octocats")
+ # @option options
+ # @param name [String] Project name
+ # @param org [String] A GitHub organization
+ # @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 a project with name and body
+ # @client.create_org_project("octokit", "octocan", body: 'Improve clients')
+ # @example Create with only a name
+ # @client.create_org_project("octocat", "make more octocats")
+ # @option options
+ # @param name [String] Project name
+ # @param org [String] A GitHub organization
+ # @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 name and body
+ # @client.create_project('octokit/octokit.rb', 'bugs be gone', body: 'Fix all the bugs @joeyw creates')
+ # @example Create project with only a name
+ # @client.create_project('octokit/octokit.rb', 'implement new APIs')
+ # @option options
+ # @param name [String] Project name
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @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 for an repository issue
+ # @client.create_project_card(123495, content_id: 1, content_type: 'Issue')
+ # @example Create a project card with a note
+ # @client.create_project_card(123495, note: 'New note card')
+ # @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 top of another column
+ # @client.move_project_card(123495, 'top', column_id: 59402)
+ # @example Move a card to the bottom of the same column
+ # @client.move_project_card(123495, 'bottom')
+ # @option options
+ # @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 id [Integer] Project card 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 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 pull_id [Integer] Pull request id
+ # @param body [String] Comment content
+ # @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'.
+ # @param commit_id [String] Sha of the commit to comment on.
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @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 body [String] The body for the pull request (optional). Supports GFM.
+ # @param title [String] Title for the pull request
+ # @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 pull_id [Integer] Pull request id
+ # @param body [String] Comment content
+ # @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'.
+ # @param commit_id [String] Sha of the commit to comment on.
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @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 pull_id [Integer] Pull request id
+ # @param body [String] Comment content
+ # @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'.
+ # @param commit_id [String] Sha of the commit to comment on.
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @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] Array of pulls
+ # @see https://developer.github.com/v3/pulls/#list-pull-requests
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#19
+ def pull_requests(repo, options = T.unsafe(nil)); end
+
+ # List pull request comments for a repository
+ #
+ # By default, Review Comments are ordered by ascending ID.
+ #
+ # @example Get review comments, sort by updated asc since a time
+ # @client.pull_requests_comments("octokit/octokit.rb", {
+ # :sort => 'updated',
+ # :direction => 'asc',
+ # :since => '2010-05-04T23:45:02Z'
+ # })
+ # @example Get the pull request review comments in the octokit repository
+ # @client.issues_comments("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Array] List of pull request review comments.
+ # @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#160
+ def pull_requests_comments(repo, options = T.unsafe(nil)); end
+
+ # List pull requests for a repository
+ #
+ # @example
+ # Octokit.pull_requests('rails/rails', :state => 'closed')
+ # @overload pull_requests
+ # @return [Array] Array of pulls
+ # @see https://developer.github.com/v3/pulls/#list-pull-requests
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#19
+ def pulls(repo, options = T.unsafe(nil)); end
+
+ # List pull request comments for a repository
+ #
+ # By default, Review Comments are ordered by ascending ID.
+ #
+ # @example Get review comments, sort by updated asc since a time
+ # @client.pull_requests_comments("octokit/octokit.rb", {
+ # :sort => 'updated',
+ # :direction => 'asc',
+ # :since => '2010-05-04T23:45:02Z'
+ # })
+ # @example Get the pull request review comments in the octokit repository
+ # @client.issues_comments("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Array] List of pull request review comments.
+ # @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#160
+ def pulls_comments(repo, 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 review_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 review_comments(repo, number, options = T.unsafe(nil)); end
+
+ # List pull request comments for a repository
+ #
+ # By default, Review Comments are ordered by ascending ID.
+ #
+ # @example Get review comments, sort by updated asc since a time
+ # @client.pull_requests_comments("octokit/octokit.rb", {
+ # :sort => 'updated',
+ # :direction => 'asc',
+ # :since => '2010-05-04T23:45:02Z'
+ # })
+ # @example Get the pull request review comments in the octokit repository
+ # @client.issues_comments("octokit/octokit.rb")
+ # @option options
+ # @option options
+ # @option options
+ # @param repo [Integer, String, Repository, Hash] A GitHub repository
+ # @param options [Hash] Optional parameters
+ # @return [Array] List of pull request review comments.
+ # @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#160
+ def reviews_comments(repo, options = T.unsafe(nil)); end
+
+ # Update pull request comment
+ #
+ # @example
+ # @client.update_pull_request_comment("octokit/octokit.rb", 1903950, ":shipit:")
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of the comment to update
+ # @param body [String] Updated comment content
+ # @return [Sawyer::Resource] Hash representing the updated comment
+ # @see https://developer.github.com/v3/pulls/comments/#edit-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#250
+ def update_pull_comment(repo, comment_id, body, options = T.unsafe(nil)); end
+
+ # Update a pull request
+ #
+ # @example
+ # @client.update_pull_request('octokit/octokit.rb', 67, 'new title', 'updated body', 'closed')
+ # @example Passing nil for optional attributes to update specific attributes.
+ # @client.update_pull_request('octokit/octokit.rb', 67, nil, nil, 'open')
+ # @example Empty body by passing empty string
+ # @client.update_pull_request('octokit/octokit.rb', 67, nil, '')
+ # @overload update_pull_request
+ # @overload update_pull_request
+ # @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#104
+ def update_pull_request(*args); end
+
+ # Update a pull request branch
+ #
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] Number of pull request
+ # @param options [Hash] Optional parameters (e.g. expected_head_sha)
+ # @return [Boolean] True if the pull request branch has been updated
+ # @see https://developer.github.com/v3/pulls/#update-a-pull-request-branch
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#289
+ def update_pull_request_branch(repo, number, options = T.unsafe(nil)); end
+
+ # Update pull request comment
+ #
+ # @example
+ # @client.update_pull_request_comment("octokit/octokit.rb", 1903950, ":shipit:")
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of the comment to update
+ # @param body [String] Updated comment content
+ # @return [Sawyer::Resource] Hash representing the updated comment
+ # @see https://developer.github.com/v3/pulls/comments/#edit-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#250
+ def update_pull_request_comment(repo, comment_id, body, options = T.unsafe(nil)); end
+
+ # Update pull request comment
+ #
+ # @example
+ # @client.update_pull_request_comment("octokit/octokit.rb", 1903950, ":shipit:")
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param comment_id [Integer] Id of the comment to update
+ # @param body [String] Updated comment content
+ # @return [Sawyer::Resource] Hash representing the updated comment
+ # @see https://developer.github.com/v3/pulls/comments/#edit-a-comment
+ #
+ # source://octokit//lib/octokit/client/pull_requests.rb#250
+ def update_review_comment(repo, comment_id, body, options = T.unsafe(nil)); end
+end
+
+# Methods for API rate limiting info
+#
+# @see https://developer.github.com/v3/#rate-limiting
+#
+# source://octokit//lib/octokit/client/rate_limit.rb#8
+module Octokit::Client::RateLimit
+ # Get rate limit info from last response if available
+ # or make a new request to fetch rate limit
+ #
+ # @return [Octokit::RateLimit] Rate limit info
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#14
+ def rate_limit(_options = T.unsafe(nil)); end
+
+ # Refresh rate limit info by making a new request
+ #
+ # @return [Octokit::RateLimit] Rate limit info
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#35
+ def rate_limit!(_options = T.unsafe(nil)); end
+
+ # Get number of rate limted requests remaining
+ #
+ # @return [Integer] Number of requests remaining in this period
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#25
+ def rate_limit_remaining(_options = T.unsafe(nil)); end
+
+ # Refresh rate limit info and get number of rate limted requests remaining
+ #
+ # @return [Integer] Number of requests remaining in this period
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#45
+ def rate_limit_remaining!(_options = T.unsafe(nil)); end
+
+ # Get rate limit info from last response if available
+ # or make a new request to fetch rate limit
+ #
+ # @return [Octokit::RateLimit] Rate limit info
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#14
+ def ratelimit(_options = T.unsafe(nil)); end
+
+ # Refresh rate limit info by making a new request
+ #
+ # @return [Octokit::RateLimit] Rate limit info
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#35
+ def ratelimit!(_options = T.unsafe(nil)); end
+
+ # Get number of rate limted requests remaining
+ #
+ # @return [Integer] Number of requests remaining in this period
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#25
+ def ratelimit_remaining(_options = T.unsafe(nil)); end
+
+ # Refresh rate limit info and get number of rate limted requests remaining
+ #
+ # @return [Integer] Number of requests remaining in this period
+ # @see https://developer.github.com/v3/rate_limit/#rate-limit
+ #
+ # source://octokit//lib/octokit/client/rate_limit.rb#45
+ def ratelimit_remaining!(_options = T.unsafe(nil)); end
+end
+
+# Methods for the Reacions API
+#
+# @see https://developer.github.com/v3/reactions/
+#
+# source://octokit//lib/octokit/client/reactions.rb#8
+module Octokit::Client::Reactions
+ # List reactions for a commit comment
+ #
+ # @example
+ # @client.commit_comment_reactions("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The id of the commit comment
+ # @return [Array] Array of Hashes representing the reactions.
+ # @see https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#19
+ def commit_comment_reactions(repo, id, options = T.unsafe(nil)); end
+
+ # Create a reaction for a commit comment
+ #
+ # @example
+ # @client.create_commit_comment_reactions("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The id of the commit comment
+ # @param reaction [String] The Reaction
+ # @return [] Hash representing the reaction
+ # @see https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment
+ # @see https://developer.github.com/v3/reactions/#reaction-types
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#35
+ def create_commit_comment_reaction(repo, id, reaction, options = T.unsafe(nil)); end
+
+ # Create reaction for an issue comment
+ #
+ # @example
+ # @client.create_issue_comment_reaction("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The Issue comment id
+ # @param reaction [String] The Reaction
+ # @return [] Hashes representing the reaction.
+ # @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment
+ # @see https://developer.github.com/v3/reactions/#reaction-types
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#100
+ def create_issue_comment_reaction(repo, id, reaction, options = T.unsafe(nil)); end
+
+ # Create reaction for an issue
+ #
+ # @example
+ # @client.create_issue_reaction("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] The Issue number
+ # @param reaction [String] The Reaction
+ # @return [] Hash representing the reaction.
+ # @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue
+ # @see https://developer.github.com/v3/reactions/#reaction-types
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#67
+ def create_issue_reaction(repo, number, reaction, options = T.unsafe(nil)); end
+
+ # Create reaction for a pull request review comment
+ #
+ # @example
+ # @client.create_pull_request_reiew_comment_reaction("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The Issue comment id
+ # @param reaction [String] The Reaction
+ # @return [] Hash representing the reaction.
+ # @see https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment
+ # @see https://developer.github.com/v3/reactions/#reaction-types
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#133
+ def create_pull_request_review_comment_reaction(repo, id, reaction, options = T.unsafe(nil)); end
+
+ # Create reaction for a release
+ #
+ # @example
+ # @client.create_release_reaction("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The Release id
+ # @param reaction [String] The Reaction
+ # @return [] Hash representing the reaction.
+ # @see https://docs.github.com/en/free-pro-team@latest/rest/reactions/reactions?apiVersion=2022-11-28#create-reaction-for-a-release
+ # @see https://developer.github.com/v3/reactions/#reaction-types
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#182
+ def create_release_reaction(repo, release_id, reaction, options = T.unsafe(nil)); end
+
+ # Delete a reaction
+ #
+ # @example
+ # @client.delete_issue_reaction("octokit/octokit.rb", 1, 2)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param issue_id [Integer] The Issue comment id
+ # @param reaction_id [Integer] The Reaction id
+ # @return [Boolean] Return true if reaction was deleted, false otherwise.
+ # @see https://docs.github.com/en/rest/reactions/reactions#delete-an-issue-reaction
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#150
+ def delete_issue_reaction(repo, issue_id, reaction_id, options = T.unsafe(nil)); end
+
+ # Delete a reaction for a release
+ #
+ # @example
+ # @client.delete_release_reaction("octokit/octokit.rb", 1, 2)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param issue_id [Integer] The Release id
+ # @param reaction_id [Integer] The Reaction id
+ # @return [Boolean] Return true if reaction was deleted, false otherwise.
+ # @see https://docs.github.com/en/free-pro-team@latest/rest/reactions/reactions?apiVersion=2022-11-28#delete-a-release-reaction
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#199
+ def delete_release_reaction(repo, release_id, reaction_id, options = T.unsafe(nil)); end
+
+ # List reactions for an issue comment
+ #
+ # @example
+ # @client.issue_comment_reactions("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param id [Integer] The Issue comment id
+ # @return [Array] Array of Hashes representing the reactions.
+ # @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment
+ #
+ # source://octokit//lib/octokit/client/reactions.rb#83
+ def issue_comment_reactions(repo, id, options = T.unsafe(nil)); end
+
+ # List reactions for an issue
+ #
+ # @example
+ # @client.issue_reactions("octokit/octokit.rb", 1)
+ # @param repo [Integer, String, Hash, Repository] A GitHub repository
+ # @param number [Integer] The Issue number
+ # @return [Array