using System.Threading;
using System.Threading.Tasks;
using StellaOps.Vexer.Attestation.Dsse;

namespace StellaOps.Vexer.Attestation.Transparency;

public sealed record TransparencyLogEntry(string Id, string Location, string? LogIndex, string? InclusionProofUrl);

public interface ITransparencyLogClient
{
    ValueTask<TransparencyLogEntry> SubmitAsync(DsseEnvelope envelope, CancellationToken cancellationToken);

    ValueTask<bool> VerifyAsync(string entryLocation, CancellationToken cancellationToken);
}
