using SatelliteProvider.Common.DTO;

namespace SatelliteProvider.Common.Interfaces;

public interface ISatelliteDownloader
{
    Task<DownloadedTileInfoV2> DownloadSingleTileAsync(
        double latitude, double longitude, int zoomLevel,
        CancellationToken token = default);

    Task<List<DownloadedTileInfoV2>> GetTilesWithMetadataAsync(
        GeoPoint centerGeoPoint, double radiusM, int zoomLevel,
        IEnumerable<ExistingTileInfo> existingTiles,
        CancellationToken token = default);
}
