

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,
)


_UpperCAmelCase			:		List[str]   				=    {"configuration_mbart": ["MBART_PRETRAINED_CONFIG_ARCHIVE_MAP", "MBartConfig", "MBartOnnxConfig"]}

try:
			if not is_sentencepiece_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		int   				=    ["MBartTokenizer"]

try:
			if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		Dict   				=    ["MBartTokenizerFast"]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		Union[str, Any]   				=    [
			    "MBART_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "MBartForCausalLM",
			    "MBartForConditionalGeneration",
			    "MBartForQuestionAnswering",
			    "MBartForSequenceClassification",
			    "MBartModel",
			    "MBartPreTrainedModel",
			]

try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		Any   				=    [
			    "TFMBartForConditionalGeneration",
			    "TFMBartModel",
			    "TFMBartPreTrainedModel",
			]

try:
			if not is_flax_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		Optional[int]   				=    [
			    "FlaxMBartForConditionalGeneration",
			    "FlaxMBartForQuestionAnswering",
			    "FlaxMBartForSequenceClassification",
			    "FlaxMBartModel",
			    "FlaxMBartPreTrainedModel",
			]


if TYPE_CHECKING:
			from .configuration_mbart import MBART_PRETRAINED_CONFIG_ARCHIVE_MAP, MBartConfig, MBartOnnxConfig

			try:
						if not is_sentencepiece_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_mbart import MBartTokenizer

			try:
						if not is_tokenizers_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_mbart_fast import MBartTokenizerFast

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_mbart import (
						    MBART_PRETRAINED_MODEL_ARCHIVE_LIST,
						    MBartForCausalLM,
						    MBartForConditionalGeneration,
						    MBartForQuestionAnswering,
						    MBartForSequenceClassification,
						    MBartModel,
						    MBartPreTrainedModel,
						)

			try:
						if not is_tf_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_mbart import TFMBartForConditionalGeneration, TFMBartModel, TFMBartPreTrainedModel

			try:
						if not is_flax_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_flax_mbart import (
						    FlaxMBartForConditionalGeneration,
						    FlaxMBartForQuestionAnswering,
						    FlaxMBartForSequenceClassification,
						    FlaxMBartModel,
						    FlaxMBartPreTrainedModel,
						)

else:
			import sys

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













from .glue import GlueDataset, GlueDataTrainingArguments
from .language_modeling import (
    LineByLineTextDataset,
    LineByLineWithRefDataset,
    LineByLineWithSOPTextDataset,
    TextDataset,
    TextDatasetForNextSentencePrediction,
)
from .squad import SquadDataset, SquadDataTrainingArguments





