"""Inbox Layer Python SDK."""

from ._version import __version__
from .client import AsyncInboxLayerClient, InboxLayerClient
from .exceptions import (
    InboxLayerError,
    InboxLayerHTTPError,
    InboxLayerNetworkError,
    InboxLayerRateLimitError,
    InboxLayerTimeoutError,
    InboxLayerAuthError,
    InboxLayerValidationError,
)
from .models import (
    Account,
    AuthResponse,
    CustomDomain,
    CustomDomainInput,
    CustomDomainPayload,
    Draft,
    DraftCollection,
    DraftInput,
    Email,
    EmailActionInput,
    EmailLabelPatch,
    EmailList,
    EmailSendInput,
    EmailSendResponse,
    EmailThread,
    EmailThreadList,
    ErrorResponse,
    Inbox,
    InboxCreate,
    InboxEmails,
    InboxList,
    MailboxLabel,
    MailboxLabelInput,
    MailboxLabelList,
    NotificationTokenInput,
    PasswordCredentials,
    PasswordInput,
    SendResult,
    SuccessResponse,
    User,
    WarmupStatus,
    WebhookSubscription,
    WebhookSubscriptionInput,
    WebhookSubscriptionPayload,
)
from .request_options import RequestOptions
from .security import verify_webhook_signature, verify_webhook_token
from .streams import SSEEvent

__all__ = [
    "__version__",
    "AsyncInboxLayerClient",
    "InboxLayerClient",
    "InboxLayerAuthError",
    "InboxLayerError",
    "InboxLayerHTTPError",
    "InboxLayerNetworkError",
    "InboxLayerRateLimitError",
    "InboxLayerTimeoutError",
    "InboxLayerValidationError",
    "RequestOptions",
    "SSEEvent",
    "verify_webhook_signature",
    "verify_webhook_token",
    "Account",
    "AuthResponse",
    "CustomDomain",
    "CustomDomainInput",
    "CustomDomainPayload",
    "Draft",
    "DraftCollection",
    "DraftInput",
    "Email",
    "EmailActionInput",
    "EmailLabelPatch",
    "EmailList",
    "EmailSendInput",
    "EmailSendResponse",
    "EmailThread",
    "EmailThreadList",
    "ErrorResponse",
    "Inbox",
    "InboxCreate",
    "InboxEmails",
    "InboxList",
    "MailboxLabel",
    "MailboxLabelInput",
    "MailboxLabelList",
    "NotificationTokenInput",
    "PasswordCredentials",
    "PasswordInput",
    "SendResult",
    "SuccessResponse",
    "User",
    "WarmupStatus",
    "WebhookSubscription",
    "WebhookSubscriptionInput",
    "WebhookSubscriptionPayload",
]
