# sig/fdbdirectory.rbs

class FDB::AllocatorTransactionState
  def initialize: () -> void
end


# sig/fdbimpl.rbs

class FDB::CallbackEntry
  def initialize: () -> void
end


# sig/fdbimpl_v609.rbs

class FDB::Cluster < FDB::FormerFuture
  def initialize: () -> void
  def open_database: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::Database < FDB::FormerFuture
  def self.finalize: () -> untyped
  def clear: () -> untyped
  def clear_and_watch: () -> untyped
  def clear_range: () -> untyped
  def clear_range_start_with: () -> untyped
  def create_transaction: () -> untyped
  def get: () -> untyped
  def get_and_watch: () -> untyped
  def get_key: () -> untyped
  def get_range: () -> untyped
  def get_range_start_with: () -> untyped
  def initialize: () -> void
  def set: () -> untyped
  def set_and_watch: () -> untyped
  def transact: () -> untyped
  def watch: () -> untyped
end


# sig/fdbdirectory.rbs

class FDB::DirectoryLayer
  def check_version: () -> untyped
  def contents_of_node: () -> untyped
  def convert_path_element: () -> untyped
  def create: () -> untyped
  def create_directory: () -> untyped
  def create_or_open: () -> untyped
  def create_or_open_internal: () -> untyped
  def exists?: () -> untyped
  def find: () -> untyped
  def initialize: () -> void
  def initialize_directory: () -> untyped
  def is_prefix_free?: () -> untyped
  def layer: () -> untyped
  def list: () -> untyped
  def move: () -> untyped
  def move_to: () -> untyped
  def node_containing_key: () -> untyped
  def node_with_prefix: () -> untyped
  def open: () -> untyped
  def open_directory: () -> untyped
  def path: () -> untyped
  def remove: () -> untyped
  def remove_from_parent: () -> untyped
  def remove_if_exists: () -> untyped
  def remove_internal: () -> untyped
  def remove_recursive: () -> untyped
  def subdir_names_and_nodes: () -> untyped
  def to_unicode_path: () -> untyped
end


# sig/fdbdirectory.rbs

class FDB::DirectoryPartition < FDB::DirectorySubspace
  def []: () -> untyped
  def as_foundationdb_key: () -> untyped
  def contains?: () -> untyped
  def get_layer_for_path: () -> untyped
  def initialize: () -> void
  def key: () -> untyped
  def pack: () -> untyped
  def range: () -> untyped
  def subspace: () -> untyped
  def unpack: () -> untyped
end


# sig/fdbdirectory.rbs

class FDB::DirectorySubspace < FDB::Subspace
  def create: () -> untyped
  def create_or_open: () -> untyped
  def exists?: () -> untyped
  def get_layer_for_path: () -> untyped
  def initialize: () -> void
  def layer: () -> untyped
  def list: () -> untyped
  def move: () -> untyped
  def move_to: () -> untyped
  def open: () -> untyped
  def partition_subpath: () -> untyped
  def path: () -> untyped
  def remove: () -> untyped
  def remove_if_exists: () -> untyped
  def tuplify_path: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::Error < FDB::StandardError
  def description: () -> untyped
  def initialize: () -> void
  def to_s: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::FormerFuture
  def block_until_ready: () -> untyped
  def on_ready: () -> untyped
  def ready?: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::Future
  def self.finalize: () -> untyped
  def self.wait_for_any: () -> untyped
  def block_until_ready: () -> untyped
  def callback_wrapper: () -> untyped
  def cancel: () -> untyped
  def initialize: () -> void
  def on_ready: () -> untyped
  def ready?: () -> untyped
  def release_memory: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::FutureKeyArray < FDB::Future
  def wait: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::FutureKeyValueArray < FDB::Future
  def wait: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::FutureNil < FDB::Future
  def wait: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::FutureStringArray < FDB::LazyFuture
  def getter: () -> untyped
end


# sig/fdbdirectory.rbs

class FDB::HighContentionAllocator
  def allocate: () -> untyped
  def initialize: () -> void
  def window_size: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::Int64Future < FDB::LazyFuture
  def getter: () -> untyped
end


# sig/fdbdirectory.rbs

