"""Resletter Python SDK - Official SDK for the Resletter API."""

from resletter.client import Resletter
from resletter.exceptions import ResletterError
from resletter.types import (
    AddSubscribersToGroupParams,
    AddSubscribersToGroupResponse,
    BulkCreateResults,
    BulkSubscriberData,
    Campaign,
    CampaignStatus,
    CreateBulkSubscribersParams,
    CreateBulkSubscribersResponse,
    CreateCampaignParams,
    CreateGroupParams,
    CreateSubscriberParams,
    CreateSubscriberResponse,
    GroupRef,
    ListCampaignsParams,
    ListSubscribersParams,
    ListSubscribersResponse,
    Pagination,
    RemoveSubscribersFromGroupParams,
    RemoveSubscribersFromGroupResponse,
    Subscriber,
    SubscriberGroup,
    SubscriberStatus,
    TrackEventParams,
    TrackEventResponse,
    UpdateCampaignParams,
    UpdateGroupParams,
    UpdateSubscriberParams,
)

__version__ = "1.0.1"

__all__ = [
    # Main client
    "Resletter",
    # Errors
    "ResletterError",
    # Common types
    "Pagination",
    # Subscriber types
    "Subscriber",
    "SubscriberStatus",
    "GroupRef",
    "ListSubscribersParams",
    "ListSubscribersResponse",
    "CreateSubscriberParams",
    "CreateSubscriberResponse",
    "BulkSubscriberData",
    "CreateBulkSubscribersParams",
    "BulkCreateResults",
    "CreateBulkSubscribersResponse",
    "UpdateSubscriberParams",
    # Group types
    "SubscriberGroup",
    "CreateGroupParams",
    "UpdateGroupParams",
    "AddSubscribersToGroupParams",
    "RemoveSubscribersFromGroupParams",
    "AddSubscribersToGroupResponse",
    "RemoveSubscribersFromGroupResponse",
    # Campaign types
    "Campaign",
    "CampaignStatus",
    "ListCampaignsParams",
    "CreateCampaignParams",
    "UpdateCampaignParams",
    # Event types
    "TrackEventParams",
    "TrackEventResponse",
]
