using Elsa.Workflows.Activities;
using Elsa.Workflows.Runtime.Entities;
namespace Elsa.Http.Contracts;
///
/// Represents a service that caches HTTP workflows and triggers.
///
public interface IHttpWorkflowsCacheManager
{
///
/// Finds a cached entry by bookmark hash.
///
Task<(Workflow? Workflow, ICollection Triggers)?> FindWorkflowAsync(string bookmarkHash, CancellationToken cancellationToken = default);
///
/// 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);
}