# sig/dry/types/array.rbs

class Dry::Types::Array < Dry::Types::Definition
  def member: () -> untyped
end


# sig/dry/types/array/member.rbs

class Dry::Types::Array::Member < Dry::Types::Array::Array
  def call: () -> untyped
  def initialize: () -> void
  def try: () -> untyped
  def valid?: () -> untyped
end


# sig/dry/types/compiler.rbs

class Dry::Types::Compiler
  def call: () -> untyped
  def initialize: () -> void
  def merge_with: () -> untyped
  def visit: () -> untyped
  def visit_array: () -> untyped
  def visit_constructor: () -> untyped
  def visit_form_array: () -> untyped
  def visit_form_hash: () -> untyped
  def visit_hash: () -> untyped
  def visit_json_array: () -> untyped
  def visit_json_hash: () -> untyped
  def visit_key: () -> untyped
  def visit_sum: () -> untyped
  def visit_type: () -> untyped
end


# sig/dry/types/constrained.rbs

class Dry::Types::Constrained
  def call: () -> untyped
  def constrained: () -> untyped
  def constrained?: () -> untyped
  def decorate?: () -> untyped
  def initialize: () -> void
  def try: () -> untyped
  def valid?: () -> untyped
end


# sig/dry/types/constrained/coercible.rbs

class Dry::Types::Constrained::Coercible < Dry::Types::Constrained::Constrained
  def try: () -> untyped
end


# sig/dry/types/errors.rbs

class Dry::Types::ConstraintError < Dry::Types::TypeError
  def initialize: () -> void
  def to_s: () -> untyped
end


# sig/dry/types/constructor.rbs

class Dry::Types::Constructor < Dry::Types::Definition
  def self.new: () -> untyped
  def call: () -> untyped
  def constrained_type: () -> untyped
  def constructor: () -> untyped
  def initialize: () -> void
  def method_missing: () -> untyped
  def primitive: () -> untyped
  def respond_to_missing?: () -> untyped
  def try: () -> untyped
  def valid?: () -> untyped
end


# sig/dry/types/default.rbs

class Dry::Types::Default
  def self.[]: () -> untyped
  def call: () -> untyped
  def constrained: () -> untyped
  def default?: () -> untyped
  def initialize: () -> void
  def try: () -> untyped
end


# sig/dry/types/default.rbs

class Dry::Types::Default::Callable < Dry::Types::Default::Default
  def evaluate: () -> untyped
end


# sig/dry/types/definition.rbs

class Dry::Types::Definition
  def self.[]: () -> untyped
  def call: () -> untyped
  def constrained?: () -> untyped
  def default?: () -> untyped
  def failure: () -> untyped
  def initialize: () -> void
  def name: () -> untyped
  def primitive?: () -> untyped
  def result: () -> untyped
  def success: () -> untyped
  def try: () -> untyped
end


# sig/dry/types/enum.rbs

class Dry::Types::Enum
  def call: () -> untyped
  def initialize: () -> void
end


# sig/dry/types/extensions/maybe.rbs

class Dry::Types::Hash
  def permissive: () -> untyped
  def resolve_missing_value: () -> untyped
  def schema: () -> untyped
  def strict: () -> untyped
  def strict_with_defaults: () -> untyped
  def symbolized: () -> untyped
  def weak: () -> untyped
end


# sig/dry/types/hash/schema.rbs

class Dry::Types::Hash::Permissive < Dry::Types::Hash::Schema
  def resolve_missing_value: () -> untyped
end


# sig/dry/types/extensions/maybe.rbs

class Dry::Types::Hash::Schema < Dry::Types::Hash::Hash
  def call: () -> untyped
  def coerce: () -> untyped
  def initialize: () -> void
  def resolve: () -> untyped
  def resolve_missing_value: () -> untyped
  def try: () -> untyped
  def try_coerce: () -> untyped
end


# sig/dry/types/hash/schema.rbs

class Dry::Types::Hash::Strict < Dry::Types::Hash::Permissive
  def resolve: () -> untyped
end


# sig/dry/types/extensions/maybe.rbs

class Dry::Types::Hash::StrictWithDefaults < Dry::Types::Hash::Strict
  def resolve_missing_value: () -> untyped
end


# sig/dry/types/hash/schema.rbs

class Dry::Types::Hash::Symbolized < Dry::Types::Hash::Weak
  def resolve: () -> untyped
end


