# Generated by ariadne-codegen
# Source: exponent/core/graphql/operations

from typing import Any, List, Literal, Optional, Union

from pydantic import Field

from .base_model import BaseModel


class Chats(BaseModel):
    chats: Union["ChatsChatsUnauthenticatedError", "ChatsChatsChats"] = Field(
        discriminator="typename__"
    )


class ChatsChatsUnauthenticatedError(BaseModel):
    typename__: Literal["UnauthenticatedError"] = Field(alias="__typename")
    message: str


class ChatsChatsChats(BaseModel):
    typename__: Literal["Chats"] = Field(alias="__typename")
    chats: List["ChatsChatsChatsChats"]


class ChatsChatsChatsChats(BaseModel):
    id: str
    chat_uuid: str = Field(alias="chatUuid")
    name: Optional[str]
    subtitle: Optional[str]
    is_shared: bool = Field(alias="isShared")
    is_started: bool = Field(alias="isStarted")
    updated_at: Any = Field(alias="updatedAt")


Chats.model_rebuild()
ChatsChatsChats.model_rebuild()
