# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Optional
from typing_extensions import Literal

from pydantic import Field as FieldInfo

from ...._models import BaseModel
from ...views.hero_view import HeroView

__all__ = ["ShowGroupRetrieveResponse", "Display"]


class Display(BaseModel):
    header_text: str = FieldInfo(alias="headerText")
    """Text to show in header view on ShowGroup page (nonnull, could be empty)"""

    header_text_color: str = FieldInfo(alias="headerTextColor")
    """Color in hex "FFFFFF" | "FFF" (nullable, valid hex color)"""

    logo_url: str = FieldInfo(alias="logoUrl")
    """A link points to an external resource. For images we using IMGX.

    To get the right size see link "https://docs.imgix.com/apis/url/size"
    """

    theme_color: str = FieldInfo(alias="themeColor")
    """Color in hex "FFFFFF" | "FFF" (nullable, valid hex color)"""

    logo_v1_url: Optional[str] = FieldInfo(alias="logoV1Url", default=None)
    """A link points to an external resource. For images we using IMGX.

    To get the right size see link "https://docs.imgix.com/apis/url/size"
    """


class ShowGroupRetrieveResponse(BaseModel):
    id: Optional[int] = None
    """Numeric identifier for a resource"""

    api_type: Optional[Literal["ShowGroup", "ShowGroupHeroEssentials"]] = FieldInfo(alias="_type", default=None)

    display: Optional[Display] = None

    hero_views: Optional[List[HeroView]] = FieldInfo(alias="heroViews", default=None)
    """List of HeroView (nonnull)"""

    name: Optional[str] = None
    """ShowGroup name"""
