



from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


__snake_case     :Dict			       ={'configuration_van': ['VAN_PRETRAINED_CONFIG_ARCHIVE_MAP', 'VanConfig']}


try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__snake_case     :List[Any]			       =[
				    'VAN_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'VanForImageClassification',
				    'VanModel',
				    'VanPreTrainedModel',
				]

if TYPE_CHECKING:
				from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_van import (
								    VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
								    VanForImageClassification,
								    VanModel,
								    VanPreTrainedModel,
								)

else:
				import sys

				__snake_case     :str			       =_LazyModule(__name__, globals()['__file__'], _import_structure)
'''simple docstring'''


from ...utils import (
    OptionalDependencyNotAvailable,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)


try:
					if not (is_transformers_available() and is_torch_available()):
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					from ...utils.dummy_torch_and_transformers_objects import (
					    ImageTextPipelineOutput,
					    UniDiffuserPipeline,
					)
else:
					from .modeling_text_decoder import UniDiffuserTextDecoder
					from .modeling_uvit import UniDiffuserModel, UTransformeraDModel
					from .pipeline_unidiffuser import ImageTextPipelineOutput, UniDiffuserPipeline
