import Foundation // MARK: - Card Interaction /// Tracks user interactions with rich content cards (accept, decline, counter, etc.). public struct CardInteraction: Codable, Identifiable, Hashable, Sendable { public let id: String public let messageId: String public let userId: String public let action: CardInteractionAction public let createdAt: Date public init( id: String, messageId: String, userId: String, action: CardInteractionAction, createdAt: Date ) { self.id = id self.messageId = messageId self.userId = userId self.action = action self.createdAt = createdAt } } // MARK: - Card Interaction Action public enum CardInteractionAction: String, Codable, Hashable, Sendable { case accepted case declined case countered case viewed case expired }