from typing import Iterable, Mapping

import ch.qos.logback.classic
from dev.coatl.helper.types import AnyStr
from java.lang import Enum

class LogFilterSettings:
    def addPropertyFilter(self, key: AnyStr, value: AnyStr) -> None: ...
    def clearPropertyLevel(self, key: AnyStr, value: AnyStr) -> None: ...
    def clearPropertyLevels(self) -> None: ...
    def propertyFilterSettings(self) -> Mapping[AnyStr, Mapping[AnyStr, Level]]: ...
    def removePropertyFilter(self, key: AnyStr, value: AnyStr) -> None: ...
    def setLevel(self, logger: AnyStr, level: Level) -> None: ...
    def setPropertyLevel(self, key: AnyStr, value: AnyStr, level: Level) -> None: ...

class Level(Enum):
    def toLevel(self, value: ch.qos.logback.classic.Level) -> Level: ...
    def toLogBack(self) -> ch.qos.logback.classic.Level: ...
    @staticmethod
    def values() -> Iterable[Level]: ...
