using System.Threading;
using System.Threading.Tasks;
namespace StellaOps.Auth.Client;
///
/// Abstraction for caching StellaOps tokens.
///
public interface IStellaOpsTokenCache
{
///
/// Retrieves a cached token entry, if present.
///
ValueTask GetAsync(string key, CancellationToken cancellationToken = default);
///
/// Stores or updates a token entry for the specified key.
///
ValueTask SetAsync(string key, StellaOpsTokenCacheEntry entry, CancellationToken cancellationToken = default);
///
/// Removes the cached entry for the specified key.
///
ValueTask RemoveAsync(string key, CancellationToken cancellationToken = default);
}