from logbroker.public.api.protos.config_manager_pb2 import SingleModifyRequest
from logbroker.public.api.protos.common_pb2 import IntOrDefaultValue, StringOrDefaultValue, DirectoryProperties
from saas.library.python.logbroker.configuration.entities import LogbrokerEntity

class LogbrokerDirectory(LogbrokerEntity):
    _PROP_TYPE_MAPPING = {
        'abc_service': StringOrDefaultValue,
        'abc_id': IntOrDefaultValue,
        'responsible': StringOrDefaultValue,
        'mailing_list': StringOrDefaultValue
    }
    _PROP_CLASS = DirectoryProperties

    def __repr__(self)-> str: ...

    @classmethod
    def make_create_request(
        cls, path: str, abc_service: str, abc_id: int, responsible=list[str], mailing_list=str
    ) -> SingleModifyRequest: ...
