"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from enum import Enum
from gusto_embedded.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class GeneratedDocumentStatus(str, Enum):
    r"""Current status of the Generated Document"""

    PENDING = "pending"
    STARTED = "started"
    SUCCEEDED = "succeeded"
    FAILED = "failed"


class GeneratedDocumentTypedDict(TypedDict):
    r"""Example response"""

    request_uuid: NotRequired[str]
    r"""A unique identifier of the Generated Document request"""
    status: NotRequired[GeneratedDocumentStatus]
    r"""Current status of the Generated Document"""
    document_urls: NotRequired[List[str]]
    r"""The array of urls to access the documents."""


class GeneratedDocument(BaseModel):
    r"""Example response"""

    request_uuid: Optional[str] = None
    r"""A unique identifier of the Generated Document request"""

    status: Optional[GeneratedDocumentStatus] = None
    r"""Current status of the Generated Document"""

    document_urls: Optional[List[str]] = None
    r"""The array of urls to access the documents."""
