# Stubs for xeno.async_injector (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from .abstract import AbstractInjector
from .attributes import ClassAttributes, MethodAttributes, get_injection_params, get_injection_points
from .decorators import named, singleton
from .errors import ClassInjectionError, MethodInjectionError, MissingDependencyError, MissingResourceError
from .namespaces import Namespace
from .utils import async_map, async_wrap, resolve_alias
from typing import Any, Optional

class AsyncInjector(AbstractInjector):
    loop: Any = ...
    async_injection_interceptors: Any = ...
    def __init__(self, *modules: Any) -> None: ...
    def add_async_injection_interceptor(self, interceptor: Any) -> None: ...
    def create(self, class_: Any): ...
    async def create_async(self, class_: Any): ...
    def inject(self, obj: Any, aliases: Any = ..., namespace: str = ...): ...
    async def inject_async(self, obj: Any, aliases: Any = ..., namespace: str = ...): ...
    def require(self, name: Any, method: Optional[Any] = ...): ...
    async def require_async(self, name: Any, method: Optional[Any] = ...): ...
    async def provide_async(self, name: Any, value: Any, is_singleton: bool = ..., namespace: Optional[Any] = ...): ...
    def provide(self, name: Any, value: Any, is_singleton: bool = ..., namespace: Optional[Any] = ...): ...
