using SharepointToolbox.Web.Core.Models; namespace SharepointToolbox.Web.Services.Reports; public interface IScheduledReportRunner { /// /// Generates one report for the given schedule using app-only auth, writes the /// file under the client's exports subfolder, records it in the report index, and /// audit-logs the run. Never throws for report-level failures — a failed run is /// captured as a with . /// Task RunAsync(ScheduledReport schedule, CancellationToken ct = default); }