# sig/bindata/params.rbs

class BinData::AcceptedParametersMixin::AcceptedParameters
  def self.invalid_parameter_names: () -> untyped
  def all: () -> untyped
  def default: () -> untyped
  def ensure_valid_names: () -> untyped
  def initialize: () -> void
  def mandatory: () -> untyped
  def mutually_exclusive: () -> untyped
  def optional: () -> untyped
  def to_syms: () -> untyped
end


# sig/bindata/array.rbs

class BinData::Array < BinData::BinData::Base
  def []: () -> untyped
  def []=: () -> untyped
  def append_new_element: () -> untyped
  def assign: () -> untyped
  def at: () -> untyped
  def clear: () -> untyped
  def clear?: () -> untyped
  def concat: () -> untyped
  def debug_name_of: () -> untyped
  def do_num_bytes: () -> untyped
  def do_read: () -> untyped
  def do_write: () -> untyped
  def each: () -> untyped
  def elements: () -> untyped
  def empty?: () -> untyped
  def extend_array: () -> untyped
  def find_index: () -> untyped
  def find_index_of: () -> untyped
  def first: () -> untyped
  def initialize_instance: () -> untyped
  def initialize_shared_instance: () -> untyped
  def insert: () -> untyped
  def last: () -> untyped
  def length: () -> untyped
  def new_element: () -> untyped
  def offset_of: () -> untyped
  def push: () -> untyped
  def read_until: () -> untyped
  def read_until_condition: () -> untyped
  def read_until_eof: () -> untyped
  def sanitize_parameters!: () -> untyped
  def slice_index: () -> untyped
  def slice_range: () -> untyped
  def slice_start_length: () -> untyped
  def snapshot: () -> untyped
  def sum_num_bytes_below_index: () -> untyped
  def sum_num_bytes_for_all_elements: () -> untyped
  def to_ary: () -> untyped
  def to_storage_formats: () -> untyped
  def unshift: () -> untyped
end


# sig/bindata/base.rbs

class BinData::Base
  def self.sanitize_parameters!: () -> untyped
  def ==: () -> untyped
  def =~: () -> untyped
  def _assign: () -> untyped
  def _do_num_bytes: () -> untyped
  def _do_read: () -> untyped
  def _do_write: () -> untyped
  def _snapshot: () -> untyped
  def arg_extractor: () -> untyped
  def assign: () -> untyped
  def bindata_name: () -> untyped
  def clear: () -> untyped
  def clear?: () -> untyped
  def debug_name: () -> untyped
  def debug_name_of: () -> untyped
  def do_num_bytes: () -> untyped
  def do_read: () -> untyped
  def do_write: () -> untyped
  def eval_parameter: () -> untyped
  def extract_args: () -> untyped
  def furthest_ancestor: () -> untyped
  def get_parameter: () -> untyped
  def has_parameter?: () -> untyped
  def initialize: () -> void
  def initialize_instance: () -> untyped
  def initialize_instance: () -> untyped
  def initialize_shared_instance: () -> untyped
  def initialize_with_deprecation: () -> untyped
  def inspect: () -> untyped
  def lazy_evaluator: () -> untyped
  def new: () -> untyped
  def num_bytes: () -> untyped
  def offset: () -> untyped
  def offset_of: () -> untyped
  def pretty_print: () -> untyped
  def read: () -> untyped
  def read: () -> untyped
  def reading?: () -> untyped
  def register: () -> untyped
  def register_self: () -> untyped
  def register_subclasses: () -> untyped
  def rel_offset: () -> untyped
  def safe_respond_to?: () -> untyped
  def snapshot: () -> untyped
  def to_binary_s: () -> untyped
  def to_s: () -> untyped
  def unregister_self: () -> untyped
  def write: () -> untyped
end


# sig/bindata/base.rbs

class BinData::BaseArgExtractor
  def self.extract: () -> untyped
end


# sig/bindata/alignment.rbs

