using System;
using Svrnty.CQRS.Events.Abstractions.Models;
namespace Svrnty.CQRS.Events.Abstractions.Models;
///
/// Result of a retention policy cleanup operation.
/// Contains statistics about the cleanup process.
///
public record RetentionCleanupResult
{
///
/// Number of streams that were processed during cleanup.
///
public required int StreamsProcessed { get; init; }
///
/// Total number of events deleted across all streams.
///
public required long EventsDeleted { get; init; }
///
/// How long the cleanup operation took.
///
public required TimeSpan Duration { get; init; }
///
/// When the cleanup operation completed.
///
public required DateTimeOffset CompletedAt { get; init; }
///
/// Per-stream cleanup details (optional).
///
public System.Collections.Generic.Dictionary? EventsDeletedPerStream { get; init; }
}