"""Public package interface for adstractai."""

from adstractai.client import Adstract
from adstractai.errors import (
    AdAcknowledgmentError,
    AdEnhancementError,
    AdResponseNotFoundError,
    AdSDKError,
    AuthenticationError,
    DuplicateAcknowledgmentError,
    DuplicateAdRequestError,
    NetworkError,
    NoFillError,
    PromptRejectedError,
    RateLimitError,
    ServerError,
    UnexpectedResponseError,
    UnsuccessfulAdResponseError,
    ValidationError,
)
from adstractai.models import (
    AdAck,
    AdAckResponse,
    AdRequest,
    AdRequestContext,
    AdResponse,
    Diagnostics,
    EnhancementResult,
    OptionalContext,
)

__all__ = [
    "Adstract",
    "AdAck",
    "AdAckResponse",
    "AdRequest",
    "AdRequestContext",
    "AdResponse",
    "Diagnostics",
    "EnhancementResult",
    "OptionalContext",
    "AdSDKError",
    "AdAcknowledgmentError",
    "AdEnhancementError",
    "AdResponseNotFoundError",
    "AuthenticationError",
    "DuplicateAcknowledgmentError",
    "DuplicateAdRequestError",
    "NetworkError",
    "NoFillError",
    "PromptRejectedError",
    "RateLimitError",
    "ServerError",
    "UnsuccessfulAdResponseError",
    "UnexpectedResponseError",
    "ValidationError",
]
