#[derive(Debug, Clone)]
pub enum Signal {
    /// Emitted when the list of conversations is updated.
    ConversationsUpdated,

    /// Emitted when the list of messages for a conversation is updated.
    /// Parameters:
    /// - conversation_id: The ID of the conversation that was updated.
    MessagesUpdated(String),

    /// Emitted when an attachment has been downloaded.
    /// Parameters:
    /// - attachment_id: The ID of the attachment that was downloaded.
    AttachmentDownloaded(String),

    /// Emitted when an attachment has been uploaded.
    /// Parameters:
    /// - upload_guid: The GUID of the upload.
    /// - attachment_guid: The GUID of the attachment on the server.
    AttachmentUploaded(String, String),

    /// Emitted when the update stream is reconnected after a timeout or configuration change.
    UpdateStreamReconnected,
}
