"""
SignNow API Client Package

This package provides a client for interacting with the SignNow API,
including OAuth2 authentication and token management.
"""

from .client import SignNowAPIClient
from .config import SignNowConfig, load_signnow_config
from .exceptions import (
    SignNowAPIAuthenticationError,
    SignNowAPIError,
    SignNowAPIHTTPError,
    SignNowAPINotFoundError,
    SignNowAPIRateLimitError,
    SignNowAPIServerError,
    SignNowAPITimeoutError,
)
from .models import (
    CreateDocumentEmbeddedEditorRequest,
    CreateDocumentEmbeddedInviteRequest,
    CreateDocumentEmbeddedSendingRequest,
    CreateDocumentFieldInviteRequest,
    CreateDocumentFromTemplateRequest,
    CreateDocumentGroupEmbeddedEditorRequest,
    CreateDocumentGroupEmbeddedSendingRequest,
    CreateDocumentGroupFromTemplateRequest,
    CreateEmbeddedEditorResponse,
    CreateEmbeddedInviteRequest,
    CreateEmbeddedSendingResponse,
    CreateFieldInviteRequest,
    DocumentEmbeddedInvite,
    DocumentFieldInviteRecipient,
    DocumentGroupTemplate,
    DocumentGroupTemplatesResponse,
    EmbeddedEditorData,
    EmbeddedInviteSigner,
    EmbeddedInviteStep,
    EmbeddedSendingData,
    FieldInviteAction,
    FieldInviteEmail,
    FieldInviteStep,
    GenerateDocumentEmbeddedInviteLinkRequest,
    GenerateEmbeddedInviteLinkRequest,
    MergeDocumentsRequest,
    Template,
    Thumbnail,
    User,
)
from .utils import decode_basic_auth, encode_basic_auth, validate_token_response

__all__ = [
    "SignNowAPIClient",
    "SignNowConfig",
    "load_signnow_config",
    "encode_basic_auth",
    "decode_basic_auth",
    "validate_token_response",
    "Thumbnail",
    "Template",
    "DocumentGroupTemplate",
    "DocumentGroupTemplatesResponse",
    "CreateDocumentGroupFromTemplateRequest",
    "CreateDocumentFromTemplateRequest",
    "CreateFieldInviteRequest",
    "FieldInviteStep",
    "FieldInviteAction",
    "FieldInviteEmail",
    "CreateDocumentFieldInviteRequest",
    "DocumentFieldInviteRecipient",
    "CreateDocumentEmbeddedEditorRequest",
    "CreateDocumentGroupEmbeddedEditorRequest",
    "EmbeddedEditorData",
    "CreateEmbeddedEditorResponse",
    "CreateDocumentEmbeddedInviteRequest",
    "DocumentEmbeddedInvite",
    "CreateEmbeddedInviteRequest",
    "CreateDocumentGroupEmbeddedSendingRequest",
    "EmbeddedSendingData",
    "CreateEmbeddedSendingResponse",
    "CreateDocumentEmbeddedSendingRequest",
    "EmbeddedInviteStep",
    "EmbeddedInviteSigner",
    "GenerateDocumentEmbeddedInviteLinkRequest",
    "GenerateEmbeddedInviteLinkRequest",
    "MergeDocumentsRequest",
    "User",
    "SignNowAPIError",
    "SignNowAPITimeoutError",
    "SignNowAPIHTTPError",
    "SignNowAPIAuthenticationError",
    "SignNowAPINotFoundError",
    "SignNowAPIRateLimitError",
    "SignNowAPIServerError",
]
__version__ = "1.0.0"
