from typing import TYPE_CHECKING

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


lowercase__      :    Optional[int]          =     {
    '''configuration_camembert''': ['''CAMEMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''CamembertConfig''', '''CamembertOnnxConfig'''],
}

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

try:
	if not is_tokenizers_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__      :    str          =     ['''CamembertTokenizerFast''']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__      :    Dict          =     [
	    '''CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''CamembertForCausalLM''',
	    '''CamembertForMaskedLM''',
	    '''CamembertForMultipleChoice''',
	    '''CamembertForQuestionAnswering''',
	    '''CamembertForSequenceClassification''',
	    '''CamembertForTokenClassification''',
	    '''CamembertModel''',
	    '''CamembertPreTrainedModel''',
	]

try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__      :    Tuple          =     [
	    '''TF_CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''TFCamembertForCausalLM''',
	    '''TFCamembertForMaskedLM''',
	    '''TFCamembertForMultipleChoice''',
	    '''TFCamembertForQuestionAnswering''',
	    '''TFCamembertForSequenceClassification''',
	    '''TFCamembertForTokenClassification''',
	    '''TFCamembertModel''',
	    '''TFCamembertPreTrainedModel''',
	]


if TYPE_CHECKING:
	from .configuration_camembert import CAMEMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, CamembertConfig, CamembertOnnxConfig

	try:
		if not is_sentencepiece_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_camembert import CamembertTokenizer

	try:
		if not is_tokenizers_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_camembert_fast import CamembertTokenizerFast

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_camembert import (
		    CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
		    CamembertForCausalLM,
		    CamembertForMaskedLM,
		    CamembertForMultipleChoice,
		    CamembertForQuestionAnswering,
		    CamembertForSequenceClassification,
		    CamembertForTokenClassification,
		    CamembertModel,
		    CamembertPreTrainedModel,
		)

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_camembert import (
		    TF_CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
		    TFCamembertForCausalLM,
		    TFCamembertForMaskedLM,
		    TFCamembertForMultipleChoice,
		    TFCamembertForQuestionAnswering,
		    TFCamembertForSequenceClassification,
		    TFCamembertForTokenClassification,
		    TFCamembertModel,
		    TFCamembertPreTrainedModel,
		)

else:
	import sys

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




from typing import TYPE_CHECKING

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


lowercase__      :    Dict          =     {
    '''configuration_sam''': [
        '''SAM_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''SamConfig''',
        '''SamMaskDecoderConfig''',
        '''SamPromptEncoderConfig''',
        '''SamVisionConfig''',
    ],
    '''processing_sam''': ['''SamProcessor'''],
}


try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__      :    Dict          =     [
	    '''SAM_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''SamModel''',
	    '''SamPreTrainedModel''',
	]
try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__      :    str          =     [
	    '''TF_SAM_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''TFSamModel''',
	    '''TFSamPreTrainedModel''',
	]
try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	lowercase__      :    Dict          =     ['''SamImageProcessor''']


if TYPE_CHECKING:
	from .configuration_sam import (
	    SAM_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    SamConfig,
	    SamMaskDecoderConfig,
	    SamPromptEncoderConfig,
	    SamVisionConfig,
	)
	from .processing_sam import SamProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_sam import SAM_PRETRAINED_MODEL_ARCHIVE_LIST, SamModel, SamPreTrainedModel

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_sam import TF_SAM_PRETRAINED_MODEL_ARCHIVE_LIST, TFSamModel, TFSamPreTrainedModel

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .image_processing_sam import SamImageProcessor

else:
	import sys

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



