# This file was auto-generated by Fern from our API Definition.

import typing_extensions
import typing_extensions


class InvoiceAttachmentParams(typing_extensions.TypedDict):
    """
    Represents a file attached to an [invoice](entity:Invoice).
    """

    id: typing_extensions.NotRequired[str]
    """
    The Square-assigned ID of the attachment.
    """

    filename: typing_extensions.NotRequired[str]
    """
    The file name of the attachment, which is displayed on the invoice.
    """

    description: typing_extensions.NotRequired[str]
    """
    The description of the attachment, which is displayed on the invoice.
    This field maps to the seller-defined **Message** field.
    """

    filesize: typing_extensions.NotRequired[int]
    """
    The file size of the attachment in bytes.
    """

    hash: typing_extensions.NotRequired[str]
    """
    The MD5 hash that was generated from the file contents.
    """

    mime_type: typing_extensions.NotRequired[str]
    """
    The mime type of the attachment.
    The following mime types are supported: 
    image/gif, image/jpeg, image/png, image/tiff, image/bmp, application/pdf.
    """

    uploaded_at: typing_extensions.NotRequired[str]
    """
    The timestamp when the attachment was uploaded, in RFC 3339 format.
    """
