import 'package:immich_mobile/constants/enums.dart'; import 'package:immich_mobile/entities/album.entity.dart'; abstract interface class IAlbumApiRepository { Future<Album> get(String id); Future<List<Album>> getAll({bool? shared}); Future<Album> create( String name, { required Iterable<String> assetIds, Iterable<String> sharedUserIds = const [], }); Future<Album> update( String albumId, { String? name, String? thumbnailAssetId, String? description, bool? activityEnabled, SortOrder? sortOrder, }); Future<void> delete(String albumId); Future<({List<String> added, List<String> duplicates})> addAssets( String albumId, Iterable<String> assetIds, ); Future<({List<String> removed, List<String> failed})> removeAssets( String albumId, Iterable<String> assetIds, ); Future<Album> addUsers( String albumId, Iterable<String> userIds, ); Future<void> removeUser(String albumId, {required String userId}); }