from abc import ABC, abstractmethod class ISender(ABC): @abstractmethod async def send( self, to: str, subject: str, body: str, plain: str | None = None, *, inline_png: tuple[str, bytes] | None = None, ) -> None: raise NotImplementedError