# Email backend (existing functionality)
from .emails import NotifiedByEmailBackend, send_email_via_api

# Flow management
from .flows import (
    subscribe_to_flow,
    unsubscribe_from_flow,
    list_flow_subscriptions,
    delete_all_subscriptions,
)

# Recipient management
from .recipients import (
    create_or_update_recipient,
    list_recipients,
    set_recipient_flags,
    clear_recipient_flags,
)

# Email querying
from .queries import (
    get_email_detail,
    list_sent_emails,
    get_email_delivery_status,
)

# HTTP client
from .client import NotifiedByClient

# Exceptions
from .exceptions import (
    NotifiedByError,
    NotifiedByAPIError,
    NotifiedByConfigError,
    NotifiedByValidationError,
    NotifiedByAuthError,
    NotifiedByNotFoundError,
)

__all__ = [
    # Email backend (existing)
    'NotifiedByEmailBackend',
    'send_email_via_api',

    # Flows
    'subscribe_to_flow',
    'unsubscribe_from_flow',
    'list_flow_subscriptions',
    'delete_all_subscriptions',

    # Recipients
    'create_or_update_recipient',
    'list_recipients',
    'set_recipient_flags',
    'clear_recipient_flags',

    # Queries
    'get_email_detail',
    'list_sent_emails',
    'get_email_delivery_status',

    # Client
    'NotifiedByClient',

    # Exceptions
    'NotifiedByError',
    'NotifiedByAPIError',
    'NotifiedByConfigError',
    'NotifiedByValidationError',
    'NotifiedByAuthError',
    'NotifiedByNotFoundError',
]