






"""simple docstring"""
from typing import TYPE_CHECKING

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


A_			: Tuple				=			{
    "agents": ["Agent", "AzureOpenAiAgent", "HfAgent", "LocalAgent", "OpenAiAgent"],
    "base": ["PipelineTool", "RemoteTool", "Tool", "launch_gradio_demo", "load_tool"],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A_			: Union[str, Any]				=			["DocumentQuestionAnsweringTool"]
      A_			: Dict				=			["ImageCaptioningTool"]
      A_			: List[str]				=			["ImageQuestionAnsweringTool"]
      A_			: Tuple				=			["ImageSegmentationTool"]
      A_			: Optional[Any]				=			["SpeechToTextTool"]
      A_			: Any				=			["TextClassificationTool"]
      A_			: str				=			["TextQuestionAnsweringTool"]
      A_			: Union[str, Any]				=			["TextSummarizationTool"]
      A_			: Optional[int]				=			["TextToSpeechTool"]
      A_			: Tuple				=			["TranslationTool"]

if TYPE_CHECKING:
      from .agents import Agent, AzureOpenAiAgent, HfAgent, LocalAgent, OpenAiAgent
      from .base import PipelineTool, RemoteTool, Tool, launch_gradio_demo, load_tool

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .document_question_answering import DocumentQuestionAnsweringTool
            from .image_captioning import ImageCaptioningTool
            from .image_question_answering import ImageQuestionAnsweringTool
            from .image_segmentation import ImageSegmentationTool
            from .speech_to_text import SpeechToTextTool
            from .text_classification import TextClassificationTool
            from .text_question_answering import TextQuestionAnsweringTool
            from .text_summarization import TextSummarizationTool
            from .text_to_speech import TextToSpeechTool
            from .translation import TranslationTool
else:
      import sys

      A_			: Any				=			_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)


"""simple docstring"""


from ..utils import DummyObject, requires_backends






class    __UpperCAmelCase						(	metaclass=__lowerCAmelCase	):
				A__      :   List[Any]  							=       ['''torch''', '''librosa''']

				def __init__(      self	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(self	, ["torch", "librosa"]      )

				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )






				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )






class    __UpperCAmelCase						(	metaclass=__lowerCAmelCase	):
				A__      :   List[str]  							=       ['''torch''', '''librosa''']

				def __init__(      self	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(self	, ["torch", "librosa"]      )

				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )






				@classmethod
				def 		_a	(      cls	, *_lowerCamelCase	, **_lowerCamelCase      ):
										requires_backends(cls	, ["torch", "librosa"]      )


