"""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 List, Union
from typing_extensions import Annotated, TypeAliasType, TypedDict


MessageIDTypedDict = TypeAliasType("MessageIDTypedDict", Union[str, List[str]])


MessageID = TypeAliasType("MessageID", Union[str, List[str]])


class MessageMarkAsRequestDtoMarkAs(str, Enum):
    READ = "read"
    SEEN = "seen"
    UNREAD = "unread"
    UNSEEN = "unseen"


class MessageMarkAsRequestDtoTypedDict(TypedDict):
    message_id: MessageIDTypedDict
    mark_as: MessageMarkAsRequestDtoMarkAs


class MessageMarkAsRequestDto(BaseModel):
    message_id: Annotated[MessageID, pydantic.Field(alias="messageId")]

    mark_as: Annotated[MessageMarkAsRequestDtoMarkAs, pydantic.Field(alias="markAs")]
