'''simple docstring'''
from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike







class lowerCamelCase							(	__snake_case					):




  '''simple docstring'''



  def __init__(      self			:       Optional[Any]  ,							UpperCAmelCase__			:       Dict = None  ,							UpperCAmelCase__			:       Tuple = None  ,							UpperCAmelCase__			:       int = None  ,							UpperCAmelCase__			:       str = None  ,							UpperCAmelCase__			:       Any = False  ,							UpperCAmelCase__			:       Tuple = False  ,							UpperCAmelCase__			:       Any = None  ,							**UpperCAmelCase__			:       int  ,							)				->Optional[Any]:
        UpperCAmelCase_            =  path_or_paths
        UpperCAmelCase_            =  split if split or isinstance(A_  ,							A_  ) else "train"
        UpperCAmelCase_            =  features
        UpperCAmelCase_            =  cache_dir
        UpperCAmelCase_            =  keep_in_memory
        UpperCAmelCase_            =  streaming
        UpperCAmelCase_            =  num_proc
        UpperCAmelCase_            =  kwargs






  @abstractmethod
  def  lowerCAmelCase__ (      self			:       Optional[int]  )				->Dict:
        pass







class lowerCamelCase							(	__snake_case					):




  '''simple docstring'''



  def __init__(      self			:       int  ,							UpperCAmelCase__			:       Tuple = None  ,							UpperCAmelCase__			:       Optional[Any] = None  ,							UpperCAmelCase__			:       Any = False  ,							UpperCAmelCase__			:       Optional[Any] = False  ,							UpperCAmelCase__			:       Optional[int] = None  ,							**UpperCAmelCase__			:       str  ,							)				->Optional[int]:
        UpperCAmelCase_            =  features
        UpperCAmelCase_            =  cache_dir
        UpperCAmelCase_            =  keep_in_memory
        UpperCAmelCase_            =  streaming
        UpperCAmelCase_            =  num_proc
        UpperCAmelCase_            =  kwargs






  @abstractmethod
  def  lowerCAmelCase__ (      self			:       Optional[Any]  )				->Tuple:
        pass






'''simple docstring'''
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


lowercase__  :      Optional[Any]        =					{
    "configuration_encodec": [
        "ENCODEC_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "EncodecConfig",
    ],
    "feature_extraction_encodec": ["EncodecFeatureExtractor"],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      lowercase__  :      List[str]        =					[
          "ENCODEC_PRETRAINED_MODEL_ARCHIVE_LIST",
          "EncodecModel",
          "EncodecPreTrainedModel",
      ]

if TYPE_CHECKING:
      from .configuration_encodec import (
          ENCODEC_PRETRAINED_CONFIG_ARCHIVE_MAP,
          EncodecConfig,
      )
      from .feature_extraction_encodec import EncodecFeatureExtractor

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_encodec import (
                ENCODEC_PRETRAINED_MODEL_ARCHIVE_LIST,
                EncodecModel,
                EncodecPreTrainedModel,
            )

else:
      import sys

      lowercase__  :      str        =					_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





