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

from __future__ import annotations
from enum import Enum
from novu_py.types import BaseModel
from novu_py.utils import FieldMetadata
import pydantic
from typing_extensions import Annotated, TypedDict


class UploadTranslationsRequestDtoResourceType(str, Enum):
    r"""The resource type to associate localizations with"""

    WORKFLOW = "workflow"
    LAYOUT = "layout"


class UploadTranslationsRequestDtoTypedDict(TypedDict):
    resource_id: str
    r"""The resource ID to associate localizations with. Accepts identifier or slug format"""
    resource_type: UploadTranslationsRequestDtoResourceType
    r"""The resource type to associate localizations with"""


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

    resource_type: Annotated[
        UploadTranslationsRequestDtoResourceType,
        pydantic.Field(alias="resourceType"),
        FieldMetadata(multipart=True),
    ]
    r"""The resource type to associate localizations with"""
