__all__ = [
    "AnyOf",
    "AsyncContainer",
    "BaseScope",
    "Component",
    "Container",
    "DEFAULT_COMPONENT",
    "DependencyKey",
    "FromComponent",
    "FromDishka",
    "Provider",
    "Scope",
    "WithParents",
    "alias",
    "decorate",
    "from_context",
    "make_async_container",
    "make_container",
    "provide",
    "provide_all",
    "new_scope",
]

from .async_container import AsyncContainer, make_async_container
from .container import Container, make_container
from .dependency_source import (
    alias,
    decorate,
    from_context,
    provide,
    provide_all,
)
from .entities.component import DEFAULT_COMPONENT, Component
from .entities.depends_marker import FromDishka
from .entities.key import DependencyKey, FromComponent
from .entities.provides_marker import AnyOf
from .entities.scope import BaseScope, Scope, new_scope
from .entities.with_parents import WithParents
from .provider import Provider
