from typing import Protocol


class SupportsLogging(Protocol):
    def log(self, level: int, message: str, *args: str, **kwargs: str) -> None: ...

    def debug(self, message: str, *args: str, **kwargs: str) -> None: ...

    def info(self, message: str, *args: str, **kwargs: str) -> None: ...

    def warning(self, message: str, *args: str, **kwargs: str) -> None: ...

    def error(self, message: str, *args: str, **kwargs: str) -> None: ...

    def critical(self, message: str, *args: str, **kwargs: str) -> None: ...

    def exception(self, message: str, *args: str, **kwargs: str) -> None: ...
