using Elsa.Diagnostics.StructuredLogs.Models; namespace Elsa.Diagnostics.StructuredLogs.Contracts; public interface IStructuredLogProvider { ValueTask PublishAsync(StructuredLogEvent logEvent, CancellationToken cancellationToken = default); ValueTask GetRecentAsync(StructuredLogFilter filter, CancellationToken cancellationToken = default); IAsyncEnumerable SubscribeAsync(StructuredLogFilter filter, CancellationToken cancellationToken = default); ValueTask> ListSourcesAsync(CancellationToken cancellationToken = default); }