"""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 ResourceType(str, Enum):
    r"""The resource type to associate translation with"""

    WORKFLOW = "workflow"
    LAYOUT = "layout"


class CreateTranslationRequestDtoTypedDict(TypedDict):
    resource_id: str
    r"""The resource ID to associate translation with. Accepts identifier or slug format"""
    resource_type: ResourceType
    r"""The resource type to associate translation with"""
    locale: str
    r"""Locale code (e.g., en_US, es_ES)"""
    content: Dict[str, Any]
    r"""Translation content as JSON object"""


class CreateTranslationRequestDto(BaseModel):
    resource_id: Annotated[str, pydantic.Field(alias="resourceId")]
    r"""The resource ID to associate translation with. Accepts identifier or slug format"""

    resource_type: Annotated[ResourceType, pydantic.Field(alias="resourceType")]
    r"""The resource type to associate translation with"""

    locale: str
    r"""Locale code (e.g., en_US, es_ES)"""

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