# sig/dry/types/hash/schema.rbs

class Dry::Types::Hash::Weak < Dry::Types::Hash::Schema
  def self.new: () -> untyped
  def try: () -> untyped
end


# sig/dry/types/extensions/maybe.rbs

class Dry::Types::Maybe
  def call: () -> untyped
  def default: () -> untyped
  def maybe?: () -> untyped
  def try: () -> untyped
end


# sig/dry/types/errors.rbs

class Dry::Types::MissingKeyError < Dry::Types::SchemaKeyError
  def initialize: () -> void
end


# sig/dry/types/result.rbs

class Dry::Types::Result
  def initialize: () -> void
end


# sig/dry/types/result.rbs

class Dry::Types::Result::Failure < Dry::Types::Result::Result
  def failure?: () -> untyped
  def initialize: () -> void
  def success?: () -> untyped
  def to_s: () -> untyped
end


# sig/dry/types/result.rbs

class Dry::Types::Result::Success < Dry::Types::Result::Result
  def failure?: () -> untyped
  def success?: () -> untyped
end


# sig/dry/types/safe.rbs

class Dry::Types::Safe
  def call: () -> untyped
  def decorate?: () -> untyped
  def try: () -> untyped
end


# sig/dry/types/errors.rbs

class Dry::Types::SchemaError < Dry::Types::TypeError
  def initialize: () -> void
end


# sig/dry/types/sum.rbs

class Dry::Types::Sum
  def call: () -> untyped
  def constrained?: () -> untyped
  def default?: () -> untyped
  def initialize: () -> void
  def maybe?: () -> untyped
  def name: () -> untyped
  def primitive?: () -> untyped
  def try: () -> untyped
  def valid?: () -> untyped
end


# sig/dry/types/sum.rbs

class Dry::Types::Sum::Constrained < Dry::Types::Sum::Sum
  def call: () -> untyped
  def constrained?: () -> untyped
  def rule: () -> untyped
end


# sig/dry/types/errors.rbs

class Dry::Types::UnknownKeysError < Dry::Types::SchemaKeyError
  def initialize: () -> void
end


# sig/dry/types.rbs

module Dry::Types
  def self.Rule: () -> untyped
  def self.[]: () -> untyped
  def self.container: () -> untyped
  def self.define_constants: () -> untyped
  def self.finalize: () -> untyped
  def self.identifier: () -> untyped
  def self.module: () -> untyped
  def self.register: () -> untyped
  def self.register_class: () -> untyped
  def self.rule_compiler: () -> untyped
  def self.type_keys: () -> untyped
  def self.type_map: () -> untyped
end


# sig/dry/types/builder.rbs

module Dry::Types::Builder
  def constrained: () -> untyped
  def constrained_type: () -> untyped
  def constructor: () -> untyped
  def default: () -> untyped
  def enum: () -> untyped
  def maybe: () -> untyped
  def optional: () -> untyped
  def safe: () -> untyped
  def |: () -> untyped
end


# sig/dry/types/coercions.rbs

module Dry::Types::Coercions
  def empty_str?: () -> untyped
  def to_date: () -> untyped
  def to_date_time: () -> untyped
  def to_nil: () -> untyped
  def to_time: () -> untyped
end


# sig/dry/types/coercions/form.rbs

module Dry::Types::Coercions::Form
  def self.to_ary: () -> untyped
  def self.to_decimal: () -> untyped
  def self.to_false: () -> untyped
  def self.to_float: () -> untyped
  def self.to_hash: () -> untyped
  def self.to_int: () -> untyped
  def self.to_true: () -> untyped
end


# sig/dry/types/coercions/json.rbs

module Dry::Types::Coercions::JSON
  def self.to_decimal: () -> untyped
end


# sig/dry/types/decorator.rbs

module Dry::Types::Decorator
  def constrained?: () -> untyped
  def constructor: () -> untyped
  def decorate?: () -> untyped
  def default?: () -> untyped
  def initialize: () -> void
  def method_missing: () -> untyped
  def respond_to_missing?: () -> untyped
  def try: () -> untyped
  def valid?: () -> untyped
end


# sig/dry/types/extensions/maybe.rbs

module Dry::Types::Hash::MaybeTypes
  def resolve_missing_value: () -> untyped
end


# sig/dry/types/options.rbs

module Dry::Types::Options
  def initialize: () -> void
  def meta: () -> untyped
  def with: () -> untyped
end
