"""
Module providing typed dicts for the metadata ModuleMeta:
- pest/metadata/types/module_meta.py

ATTENTION:
This file was auto-generated by `task gen:types`.
Do not edit manually.
"""

from typing import List, Type, TypedDict, Union

from ...core.controller import Controller
from ...metadata.types.module_meta import InjectionToken, Provider


class ModuleMetaDict(TypedDict, total=False):
    imports: Union[List[type], None]
    '''🐀 ⇝ list of modules to be imported'''

    providers: Union[List[Provider], None]
    '''🐀 ⇝ list of providers to be registered'''

    exports: Union[List[InjectionToken], None]
    '''🐀 ⇝ list of providers to be exported'''

    controllers: Union[List[Type[Controller]], None]
    '''🐀 ⇝ list of controllers to be registered'''
