from typing import Annotated, Any, Dict, Union
from sinch.core.models.internal.unions import ResolveUnion
from sinch.domains.conversation.models.v1.internal.base.base_model_configuration import (
BaseModelConfiguration,
)
from sinch.domains.conversation.models.v1.events.shared.agent_joined_event import (
AgentJoinedEvent,
)
from sinch.domains.conversation.models.v1.events.shared.agent_left_event import (
AgentLeftEvent,
)
from sinch.domains.conversation.models.v1.events.shared.comment_reply_event import (
CommentReplyEvent,
)
from sinch.domains.conversation.models.v1.events.shared.generic_event import (
GenericEvent,
)
[docs]
class ComposingAppEvent(BaseModelConfiguration):
composing_event: Dict[str, Any]
[docs]
class ComposingEndAppEvent(BaseModelConfiguration):
composing_end_event: Dict[str, Any]
[docs]
class ReadMessageAppEvent(BaseModelConfiguration):
read_message_event: Dict[str, Any]
[docs]
class AgentJoinedAppEvent(BaseModelConfiguration):
agent_joined_event: AgentJoinedEvent
[docs]
class AgentLeftAppEvent(BaseModelConfiguration):
agent_left_event: AgentLeftEvent
[docs]
class GenericAppEvent(BaseModelConfiguration):
generic_event: GenericEvent
AppEvent = Annotated[
Union[
ComposingAppEvent,
ComposingEndAppEvent,
ReadMessageAppEvent,
CommentReplyAppEvent,
AgentJoinedAppEvent,
AgentLeftAppEvent,
GenericAppEvent,
],
ResolveUnion(),
]