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

from __future__ import annotations
from ascend_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class UploadLinkTypedDict(TypedDict):
    r"""Maps the correlation id to the signed link that can be used to upload the described document."""

    client_batch_source_id: NotRequired[str]
    r"""User-provided identifier that relates this signed link with the request used to get it"""
    name: NotRequired[str]
    r"""Identifier for the upload link; This can be used to retrieve the document after it is uploaded"""
    upload_link: NotRequired[str]
    r"""Signed link used to upload a document; The link expires one hour after being generated"""


class UploadLink(BaseModel):
    r"""Maps the correlation id to the signed link that can be used to upload the described document."""

    client_batch_source_id: Optional[str] = None
    r"""User-provided identifier that relates this signed link with the request used to get it"""

    name: Optional[str] = None
    r"""Identifier for the upload link; This can be used to retrieve the document after it is uploaded"""

    upload_link: Optional[str] = None
    r"""Signed link used to upload a document; The link expires one hour after being generated"""
