Interface for audit writers. Declares async methods BeginAsync, CompleteAsync, and RecordAsync that take an AuditAction and cancellation token, and Complete/Record include a CommandStatus outcome, returning Task<bool>.
namespace SboxSuperuser.Engine.Audit;
internal interface IAuditWriter
{
Task<bool> BeginAsync( AuditAction action, CancellationToken cancellation );
Task<bool> CompleteAsync( AuditAction action, CommandStatus outcome, CancellationToken cancellation );
Task<bool> RecordAsync( AuditAction action, CommandStatus outcome, CancellationToken cancellation );
}