"""
SignNow API Data Models

Pydantic models for SignNow API responses and requests.
"""

from .document_groups import *
from .other_models import *
from .templates_and_documents import *

__all__ = [
    # Templates and Documents
    "Thumbnail",
    "Template",
    "DocumentThumbnail",
    "DocumentSignature",
    "DocumentField",
    "DocumentRole",
    "DocumentPage",
    "DocumentShareInfo",
    "DocumentSettings",
    "DocumentFieldInviteEmailGroup",
    "DocumentFieldInviteStatus",
    "DocumentResponse",
    "DocumentFieldData",
    "GetDocumentFieldsResponse",
    "DocumentHistoryEvent",
    "EmailHistoryEvent",
    "GetDocumentHistoryResponse",
    "FolderDocument",
    "CreateDocumentFromUrlRequest",
    "CreateDocumentFromUrlResponse",
    "CreateTemplateRequest",
    "CreateTemplateResponse",
    "CreateDocumentFromTemplateRequest",
    "CreateDocumentFromTemplateResponse",
    "MergeDocumentsRequest",
    "MergeDocumentsResponse",
    "PrefillTextField",
    "PrefillTextFieldsRequest",
    # Document embedded models
    "DocumentEmbeddedInviteAuthentication",
    "DocumentEmbeddedInviteSignature",
    "DocumentEmbeddedInvite",
    "CreateDocumentEmbeddedInviteRequest",
    "DocumentEmbeddedInviteResponse",
    "CreateDocumentEmbeddedInviteResponse",
    "GenerateDocumentEmbeddedInviteLinkRequest",
    "GenerateDocumentEmbeddedInviteLinkResponse",
    "CreateDocumentEmbeddedEditorRequest",
    "EmbeddedEditorData",
    "CreateEmbeddedEditorResponse",
    "CreateDocumentEmbeddedSendingRequest",
    "EmbeddedSendingData",
    "CreateEmbeddedSendingResponse",
    "EmbeddedSendingError",
    "EmbeddedSendingErrorResponse",
    # Document field invite models
    "DocumentFieldInviteReminder",
    "DocumentFieldInviteAuthentication",
    "DocumentFieldInviteSignature",
    "DocumentFieldInviteEmailGroup",
    "DocumentFieldInviteRecipient",
    "DocumentFieldInviteEmailGroupItem",
    "DocumentFieldInviteCCStep",
    "DocumentFieldInviteApprover",
    "DocumentFieldInviteViewer",
    "CreateDocumentFieldInviteRequest",
    "CreateDocumentFieldInviteResponse",
    "CancelDocumentFieldInviteRequest",
    "CancelDocumentFieldInviteResponse",
    # Field Invite models (for document field signing)
    "FieldInviteReminder",
    "FieldInviteEmailGroup",
    "FieldInviteEmail",
    "FieldInviteAuthentication",
    "FieldInvitePaymentRequest",
    "FieldInviteSignature",
    "FieldInviteAction",
    "FieldInviteStep",
    "EmailGroup",
    "CompletionEmail",
    "CreateFieldInviteRequest",
    "CreateFieldInviteResponse",
    "FieldInviteActionStatus",
    "FieldInviteStepStatus",
    "FieldInviteStatus",
    "GetFieldInviteResponse",
    "SendEmailRequest",
    "FieldInviteRecipient",
    "GetRecipientsResponse",
    # Freeform Invite models (for document signing)
    "FreeformInviteRecipient",
    "CreateFreeformInviteRequest",
    "CreateFreeformInviteResponse",
    "CancelFreeformInviteRequest",
    # Document Freeform Invite models (for document signing without fields)
    "DocumentFreeformInviteRecipient",
    "CreateDocumentFreeformInviteRequest",
    "CreateDocumentFreeformInviteResponse",
    # Document upload models
    "UploadDocumentRequest",
    "UploadDocumentResponse",
    # General Embedded Invite models (for document signing)
    "EmbeddedInviteAuthentication",
    "EmbeddedInviteDocument",
    "EmbeddedInviteSigner",
    "EmbeddedInviteStep",
    "CreateEmbeddedInviteRequest",
    "CreateEmbeddedInviteResponse",
    "EmbeddedInviteResponse",
    "GenerateEmbeddedInviteLinkRequest",
    "GenerateEmbeddedInviteLinkResponse",
    "EmbeddedInviteLinkResponse",
    # Document Groups and Template Groups
    "DocumentGroupTemplate",
    "DocumentGroupTemplatesResponse",
    "DocumentGroupDocument",
    "DocumentGroup",
    "DocumentGroupsResponse",
    "GetDocumentGroupResponse",
    "GetDocumentGroupV2Response",
    "GetDocumentGroupTemplateResponse",
    "TemplateShort",
    "TemplateShortThumbnail",
    "DocumentGroupV2Owner",
    "DocumentGroupV2Thumbnail",
    "DocumentGroupV2EmailStatus",
    "DocumentGroupV2EmailGroup",
    "DocumentGroupV2FieldInvite",
    "DocumentGroupV2DocumentOwner",
    "DocumentGroupV2Document",
    "DocumentGroupV2FreeformInvite",
    "DocumentGroupV2Data",
    "CreateDocumentGroupRequest",
    "CreateDocumentGroupResponse",
    "CreateDocumentGroupTemplateRequest",
    "CreateDocumentGroupTemplateResponse",
    "CreateDocumentGroupTemplateFromGroupRequest",
    "AddTemplateToDocumentGroupTemplateRequest",
    "AddTemplateToDocumentGroupTemplateResponse",
    "CreateDocumentGroupFromTemplateRequest",
    "CreateDocumentGroupFromTemplateResponse",
    "DocumentGroupTemplateDocument",
    "DocumentGroupTemplateRecipientReminder",
    "DocumentGroupTemplateRecipientAuthentication",
    "DocumentGroupTemplateRecipientAttributes",
    "DocumentGroupTemplateRecipient",
    "UnmappedDocument",
    "AllowedUnmappedSignDocument",
    "GetDocumentGroupTemplateRecipientsResponse",
    "EditDocumentGroupTemplateRecipientsRequest",
    # Document group embedded models
    "CreateDocumentGroupEmbeddedEditorRequest",
    "CreateDocumentGroupEmbeddedSendingRequest",
    # Other Models
    "OrganizationSetting",
    "DocumentDownloadLinkResponse",
    "DocumentRoleName",
    "DocumentGroupDocument",
    "DocumentItem",
    "DocumentGroupItem",
    "FolderDoc",
    "FolderSubFolder",
    "Folder",
    "GetFoldersResponse",
    "GetFolderByIdResponse",
    # User API Models
    "User",
]
