using Elsa.Caching;
namespace Elsa.Http.Contracts;
/// <summary>
/// Represents a service that caches HTTP workflows and triggers.
/// </summary>
public interface IHttpWorkflowsCacheManager
{
/// Gets the cache manager.
public ICacheManager Cache { get; }
/// Evicts a cached entry by its definition ID.
Task EvictWorkflowAsync(string workflowDefinitionId, CancellationToken cancellationToken = default);
/// Evicts a cached entry by its bookmark hash.
Task EvictTriggerAsync(string bookmarkHash, CancellationToken cancellationToken = default);
/// Gets the key for a workflow change token.
string GetWorkflowChangeTokenKey(string workflowDefinitionId);
/// Gets the key for a trigger change token.
string GetTriggerChangeTokenKey(string bookmarkHash);
}