from abc import ABC, abstractmethod

from ..models.mail_request import MailRequest


class BaseMailer(ABC):
    """Clase base abstracta para proveedores de envío."""

    @abstractmethod
    def send_email(self, req: MailRequest) -> None:
        """Envía un email."""
        raise NotImplementedError