using AssetStoreTools.Api.Models; using AssetStoreTools.Api.Responses; using System; using System.Threading; using System.Threading.Tasks; namespace AssetStoreTools.Api { internal interface IAssetStoreApi { Task GetLatestAssetStoreToolsVersion(CancellationToken cancellationToken = default); Task Authenticate(IAuthenticationType authenticationType, CancellationToken cancellationToken = default); void Deauthenticate(); Task GetPackages(CancellationToken cancellationToken = default); Task GetCategories(CancellationToken cancellationToken = default); Task GetPackageThumbnail(Package package, CancellationToken cancellationToken = default); Task RefreshPackageMetadata(Package package, CancellationToken cancellationToken = default); Task GetPackageUploadedVersions(Package package, CancellationToken cancellationToken = default); Task UploadPackage(IPackageUploader uploader, IProgress progress = null, CancellationToken cancellationToken = default); } }