


from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE : str          =    {
    "configuration_segformer": ["SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "SegformerConfig", "SegformerOnnxConfig"]
}

try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : int          =    ["SegformerFeatureExtractor"]
	SCREAMING_SNAKE_CASE : Optional[Any]          =    ["SegformerImageProcessor"]

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : Any          =    [
	    "SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "SegformerDecodeHead",
	    "SegformerForImageClassification",
	    "SegformerForSemanticSegmentation",
	    "SegformerLayer",
	    "SegformerModel",
	    "SegformerPreTrainedModel",
	]

try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : List[str]          =    [
	    "TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "TFSegformerDecodeHead",
	    "TFSegformerForImageClassification",
	    "TFSegformerForSemanticSegmentation",
	    "TFSegformerModel",
	    "TFSegformerPreTrainedModel",
	]


if TYPE_CHECKING:
	from .configuration_segformer import SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, SegformerConfig, SegformerOnnxConfig

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .feature_extraction_segformer import SegformerFeatureExtractor
		from .image_processing_segformer import SegformerImageProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_segformer import (
		    SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
		    SegformerDecodeHead,
		    SegformerForImageClassification,
		    SegformerForSemanticSegmentation,
		    SegformerLayer,
		    SegformerModel,
		    SegformerPreTrainedModel,
		)
	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_segformer import (
		    TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
		    TFSegformerDecodeHead,
		    TFSegformerForImageClassification,
		    TFSegformerForSemanticSegmentation,
		    TFSegformerModel,
		    TFSegformerPreTrainedModel,
		)

else:
	import sys

	SCREAMING_SNAKE_CASE : Optional[int]          =    _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






from ...utils import is_transformers_available
from .pipeline_latent_diffusion_superresolution import LDMSuperResolutionPipeline


if is_transformers_available():
	from .pipeline_latent_diffusion import LDMBertModel, LDMTextToImagePipeline