class BinData::BasePrimitive < BinData::BinData::Base
  def self.bit_aligned: () -> untyped
  def <=>: () -> untyped
  def _value: () -> untyped
  def _value_with_initial_value: () -> untyped
  def _value_with_value: () -> untyped
  def assign: () -> untyped
  def check_value: () -> untyped
  def clear: () -> untyped
  def clear?: () -> untyped
  def do_num_bytes: () -> untyped
  def do_read: () -> untyped
  def do_read_with_check_value: () -> untyped
  def do_write: () -> untyped
  def eql?: () -> untyped
  def hash: () -> untyped
  def hook_after_do_read: () -> untyped
  def initialize_instance: () -> untyped
  def initialize_shared_instance: () -> untyped
  def method_missing: () -> untyped
  def null_method: () -> untyped
  def read_and_return_value: () -> untyped
  def respond_to?: () -> untyped
  def sensible_default: () -> untyped
  def snapshot: () -> untyped
  def trace_value: () -> untyped
  def turn_off_tracing: () -> untyped
  def turn_on_tracing: () -> untyped
  def value: () -> untyped
  def value_to_binary_string: () -> untyped
end


# sig/bindata/alignment.rbs

class BinData::BitAligned::BitAlignedIO
  def initialize: () -> void
  def method_missing: () -> untyped
  def readbytes: () -> untyped
end


# sig/bindata/choice.rbs

class BinData::Choice < BinData::BinData::Base
  def assign: () -> untyped
  def choices_as_hash: () -> untyped
  def clear: () -> untyped
  def clear?: () -> untyped
  def copy_previous_value: () -> untyped
  def current_choice: () -> untyped
  def do_num_bytes: () -> untyped
  def do_read: () -> untyped
  def do_write: () -> untyped
  def ensure_valid_keys: () -> untyped
  def get_or_instantiate_choice: () -> untyped
  def get_previous_choice: () -> untyped
  def hook_after_current_choice: () -> untyped
  def hook_before_do_read: () -> untyped
  def initialize_instance: () -> untyped
  def initialize_shared_instance: () -> untyped
  def instantiate_choice: () -> untyped
  def key_array_by_index: () -> untyped
  def method_missing: () -> untyped
  def null_method: () -> untyped
  def remember_current_selection: () -> untyped
  def respond_to?: () -> untyped
  def safe_respond_to?: () -> untyped
  def sanitize_parameters!: () -> untyped
  def selection: () -> untyped
  def snapshot: () -> untyped
  def trace_selection: () -> untyped
  def turn_off_tracing: () -> untyped
  def turn_on_tracing: () -> untyped
end


# sig/bindata/count_bytes_remaining.rbs

class BinData::CountBytesRemaining < BinData::BinData::BasePrimitive
  def read_and_return_value: () -> untyped
  def sensible_default: () -> untyped
  def value_to_binary_string: () -> untyped
end


# sig/bindata/dsl.rbs

class BinData::DSLMixin::DSLParser
  def all_or_none_names_failed?: () -> untyped
  def append_field: () -> untyped
  def dsl_params: () -> untyped
  def dsl_raise: () -> untyped
  def duplicate_name?: () -> untyped
  def endian: () -> untyped
  def ensure_valid_field: () -> untyped
  def ensure_valid_name: () -> untyped
  def fields: () -> untyped
  def hide: () -> untyped
  def initialize: () -> void
  def malformed_name?: () -> untyped
  def method_missing: () -> untyped
  def must_have_a_name_failed?: () -> untyped
  def must_not_have_a_name_failed?: () -> untyped
  def name_from_field_declaration: () -> untyped
  def name_is_reserved?: () -> untyped
  def name_shadows_method?: () -> untyped
  def option?: () -> untyped
  def options: () -> untyped
  def params_from_args: () -> untyped
  def params_from_block: () -> untyped
  def params_from_field_declaration: () -> untyped
  def parent_attribute: () -> untyped
  def to_array_params: () -> untyped
  def to_choice_params: () -> untyped
  def to_struct_params: () -> untyped
  def too_many_fields?: () -> untyped
end


# sig/bindata/dsl.rbs

class BinData::DSLMixin::UnSanitizedField < Array
  def initialize: () -> void
  def name: () -> untyped
  def params: () -> untyped
  def type: () -> untyped
end


# sig/bindata/dsl.rbs

