from typing import TYPE_CHECKING

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


lowercase__    :       Dict						=			{
    '''configuration_xlm_prophetnet''': ['''XLM_PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''XLMProphetNetConfig'''],
}

try:
	if not is_sentencepiece_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__    :       int						=			['''XLMProphetNetTokenizer''']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__    :       List[Any]						=			[
	    '''XLM_PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''XLMProphetNetDecoder''',
	    '''XLMProphetNetEncoder''',
	    '''XLMProphetNetForCausalLM''',
	    '''XLMProphetNetForConditionalGeneration''',
	    '''XLMProphetNetModel''',
	    '''XLMProphetNetPreTrainedModel''',
	]


if TYPE_CHECKING:
	from .configuration_xlm_prophetnet import XLM_PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLMProphetNetConfig

	try:
		if not is_sentencepiece_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_xlm_prophetnet import XLMProphetNetTokenizer

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_xlm_prophetnet import (
		    XLM_PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST,
		    XLMProphetNetDecoder,
		    XLMProphetNetEncoder,
		    XLMProphetNetForCausalLM,
		    XLMProphetNetForConditionalGeneration,
		    XLMProphetNetModel,
		    XLMProphetNetPreTrainedModel,
		)

else:
	import sys

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




from dataclasses import dataclass
from typing import List, Optional, Union

import numpy as np
import PIL

from ...utils import BaseOutput, is_invisible_watermark_available, is_torch_available, is_transformers_available




@dataclass
class      lowercase_						(						UpperCamelCase_		):



	"""simple docstring"""





	UpperCAmelCase_						:      Union[List[PIL.Image.Image], np.ndarray]


if is_transformers_available() and is_torch_available() and is_invisible_watermark_available():
	from .pipeline_stable_diffusion_xl import StableDiffusionXLPipeline
	from .pipeline_stable_diffusion_xl_imgaimg import StableDiffusionXLImgaImgPipeline



