from typing import TypedDict, Optional, List from validators.member import ChatMember from validators.message import Message class Chat(TypedDict): id: str members: List[int] admins: List[int] title: str updatedAt: Optional[int] createdAt: int createdBy: int description: Optional[str] class ChatPayload(TypedDict): id: str members: List[int | ChatMember] admins: List[int] title: str updatedAt: Optional[int] createdAt: int createdBy: int description: Optional[str] messages: Optional[List[Message]] unread: Optional[List[int]] class ChatUpdate(TypedDict): id: str members: List[int] admins: List[int] title: str description: Optional[str]