class Steep__Signature__Error def initialize: (signature: Steep__Signature) -> any def signature: -> Steep__Signature def puts: (any) -> any end class Steep__Signature__Errors__UnknownTypeName <: Steep__Signature__Error def initialize: (signature: Steep__Signature, type: Steep__Type) -> any def type: -> Steep__Type end class Steep__BlockType def params: -> Steep__MethodParams def return_type: -> Steep__Type end class Steep__MethodParams def each_type: { (Steep__Type) -> any } -> instance end class Steep__MethodType def substitute: (klass: Steep__Type, instance: Steep__Type, params: Hash) -> Steep__MethodType def updated: (?type_params: Array, ?params: Steep__MethodParams, ?block: any, ?return_type: Steep__Type) -> Steep__MethodType def params: -> Steep__MethodParams def return_type: -> Steep__Type def block: -> Steep__BlockType end class Steep__Interface def initialize: (name: Symbol, methods: Hash) -> any end class Steep__Method def initialize: (types: Array, super_method: Steep__Method) -> any def substitute: (klass: Steep__Type, instance: Steep__Type, params: Hash) -> Steep__Method def types: -> Array end class Steep__Signature end class Steep__Signature__Member end class Steep__Signature__Errors__IncompatibleOverride <: Steep__Signature__Error def initialize: (signature: Steep__Signature, method_name: Symbol, this_method: Steep__Method, super_method: Steep__Method) -> any def method_name: -> Symbol def this_method: -> Steep__Method def super_method: -> Steep__Method end class Steep__SignatureMember__Method <: Steep__Signature__Member def initialize: (name: Symbol, types: Array) -> any def name: -> Symbol def types: -> Array end class Steep__SignatureMember__Include <: Steep__Signature__Member def initialize: (name: Symbol) -> any def name: -> Symbol end class Steep__SignatureMember__Extend <: Steep__Signature__Member def initialize: (name: Symbol) -> any def name: -> Symbol end interface _Steep__SignatureMember__Mixin def name: -> Steep__Type end interface _Steep__WithMethods def instance_methods: (assignability: any, klass: Steep__Type, instance: Steep__Type, params: Array) -> Hash def module_methods: (assignability: any, klass: Steep__Type, instance: Steep__Type, params: Array) -> Hash def type_application_hash: (Array) -> Hash def members: -> Array def is_class?: -> _Boolean end module Steep__Signature__WithMethods : _Steep__WithMethods def instance_methods: (assignability: any, klass: Steep__Type, instance: Steep__Type, params: Array) -> Hash def module_methods: (assignability: any, klass: Steep__Type, instance: Steep__Type, params: Array) -> Hash def merge_methods: (Hash, Hash) -> Hash end interface _Steep__WithMembers def members: -> Array def params: -> Array end module Steep__Signature__WithMembers : _Steep__WithMembers def each_type: { (Steep__Type) -> any } -> any def validate_mixins: (any, Steep__Interface) -> any end interface _Steep__WithParams end module Steep__Signature__WithParams : _Steep__WithParams def type_application_hash: (Array) -> Hash end class Steep__Signature__Module include Steep__Signature__WithMethods include Steep__Signature__WithMembers include Steep__Signature__WithParams def initialize: (name: Symbol, params: Array, members: Array, self_type: Steep__Type) -> any def name: -> Symbol def params: -> Array def members: -> Array def self_type: -> Steep__Type def is_class?: -> _Boolean end class Steep__Signature__Class include Steep__Signature__WithMethods include Steep__Signature__WithMembers include Steep__Signature__WithParams def initialize: (name: Symbol, params: Array, members: Array, super_class: Steep__Types__Name) -> any def name: -> Symbol def params: -> Array def members: -> Array def super_class: -> Steep__Types__Name def is_class?: -> _Boolean end class Steep__Signature__Extension def initialize: (module_name: Symbol, extension_name: Symbol, members: Array) -> any def module_name: -> Symbol def extension_name: -> Symbol def members: -> Array def name: -> Symbol end class Steep__Signature__Interface def initialize: (name: Symbol, params: Array, methods: Hash>) -> any def name: -> Symbol def params: -> Array def methods: -> Hash> def to_interface: (klass: Steep__Type, instance: Steep__Type, params: Array) -> any def validate: (any) -> any end