# Copyright (c) OpenMMLab. All rights reserved.
from .backends import (
    BaseStorageBackend,
    Boto3Backend,
    HTTPBackend,
    LmdbBackend,
    LocalBackend,
    MemcachedBackend,
    register_backend,
)
from .file_client import FileClient, HardDiskBackend
from .handlers import (
    BaseFileHandler,
    JsonHandler,
    PickleHandler,
    YamlHandler,
    register_handler,
)
from .io import (
    copy_if_symlink_fails,
    copyfile,
    copyfile_from_local,
    copyfile_to_local,
    copytree,
    copytree_from_local,
    copytree_to_local,
    dump,
    exists,
    generate_presigned_url,
    get,
    get_file_backend,
    get_local_path,
    get_text,
    isdir,
    isfile,
    join_path,
    list_dir_or_file,
    load,
    put,
    put_text,
    remove,
    rmtree,
    set_s3_backend,
)
from .parse import dict_from_file, list_from_file

__all__ = [
    "BaseStorageBackend",
    "FileClient",
    "Boto3Backend",
    "MemcachedBackend",
    "LmdbBackend",
    "HardDiskBackend",
    "LocalBackend",
    "HTTPBackend",
    "copy_if_symlink_fails",
    "copyfile",
    "copyfile_from_local",
    "copyfile_to_local",
    "copytree",
    "copytree_from_local",
    "copytree_to_local",
    "exists",
    "generate_presigned_url",
    "get",
    "get_file_backend",
    "get_local_path",
    "get_text",
    "isdir",
    "isfile",
    "join_path",
    "list_dir_or_file",
    "put",
    "put_text",
    "remove",
    "rmtree",
    "load",
    "dump",
    "register_handler",
    "BaseFileHandler",
    "JsonHandler",
    "PickleHandler",
    "YamlHandler",
    "list_from_file",
    "dict_from_file",
    "register_backend",
    "set_s3_backend",
]
