# sig/dry/configurable/config.rbs

class Dry::Configurable::Config
  def self.create: () -> untyped
  def []: () -> untyped
  def []=: () -> untyped
  def clone: () -> untyped
  def dup: () -> untyped
  def initialize: () -> void
  def raise_unknown_setting_error: () -> untyped
  def setting?: () -> untyped
  def to_h: () -> untyped
end


# sig/dry/configurable/config/value.rbs

class Dry::Configurable::Config::Value
  def initialize: () -> void
  def none?: () -> untyped
  def value: () -> untyped
end


# sig/dry/configurable/nested_config.rbs

class Dry::Configurable::NestedConfig
  def config: () -> untyped
  def create_config: () -> untyped
  def initialize: () -> void
  def method_missing: () -> untyped
  def respond_to_missing?: () -> untyped
end


# sig/dry/configurable.rbs

module Dry::Configurable
  def self.extended: () -> untyped
  def _config_for: () -> untyped
  def _settings: () -> untyped
  def config: () -> untyped
  def configure: () -> untyped
  def create_config: () -> untyped
  def create_config_for_nested_configurations: () -> untyped
  def enable_test_interface: () -> untyped
  def inherited: () -> untyped
  def nested_configs: () -> untyped
  def setting: () -> untyped
  def settings: () -> untyped
end


# sig/dry/configurable/test_interface.rbs

module Dry::Configurable::TestInterface
  def reset_config: () -> untyped
end
