namespace TrafagSalesExporter.Services; public interface ISharePointUploadService { Task UploadAsync(string tenantId, string clientId, string clientSecret, string siteUrl, string exportFolder, string land, string localFilePath, bool uploadTimestampedCopyIfLocked = false); Task DownloadToTempFileAsync(string tenantId, string clientId, string clientSecret, string siteUrl, string fileReference); Task ResolveLatestFileInFolderAsync(string tenantId, string clientId, string clientSecret, string siteUrl, string folderReference, string siteTsc, int? preferredYear = null); Task> ResolveManualImportFilesInFolderAsync(string tenantId, string clientId, string clientSecret, string siteUrl, string folderReference, string siteTsc, int? preferredYear = null); Task TestConnectionAsync(string tenantId, string clientId, string clientSecret, string siteUrl); } public sealed record SharePointFileReference(string FileReference, DateTimeOffset? LastModifiedUtc);