# Stubs for galaxy.tools.deps.container_resolvers.mulled (Python 3.4)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any, Optional
from ..container_resolvers import ContainerResolver
from collections import namedtuple

CachedMulledImageSingleTarget = namedtuple('CachedMulledImageSingleTarget', ['package_name', 'version', 'build', 'image_identifier'])

CachedV1MulledImageMultiTarget = namedtuple('CachedV1MulledImageMultiTarget', ['hash', 'build', 'image_identifier'])

CachedV2MulledImageMultiTarget = namedtuple('CachedV2MulledImageMultiTarget', ['package_hash', 'version_hash', 'build', 'image_identifier'])

class CachedMulledDockerContainerResolver(ContainerResolver):
    resolver_type = ...  # type: str
    container_type = ...  # type: str
    namespace = ...  # type: Any
    hash_func = ...  # type: Any
    def __init__(self, app_info: Optional[Any] = ..., namespace: Optional[Any] = ..., hash_func: str = ...) -> None: ...
    def resolve(self, enabled_container_types, tool_info): ...

class CachedMulledSingularityContainerResolver(ContainerResolver):
    resolver_type = ...  # type: str
    container_type = ...  # type: str
    cache_directory = ...  # type: Any
    hash_func = ...  # type: Any
    def __init__(self, app_info: Optional[Any] = ..., hash_func: str = ...) -> None: ...
    def resolve(self, enabled_container_types, tool_info): ...

class MulledDockerContainerResolver(ContainerResolver):
    resolver_type = ...  # type: str
    container_type = ...  # type: str
    namespace = ...  # type: Any
    hash_func = ...  # type: Any
    def __init__(self, app_info: Optional[Any] = ..., namespace: str = ..., hash_func: str = ...) -> None: ...
    def resolve(self, enabled_container_types, tool_info): ...

class BuildMulledDockerContainerResolver(ContainerResolver):
    resolver_type = ...  # type: str
    container_type = ...  # type: str
    namespace = ...  # type: Any
    hash_func = ...  # type: Any
    auto_init = ...  # type: Any
    def __init__(self, app_info: Optional[Any] = ..., namespace: str = ..., hash_func: str = ..., **kwds) -> None: ...
    def resolve(self, enabled_container_types, tool_info): ...

class BuildMulledSingularityContainerResolver(ContainerResolver):
    resolver_type = ...  # type: str
    container_type = ...  # type: str
    cache_directory = ...  # type: Any
    hash_func = ...  # type: Any
    auto_init = ...  # type: Any
    def __init__(self, app_info: Optional[Any] = ..., hash_func: str = ..., **kwds) -> None: ...
    def resolve(self, enabled_container_types, tool_info): ...
