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

import typing_extensions
import typing_extensions
import typing
from .catalog_custom_attribute_definition_selection_config_custom_attribute_selection import (
    CatalogCustomAttributeDefinitionSelectionConfigCustomAttributeSelectionParams,
)


class CatalogCustomAttributeDefinitionSelectionConfigParams(typing_extensions.TypedDict):
    """
    Configuration associated with `SELECTION`-type custom attribute definitions.
    """

    max_allowed_selections: typing_extensions.NotRequired[typing.Optional[int]]
    """
    The maximum number of selections that can be set. The maximum value for this
    attribute is 100. The default value is 1. The value can be modified, but changing the value will not
    affect existing custom attribute values on objects. Clients need to
    handle custom attributes with more selected values than allowed by this limit.
    """

    allowed_selections: typing_extensions.NotRequired[
        typing.Optional[typing.Sequence[CatalogCustomAttributeDefinitionSelectionConfigCustomAttributeSelectionParams]]
    ]
    """
    The set of valid `CatalogCustomAttributeSelections`. Up to a maximum of 100
    selections can be defined. Can be modified.
    """
