using System;
using System.Collections.Generic;
namespace Svrnty.CQRS.Events.ConsumerGroups.Abstractions;
///
/// Information about a consumer in a consumer group.
///
public record ConsumerInfo
{
///
/// The consumer ID.
///
public required string ConsumerId { get; init; }
///
/// The consumer group ID.
///
public required string GroupId { get; init; }
///
/// The last heartbeat timestamp from this consumer.
///
public required DateTimeOffset LastHeartbeat { get; init; }
///
/// When the consumer was first registered.
///
public required DateTimeOffset RegisteredAt { get; init; }
///
/// Optional metadata about the consumer (e.g., hostname, version).
///
public IReadOnlyDictionary? Metadata { get; init; }
}