


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


SCREAMING_SNAKE_CASE : Optional[int]          =    {"configuration_pegasus": ["PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP", "PegasusConfig"]}

try:
	if not is_sentencepiece_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : List[Any]          =    ["PegasusTokenizer"]

try:
	if not is_tokenizers_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : Tuple          =    ["PegasusTokenizerFast"]

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : Dict          =    [
	    "PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "PegasusForCausalLM",
	    "PegasusForConditionalGeneration",
	    "PegasusModel",
	    "PegasusPreTrainedModel",
	]

try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : Any          =    [
	    "TFPegasusForConditionalGeneration",
	    "TFPegasusModel",
	    "TFPegasusPreTrainedModel",
	]

try:
	if not is_flax_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	SCREAMING_SNAKE_CASE : Tuple          =    [
	    "FlaxPegasusForConditionalGeneration",
	    "FlaxPegasusModel",
	    "FlaxPegasusPreTrainedModel",
	]


if TYPE_CHECKING:
	from .configuration_pegasus import PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP, PegasusConfig

	try:
		if not is_sentencepiece_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_pegasus import PegasusTokenizer

	try:
		if not is_tokenizers_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_pegasus_fast import PegasusTokenizerFast

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_pegasus import (
		    PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST,
		    PegasusForCausalLM,
		    PegasusForConditionalGeneration,
		    PegasusModel,
		    PegasusPreTrainedModel,
		)

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_pegasus import TFPegasusForConditionalGeneration, TFPegasusModel, TFPegasusPreTrainedModel

	try:
		if not is_flax_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_flax_pegasus import (
		    FlaxPegasusForConditionalGeneration,
		    FlaxPegasusModel,
		    FlaxPegasusPreTrainedModel,
		)

else:
	import sys

	SCREAMING_SNAKE_CASE : Optional[Any]          =    _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


