using Microsoft.Graph; using onedrive_backup.Contracts; using onedrive_backup.Graph; namespace hassio_onedrive_backup.Graph { public interface IGraphHelper { string AuthUrl { get; } string AuthCode { get; } bool? IsAuthenticated { get; } event AuthStatusChanged AuthStatusChangedEventHandler; Task GetAndCacheUserTokenAsync(); Task> GetItemsInAppFolderAsync(string subPath = ""); Task GetItemInAppFolderAsync(string subPath = ""); Task DeleteItemFromAppFolderAsync(string itemPath); Task UploadFileAsync(string filePath, DateTime date, string? instanceName, TransferSpeedHelper transferSpeedHelper, string? destinationFileName = null, Action? progressCallback = null, bool flatten = true, string description = null); Task DownloadFileAsync(string fileName, Action? progressCallback); Task GetFreeSpaceInGB(); Task GetOrCreateFolder(string path); } public delegate void AuthStatusChanged(); }