




from typing import TYPE_CHECKING

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


__A						:		int          =						{"configuration_detr": ["DETR_PRETRAINED_CONFIG_ARCHIVE_MAP", "DetrConfig", "DetrOnnxConfig"]}

try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__A						:		Union[str, Any]          =						["DetrFeatureExtractor"]
	__A						:		List[Any]          =						["DetrImageProcessor"]

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__A						:		Optional[Any]          =						[
	    "DETR_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "DetrForObjectDetection",
	    "DetrForSegmentation",
	    "DetrModel",
	    "DetrPreTrainedModel",
	]


if TYPE_CHECKING:
	from .configuration_detr import DETR_PRETRAINED_CONFIG_ARCHIVE_MAP, DetrConfig, DetrOnnxConfig

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .feature_extraction_detr import DetrFeatureExtractor
		from .image_processing_detr import DetrImageProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_detr import (
		    DETR_PRETRAINED_MODEL_ARCHIVE_LIST,
		    DetrForObjectDetection,
		    DetrForSegmentation,
		    DetrModel,
		    DetrPreTrainedModel,
		)

else:
	import sys

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











from ..utils import DummyObject, requires_backends

class 		lowercase_       (	metaclass=lowerCAmelCase__				):
					__UpperCamelCase     	= ["torch", "transformers", "k_diffusion"]




					def __init__(   self:		Tuple,     *_lowercase:		Dict,     **_lowercase:		Optional[int]):


									'''simple docstring'''


									requires_backends(self,     ["""torch""", """transformers""", """k_diffusion"""])




					@classmethod
					def     _lowercase						(   cls:		Union[str, Any],     *_lowercase:		Union[str, Any],     **_lowercase:		Optional[int]):


									'''simple docstring'''


									requires_backends(cls,     ["""torch""", """transformers""", """k_diffusion"""])







					@classmethod
					def     _lowercase						(   cls:		List[str],     *_lowercase:		int,     **_lowercase:		List[Any]):


									'''simple docstring'''


									requires_backends(cls,     ["""torch""", """transformers""", """k_diffusion"""])





