using System.Threading;
using System.Threading.Tasks;
namespace Knot.Modules.Profiles.Application.Abstractions;
///
/// Интерфейс для хранения аватаров в S3 (MinIO).
/// Отдельный от IFileStorageService модуля Storage,
/// чтобы не создавать прямой зависимости на Storage модуль.
///
public interface IAvatarStorageService
{
///
/// Загружает файл в S3-бакет аватаров и возвращает fileId (ключ объекта).
///
Task UploadAsync(System.IO.Stream stream, string fileName, string contentType, CancellationToken ct = default);
///
/// Удаляет файл аватара из S3 по fileId.
///
Task DeleteAsync(string fileId, CancellationToken ct = default);
}