"""
This type stub file was generated by pyright.
"""

from typing import Optional

class EmailNotValidError(ValueError):
    """Parent class of all exceptions raised by this module."""


class EmailSyntaxError(EmailNotValidError):
    """Exception raised when an email address fails validation because of its form."""


class EmailUndeliverableError(EmailNotValidError):
    """Exception raised when an email address fails validation because its domain name does not appear deliverable."""


class ValidatedEmail:
    """The validate_email function returns objects of this type holding the normalized form of the email address
    and other information."""
    original: str
    normalized: str
    local_part: str
    domain: str
    domain_address: object
    ascii_email: Optional[str]
    ascii_local_part: Optional[str]
    ascii_domain: str
    smtputf8: bool
    mx: list
    mx_fallback_type: str
    def __init__(self, **kwargs) -> None:
        ...


    def __getattr__(self, key): # -> str:
        ...

    @property
    def email(self): # -> str:
        ...

    def __getitem__(self, key): # -> str | bool | list[Any] | None:
        ...

    def __eq__(self, other) -> bool:
        ...

    def as_constructor(self): # -> str:
        ...

    def as_dict(self): # -> dict[str, Any]:
        ...



