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

from __future__ import annotations
import typing_extensions
import typing_extensions
import typing
import typing

if typing.TYPE_CHECKING:
    from .catalog_object import CatalogObjectParams


class CatalogItemOptionParams(typing_extensions.TypedDict):
    """
    A group of variations for a `CatalogItem`.
    """

    name: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The item option's display name for the seller. Must be unique across
    all item options. This is a searchable attribute for use in applicable query filters.
    """

    display_name: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The item option's display name for the customer. This is a searchable attribute for use in applicable query filters.
    """

    description: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The item option's human-readable description. Displayed in the Square
    Point of Sale app for the seller and in the Online Store or on receipts for
    the buyer. This is a searchable attribute for use in applicable query filters.
    """

    show_colors: typing_extensions.NotRequired[typing.Optional[bool]]
    """
    If true, display colors for entries in `values` when present.
    """

    values: typing_extensions.NotRequired[typing.Optional[typing.Sequence["CatalogObjectParams"]]]
    """
    A list of CatalogObjects containing the
    `CatalogItemOptionValue`s for this item.
    """
