using LightlessSync.API.Dto.Chat; namespace LightlessSync.Services.Chat; public sealed record ChatMessageEntry( ChatMessageDto Payload, string DisplayName, bool FromSelf, DateTime ReceivedAtUtc); public readonly record struct ChatChannelSnapshot( string Key, ChatChannelDescriptor Descriptor, string DisplayName, ChatChannelType Type, bool IsConnected, bool IsAvailable, string? StatusText, bool HasUnread, int UnreadCount, IReadOnlyList Messages); public readonly record struct ChatReportResult(bool Success, string? ErrorMessage);