class BinData::DSLMixin::UnSanitizedFields < Array
  def add_field: () -> untyped
  def copy_fields: () -> untyped
  def initialize: () -> void
end


# sig/bindata/io.rbs

class BinData::IO
  def self.create_string_io: () -> untyped
  def accumulate_big_endian_bits: () -> untyped
  def accumulate_little_endian_bits: () -> untyped
  def flushbits: () -> untyped
  def initialize: () -> void
  def mask: () -> untyped
  def num_bytes_remaining: () -> untyped
  def offset: () -> untyped
  def positioning_supported?: () -> untyped
  def read_all_bytes: () -> untyped
  def read_big_endian_bits: () -> untyped
  def read_little_endian_bits: () -> untyped
  def readbits: () -> untyped
  def readbytes: () -> untyped
  def reset_read_bits: () -> untyped
  def seekbytes: () -> untyped
  def skipbytes: () -> untyped
  def write_big_endian_bits: () -> untyped
  def write_little_endian_bits: () -> untyped
  def writebits: () -> untyped
  def writebytes: () -> untyped
end


# sig/bindata/lazy.rbs

class BinData::LazyEvaluator
  def eval_symbol_in_parent_context: () -> untyped
  def index: () -> untyped
  def initialize: () -> void
  def lazy_eval: () -> untyped
  def method_missing: () -> untyped
  def parent: () -> untyped
  def recursively_eval: () -> untyped
  def resolve_symbol_in_parent_context: () -> untyped
end


# sig/bindata/deprecated.rbs

class BinData::MultiValue
  def inherited: () -> untyped
end


# sig/bindata/alignment.rbs

class BinData::Primitive < BinData::BinData::BasePrimitive
  def self.bit_aligned: () -> untyped
  def debug_name_of: () -> untyped
  def do_num_bytes: () -> untyped
  def do_write: () -> untyped
  def get: () -> untyped
  def initialize_instance: () -> untyped
  def method_missing: () -> untyped
  def read_and_return_value: () -> untyped
  def respond_to?: () -> untyped
  def sanitize_parameters!: () -> untyped
  def sensible_default: () -> untyped
  def set: () -> untyped
end


# sig/bindata/record.rbs

class BinData::Record < BinData::BinData::Struct
  def arg_extractor: () -> untyped
  def define_field_accessors: () -> untyped
  def define_field_accessors_for: () -> untyped
  def sanitize_parameters!: () -> untyped
end


# sig/bindata/record.rbs

class BinData::RecordArgExtractor
  def extract: () -> untyped
  def field_names_in_parameters?: () -> untyped
  def parameters_is_value?: () -> untyped
end


# sig/bindata/registry.rbs

class BinData::Registry
  def initialize: () -> void
  def lookup: () -> untyped
  def lookup_key: () -> untyped
  def normalize_name: () -> untyped
  def register: () -> untyped
  def try_registering_key: () -> untyped
  def underscore_name: () -> untyped
  def unregister: () -> untyped
  def warn_if_name_is_already_registered: () -> untyped
end


# sig/bindata/rest.rbs

class BinData::Rest < BinData::BinData::BasePrimitive
  def read_and_return_value: () -> untyped
  def sensible_default: () -> untyped
  def value_to_binary_string: () -> untyped
end


# sig/bindata/alignment.rbs

class BinData::ResumeByteAlignment < BinData::BinData::Base
  def assign: () -> untyped
  def clear: () -> untyped
  def clear?: () -> untyped
  def do_num_bytes: () -> untyped
  def do_read: () -> untyped
  def do_write: () -> untyped
  def snapshot: () -> untyped
end


# sig/bindata/sanitize.rbs

class BinData::SanitizedBigEndian < BinData::SanitizedParameter
  def endian: () -> untyped
end


# sig/bindata/sanitize.rbs

class BinData::SanitizedChoices < BinData::SanitizedParameter
  def []: () -> untyped
  def initialize: () -> void
end


# sig/bindata/sanitize.rbs

class BinData::SanitizedField < BinData::SanitizedParameter
  def initialize: () -> void
  def instantiate: () -> untyped
  def name: () -> untyped
  def name_as_sym: () -> untyped
end


# sig/bindata/sanitize.rbs

