using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

namespace StellaOps.Policy;

public interface IPolicySnapshotRepository
{
    Task<PolicySnapshot?> GetLatestAsync(CancellationToken cancellationToken = default);

    Task<IReadOnlyList<PolicySnapshot>> ListAsync(int limit, CancellationToken cancellationToken = default);

    Task AddAsync(PolicySnapshot snapshot, CancellationToken cancellationToken = default);
}
