///|
/// Stable core facade for workspace modules.
pub using @types {
  type ObjectId,
  type ObjectType,
  type GitError,
  type TreeEntry,
  type Commit,
  type PackObject,
  type PackDeltaMode,
  type PackCompression,
  type Sha1State,
  type HttpResponse,
  type MockHttpClient,
  trait AsyncFileSystem,
  trait AsyncHttpClient,
  trait AsyncRepoFileSystem,
  trait FileSystem,
  trait HttpClient,
  trait RepoFileSystem,
}

///|
pub using @io {type TestFs}

///|
pub using @repo {
  type ObjectStore,
  type CommitInfo,
  parse_commit,
  parse_tree,
  checkout_commit,
  checkout_commit_to_fs,
  checkout_commit_to_fs_async,
  join_path,
  materialize_clone_to_fs,
  materialize_clone_to_fs_async,
  write_git_metadata,
  write_git_metadata_async,
  verify_tree_entry_name,
}

///|
pub using @object {
  type HashAlgorithm,
  type HashState,
  type Sha256State,
  create_object,
  hash_object_content,
  hash_object_content_with_algo,
  create_blob,
  create_blob_string,
  create_tree,
  create_commit,
  hash_blob,
  serialize_tree,
  serialize_commit_content,
  hash_blob_string,
  sha1_prefix,
  sha1,
  sha1_array_prefix,
  sha1_array,
  sha256_prefix,
  sha256_array_prefix,
  hash_prefix,
  hash_array_prefix,
}