class BinData::SanitizedFields < BinData::SanitizedParameter
  def []: () -> untyped
  def add_field: () -> untyped
  def all_field_names_blank?: () -> untyped
  def collect: () -> untyped
  def copy_fields: () -> untyped
  def each: () -> untyped
  def empty?: () -> untyped
  def field_names: () -> untyped
  def has_field_name?: () -> untyped
  def initialize: () -> void
  def length: () -> untyped
  def no_field_names_blank?: () -> untyped
end


# sig/bindata/sanitize.rbs

class BinData::SanitizedLittleEndian < BinData::SanitizedParameter
  def endian: () -> untyped
end


# sig/bindata/sanitize.rbs

class BinData::SanitizedParameters < BinData::Hash
  def create_sanitized_choices: () -> untyped
  def create_sanitized_endian: () -> untyped
  def create_sanitized_fields: () -> untyped
  def create_sanitized_object_prototype: () -> untyped
  def create_sanitized_params: () -> untyped
  def endian: () -> untyped
  def ensure_mandatory_parameters_exist: () -> untyped
  def ensure_mutual_exclusion_of_parameters: () -> untyped
  def ensure_no_nil_values: () -> untyped
  def initialize: () -> void
  def merge_default_parameters!: () -> untyped
  def move_unknown_parameters_to: () -> untyped
  def needs_sanitizing?: () -> untyped
  def sanitize: () -> untyped
  def sanitize!: () -> untyped
  def warn_renamed_parameter: () -> untyped
  def warn_replacement_parameter: () -> untyped
end


# sig/bindata/sanitize.rbs

class BinData::SanitizedPrototype < BinData::SanitizedParameter
  def initialize: () -> void
  def instantiate: () -> untyped
end


# sig/bindata/deprecated.rbs

class BinData::SingleValue
  def inherited: () -> untyped
end


# sig/bindata/skip.rbs

class BinData::Skip < BinData::BinData::BasePrimitive
  def read_and_return_value: () -> untyped
  def sensible_default: () -> untyped
  def value_to_binary_string: () -> untyped
end


# sig/bindata/string.rbs

class BinData::String < BinData::BinData::BasePrimitive
  def assign: () -> untyped
  def byte_string: () -> untyped
  def byte_string: () -> untyped
  def clamp_to_length: () -> untyped
  def read_and_return_value: () -> untyped
  def sanitize_parameters!: () -> untyped
  def sanitized_pad_byte: () -> untyped
  def sensible_default: () -> untyped
  def snapshot: () -> untyped
  def trim_padding: () -> untyped
  def value_to_binary_string: () -> untyped
end


# sig/bindata/stringz.rbs

class BinData::Stringz < BinData::BinData::BasePrimitive
  def append_zero_byte_if_needed: () -> untyped
  def assign: () -> untyped
  def read_and_return_value: () -> untyped
  def sensible_default: () -> untyped
  def snapshot: () -> untyped
  def trim_and_zero_terminate: () -> untyped
  def trim_to: () -> untyped
  def truncate_after_first_zero_byte: () -> untyped
  def value_to_binary_string: () -> untyped
end


# sig/bindata/struct.rbs

class BinData::Struct < BinData::BinData::Base
  def []: () -> untyped
  def []=: () -> untyped
  def as_stringified_hash: () -> untyped
  def assign: () -> untyped
  def assign_fields: () -> untyped
  def base_field_name: () -> untyped
  def clear: () -> untyped
  def clear?: () -> untyped
  def debug_name_of: () -> untyped
  def do_num_bytes: () -> untyped
  def do_read: () -> untyped
  def do_write: () -> untyped
  def each_pair: () -> untyped
  def ensure_field_names_are_valid: () -> untyped
  def field_names: () -> untyped
  def find_index_of: () -> untyped
  def find_obj_for_name: () -> untyped
  def has_key?: () -> untyped
  def hidden_field_names: () -> untyped
  def include_obj: () -> untyped
  def initialize_instance: () -> untyped
  def initialize_shared_instance: () -> untyped
  def instantiate_all_objs: () -> untyped
  def instantiate_obj_at: () -> untyped
  def invoke_field: () -> untyped
  def method_missing: () -> untyped
  def offset_of: () -> untyped
  def respond_to?: () -> untyped
  def sanitize_endian: () -> untyped
  def sanitize_fields: () -> untyped
  def sanitize_hide: () -> untyped
  def sanitize_parameters!: () -> untyped
  def sanitized_field_names: () -> untyped
  def snapshot: () -> untyped
  def sum_num_bytes_below_index: () -> untyped
  def sum_num_bytes_for_all_fields: () -> untyped
