import 'dart:io'; import 'dart:typed_data'; /// Interface for media services (Immich, Blossom, etc.) abstract class MediaServiceInterface { /// Uploads an image file. /// Returns a map with 'id' (or 'hash') and 'url' keys. Future> uploadImage(File imageFile); /// Fetches image bytes for an asset/blob. Future fetchImageBytes(String assetId, {bool isThumbnail = true}); /// Gets the full image URL for an asset/blob. String getImageUrl(String assetId); /// Gets the base URL. String get baseUrl; }