from abs_email_core.provider.base import EmailProvider
from abs_email_core.schema.email_schema import FileAttachment, SendMailRequest
from abs_email_core.service.template_service import TemplateService

__all__ = [
    "EmailProvider",
    "SendGridProvider",
    "TemplateService",
    "SendMailRequest",
    "FileAttachment",
]


def __getattr__(name):
    if name == "SendGridProvider":
        from abs_email_core.provider.sendgrid_provider import SendGridProvider

        return SendGridProvider
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