end


# sig/bindata/struct.rbs

class BinData::Struct::Snapshot < Hash
  def []: () -> untyped
  def []=: () -> untyped
  def each: () -> untyped
  def each_pair: () -> untyped
  def has_key?: () -> untyped
  def initialize: () -> void
  def keys: () -> untyped
  def method_missing: () -> untyped
  def respond_to?: () -> untyped
end


# sig/bindata/trace.rbs

class BinData::Tracer
  def initialize: () -> void
  def trace: () -> untyped
  def trace_obj: () -> untyped
end


# sig/bindata/wrapper.rbs

class BinData::Wrapper < BinData::BinData::Base
  def assign: () -> untyped
  def clear: () -> untyped
  def clear?: () -> untyped
  def do_num_bytes: () -> untyped
  def do_read: () -> untyped
  def do_write: () -> untyped
  def extract_args: () -> untyped
  def initialize_instance: () -> untyped
  def method_missing: () -> untyped
  def respond_to?: () -> untyped
  def sanitize_parameters!: () -> untyped
  def snapshot: () -> untyped
  def wrapped_class: () -> untyped
end


# sig/bindata.rbs

module BinData
  def const_missing_with_bits: () -> untyped
  def const_missing_with_int: () -> untyped
  def trace_message: () -> untyped
  def trace_reading: () -> untyped
end


# sig/bindata/params.rbs

module BinData::AcceptedParametersMixin
  def self.included: () -> untyped
end


# sig/bindata/params.rbs

module BinData::AcceptedParametersMixin::ClassMethods
  def accepted_parameters: () -> untyped
  def default_parameters: () -> untyped
  def mandatory_parameters: () -> untyped
  def mutually_exclusive_parameters: () -> untyped
  def optional_parameters: () -> untyped
end


# sig/bindata/alignment.rbs

module BinData::BitAligned
  def do_num_bytes: () -> untyped
  def do_write: () -> untyped
  def read_and_return_value: () -> untyped
end


# sig/bindata/bits.rbs

module BinData::BitField
  def create_clamp_code: () -> untyped
  def define_class: () -> untyped
  def define_methods: () -> untyped
end


# sig/bindata/offset.rbs

module BinData::CheckOrAdjustOffsetMixin
  def self.included: () -> untyped
  def add_methods_for_check_or_adjust_offset: () -> untyped
  def adjust_offset: () -> untyped
  def check_offset: () -> untyped
  def do_read_with_adjust_offset: () -> untyped
  def do_read_with_check_offset: () -> untyped
end


# sig/bindata/dsl.rbs

module BinData::DSLMixin
  def self.included: () -> untyped
end


# sig/bindata/dsl.rbs

module BinData::DSLMixin::ClassMethods
  def dsl_parser: () -> untyped
  def method_missing: () -> untyped
  def to_ary: () -> untyped
  def to_str: () -> untyped
end


# sig/bindata/float.rbs

module BinData::FloatingPoint
  def create_num_bytes_code: () -> untyped
  def create_read_code: () -> untyped
  def create_to_binary_s_code: () -> untyped
  def define_methods: () -> untyped
end


# sig/bindata/int.rbs

module BinData::Int
  def bytes_per_word: () -> untyped
  def class_name: () -> untyped
  def create_clamp_code: () -> untyped
  def create_int2uint_code: () -> untyped
  def create_read_code: () -> untyped
  def create_to_binary_s_code: () -> untyped
  def create_uint2int_code: () -> untyped
  def define_class: () -> untyped
  def define_methods: () -> untyped
  def pack_directive: () -> untyped
end


# sig/bindata/deprecated.rbs

module Kernel
  def instance_exec: () -> untyped
end
