namespace ZB.MOM.WW.OtOpcUa.Configuration.LocalCache;

/// <summary>
///     Per-node local cache of the most-recently-applied generation(s). Used to bootstrap the
///     address space when the central DB is unreachable (decision #79 — degraded-but-running).
/// </summary>
public interface ILocalConfigCache
{
    Task<GenerationSnapshot?> GetMostRecentAsync(string clusterId, CancellationToken ct = default);
    Task PutAsync(GenerationSnapshot snapshot, CancellationToken ct = default);
    Task PruneOldGenerationsAsync(string clusterId, int keepLatest = 10, CancellationToken ct = default);
}
