class_docstr: Represents a store of assets backed by metadata providers.
class_docstr_tok: ["Represents","a","store","of","assets","backed","by","metadata","providers","."]
docstr: :param storage:
      The default asset metadata provider.
docstr_tok: [":","param","storage",":","The","default","asset","metadata","provider","."]
code: def __init__(self, metadata_provider: AssetMetadataProvider) -> None:
      """
      :param storage:
          The default asset metadata provider.
      """
      self.env_resolvers = []
      self.metadata_providers = [metadata_provider]
      self.user_metadata_providers = []
  
imports: from __future__ import annotations
  import os
  from abc import ABC, abstractmethod
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Protocol, final
  from fairseq2.assets.card import AssetCard, AssetCardError
  from fairseq2.assets.metadata_provider import AssetMetadataProvider, AssetNotFoundError, FileAssetMetadataProvider
  from fairseq2.assets.utils import _get_path_from_env
  from fairseq2.typing import finaloverride
label_desc: Use image node_id 1 to create a new ProviderBackedAssetStore object from inherited base classes: AssetStore with example: obj = ProviderBackedAssetStore(metadata_provider)