from typing import Any

from ....core.interfaces.dto import Dto
from ....core.interfaces.core import Core
from ....enums.career.products import ProductFeatureType


class ProductFeature[Properties: Any](Core[Properties]):
  type: ProductFeatureType

  title: str  # Color, ...
  value: bool | int | str


# ----------------------------------------
# Data Transfer Object Interface
# ----------------------------------------


class ProductFeatureDto[Properties: Any](Dto[Properties]):
  type: ProductFeatureType

  title: str  # Color, ...
  value: bool | int | str