class FDB::Internal::Node
  def exists?: () -> untyped
  def get_contents: () -> untyped
  def get_partition_subpath: () -> untyped
  def initialize: () -> void
  def is_in_partition?: () -> untyped
  def layer: () -> untyped
  def prefetch_metadata: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::Key < FDB::LazyString
  def getter: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::KeySelector
  def self.first_greater_or_equal: () -> untyped
  def self.first_greater_than: () -> untyped
  def self.last_less_or_equal: () -> untyped
  def self.last_less_than: () -> untyped
  def +: () -> untyped
  def -: () -> untyped
  def initialize: () -> void
end


# sig/fdbimpl.rbs

class FDB::KeyValue
  def initialize: () -> void
end


# sig/fdbimpl.rbs

class FDB::LazyFuture < FDB::Future
  def initialize: () -> void
  def method_missing: () -> untyped
  def respond_to?: () -> untyped
  def value: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::LazyString < FDB::LazyFuture
  def to_ptr: () -> untyped
end


# sig/fdbsubspace.rbs

class FDB::Subspace
  def []: () -> untyped
  def as_foundationdb_key: () -> untyped
  def contains?: () -> untyped
  def initialize: () -> void
  def key: () -> untyped
  def pack: () -> untyped
  def range: () -> untyped
  def subspace: () -> untyped
  def unpack: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::Transaction < FDB::TransactionRead
  def add_read_conflict_key: () -> untyped
  def add_read_conflict_range: () -> untyped
  def add_write_conflict_key: () -> untyped
  def add_write_conflict_range: () -> untyped
  def atomic_op: () -> untyped
  def cancel: () -> untyped
  def clear: () -> untyped
  def clear_range: () -> untyped
  def clear_range_start_with: () -> untyped
  def commit: () -> untyped
  def get_approximate_size: () -> untyped
  def get_committed_version: () -> untyped
  def get_versionstamp: () -> untyped
  def initialize: () -> void
  def on_error: () -> untyped
  def reset: () -> untyped
  def set: () -> untyped
  def set_read_version: () -> untyped
  def watch: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::TransactionRead
  def self.finalize: () -> untyped
  def each: () -> untyped
  def get: () -> untyped
  def get_estimated_range_size_bytes: () -> untyped
  def get_key: () -> untyped
  def get_range: () -> untyped
  def get_range_split_points: () -> untyped
  def get_range_start_with: () -> untyped
  def get_read_version: () -> untyped
  def initialize: () -> void
  def initialize: () -> void
  def to_a: () -> untyped
  def to_selector: () -> untyped
  def transact: () -> untyped
end


# sig/fdbtuple.rbs

class FDB::Tuple::SingleFloat
  def <=>: () -> untyped
  def initialize: () -> void
  def to_s: () -> untyped
  def value: () -> untyped
end


# sig/fdbtuple.rbs

class FDB::Tuple::UUID
  def <=>: () -> untyped
  def data: () -> untyped
  def initialize: () -> void
  def to_s: () -> untyped
end


# sig/fdbimpl.rbs

class FDB::Value < FDB::LazyString
  def getter: () -> untyped
end


# sig/fdb.rbs

module FDB
  def self.api_version: () -> untyped
  def self.cb_mutex: () -> untyped
  def self.directory: () -> untyped
  def self.ffi_callbacks: () -> untyped
  def self.get_api_version: () -> untyped
  def self.init: () -> untyped
  def self.is_api_version_selected?: () -> untyped
  def self.key_to_bytes: () -> untyped
  def self.open: () -> untyped
  def self.stop: () -> untyped
  def self.strinc: () -> untyped
  def self.value_to_bytes: () -> untyped
  def create_cluster: () -> untyped
  def open: () -> untyped
end


# sig/fdbimpl.rbs

module FDB::FDBC
  def self.check_error: () -> untyped
  def self.init_c_api: () -> untyped
end


# sig/fdblocality.rbs

module FDB::Locality
  def self.get_addresses_for_key: () -> untyped
  def self.get_boundary_keys: () -> untyped
end


# sig/fdbtuple.rbs

module FDB::Tuple
  def self._code_for: () -> untyped
  def self._compare_elems: () -> untyped
  def self._compare_floats: () -> untyped
  def self.bisect_left: () -> untyped
  def self.compare: () -> untyped
  def self.decode: () -> untyped
  def self.encode: () -> untyped
  def self.find_terminator: () -> untyped
  def self.float_adjust: () -> untyped
  def self.pack: () -> untyped
  def self.range: () -> untyped
  def self.unpack: () -> untyped
end
