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

from __future__ import annotations
from .simpleformfieldoption import SimpleFormFieldOption, SimpleFormFieldOptionTypedDict
from apideck_unify.types import BaseModel
from enum import Enum
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class FormFieldOptionGroupOptionType(str, Enum):
    GROUP = "group"


class FormFieldOptionGroupTypedDict(TypedDict):
    label: str
    options: List[SimpleFormFieldOptionTypedDict]
    option_type: FormFieldOptionGroupOptionType
    id: NotRequired[str]


class FormFieldOptionGroup(BaseModel):
    label: str

    options: List[SimpleFormFieldOption]

    option_type: FormFieldOptionGroupOptionType

    id: Optional[str] = None
