



from typing import TYPE_CHECKING

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


a     :    Union[str, Any]      						=					{
    '''configuration_blip''': [
        '''BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''BlipConfig''',
        '''BlipTextConfig''',
        '''BlipVisionConfig''',
    ],
    '''processing_blip''': ['''BlipProcessor'''],
}

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							a     :    Union[str, Any]      						=					['''BlipImageProcessor''']


try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							a     :    Optional[Any]      						=					[
							    '''BLIP_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''BlipModel''',
							    '''BlipPreTrainedModel''',
							    '''BlipForConditionalGeneration''',
							    '''BlipForQuestionAnswering''',
							    '''BlipVisionModel''',
							    '''BlipTextModel''',
							    '''BlipForImageTextRetrieval''',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							a     :    Union[str, Any]      						=					[
							    '''TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''TFBlipModel''',
							    '''TFBlipPreTrainedModel''',
							    '''TFBlipForConditionalGeneration''',
							    '''TFBlipForQuestionAnswering''',
							    '''TFBlipVisionModel''',
							    '''TFBlipTextModel''',
							    '''TFBlipForImageTextRetrieval''',
							]

if TYPE_CHECKING:
							from .configuration_blip import BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP, BlipConfig, BlipTextConfig, BlipVisionConfig
							from .processing_blip import BlipProcessor

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .image_processing_blip import BlipImageProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_blip import (
														    BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
														    BlipForConditionalGeneration,
														    BlipForImageTextRetrieval,
														    BlipForQuestionAnswering,
														    BlipModel,
														    BlipPreTrainedModel,
														    BlipTextModel,
														    BlipVisionModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_blip import (
														    TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFBlipForConditionalGeneration,
														    TFBlipForImageTextRetrieval,
														    TFBlipForQuestionAnswering,
														    TFBlipModel,
														    TFBlipPreTrainedModel,
														    TFBlipTextModel,
														    TFBlipVisionModel,
														)

else:
							import sys

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






'''simple docstring'''




from ...utils import is_torch_available, is_transformers_available


if is_transformers_available() and is_torch_available():
							from .pipeline_vq_diffusion import LearnedClassifierFreeSamplingEmbeddings, VQDiffusionPipeline

