"""Commune – Python SDK for email infrastructure."""

from commune.client import CommuneClient
from commune.async_client import AsyncCommuneClient
from commune.types import (
    ContractModel,
    Domain,
    DomainDnsRecord,
    Inbox,
    InboxWebhook,
    Thread,
    ThreadList,
    Message,
    Participant,
    MessageMetadata,
    Attachment,
    AttachmentUpload,
    AttachmentUrl,
    DomainVerificationResult,
    DeleteResult,
    DeliveryEventEntry,
    DeliveryMetricsResult,
    ExtractionSchemaPayload,
    SearchThreadResult,
    SendMessageResult,
    SendMessagePayload,
    SuppressionEntry,
    ThreadMetadataEntry,
    CreateDomainPayload,
    CreateInboxPayload,
    UpdateInboxPayload,
    SetInboxWebhookPayload,
    UploadAttachmentPayload,
    PhoneNumber,
    UpdatePhoneNumberPayload,
    PhoneSettings,
    SmsConversation,
    SmsMessage,
    SendSmsPayload,
    SendSmsResult,
    CreditBalance,
    CreditBundle,
)
from commune.exceptions import (
    CommuneError,
    AuthenticationError,
    PermissionDeniedError,
    PermissionError,
    NotFoundError,
    ValidationError,
    RateLimitError,
)
from commune.webhooks import verify_signature, compute_signature, WebhookVerificationError

__all__ = [
    "CommuneClient",
    "AsyncCommuneClient",
    "ContractModel",
    "Domain",
    "DomainDnsRecord",
    "Inbox",
    "InboxWebhook",
    "Thread",
    "ThreadList",
    "Message",
    "Participant",
    "MessageMetadata",
    "Attachment",
    "AttachmentUpload",
    "AttachmentUrl",
    "DomainVerificationResult",
    "DeleteResult",
    "DeliveryEventEntry",
    "DeliveryMetricsResult",
    "ExtractionSchemaPayload",
    "SearchThreadResult",
    "SendMessageResult",
    "SendMessagePayload",
    "SuppressionEntry",
    "ThreadMetadataEntry",
    "CreateDomainPayload",
    "CreateInboxPayload",
    "UpdateInboxPayload",
    "SetInboxWebhookPayload",
    "UploadAttachmentPayload",
    "PhoneNumber",
    "UpdatePhoneNumberPayload",
    "PhoneSettings",
    "SmsConversation",
    "SmsMessage",
    "SendSmsPayload",
    "SendSmsResult",
    "CreditBalance",
    "CreditBundle",
    "CommuneError",
    "AuthenticationError",
    "PermissionDeniedError",
    "PermissionError",
    "NotFoundError",
    "ValidationError",
    "RateLimitError",
    "verify_signature",
    "compute_signature",
    "WebhookVerificationError",
]

__version__ = "0.3.2"
