namespace JSMR.Application.Jobs;

public interface IJobProgressWriter
{
    Task SetStepAsync(int jobId, string step, CancellationToken cancellationToken);
    Task SetProgressAsync(int jobId, int? current, int? total, CancellationToken cancellationToken);
    Task SetHeartbeatAsync(int jobId, CancellationToken cancellationToken);
    Task CompleteAsync(int jobId, string? summary, CancellationToken cancellationToken);
    Task FailAsync(int jobId, string error, CancellationToken cancellationTokenct);
}