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

from __future__ import annotations
from enum import Enum
from novu_py.types import BaseModel
import pydantic
from typing import Any, Dict
from typing_extensions import Annotated, TypedDict


class TranslationResponseDtoResourceType(str, Enum):
    r"""Resource type"""

    WORKFLOW = "workflow"
    LAYOUT = "layout"


class TranslationResponseDtoTypedDict(TypedDict):
    resource_id: str
    r"""Resource identifier"""
    resource_type: TranslationResponseDtoResourceType
    r"""Resource type"""
    locale: str
    r"""Locale code"""
    content: Dict[str, Any]
    r"""Translation content as JSON object"""
    created_at: str
    r"""Creation timestamp"""
    updated_at: str
    r"""Last update timestamp"""


class TranslationResponseDto(BaseModel):
    resource_id: Annotated[str, pydantic.Field(alias="resourceId")]
    r"""Resource identifier"""

    resource_type: Annotated[
        TranslationResponseDtoResourceType, pydantic.Field(alias="resourceType")
    ]
    r"""Resource type"""

    locale: str
    r"""Locale code"""

    content: Dict[str, Any]
    r"""Translation content as JSON object"""

    created_at: Annotated[str, pydantic.Field(alias="createdAt")]
    r"""Creation timestamp"""

    updated_at: Annotated[str, pydantic.Field(alias="updatedAt")]
    r"""Last update timestamp"""
