import 'dart:async'; import 'package:immich_mobile/domain/models/store.model.dart'; abstract class IStoreConverter { const IStoreConverter(); /// Converts the value T to the primitive type U supported by the Store U toPrimitive(T value); /// Converts the value back to T? from the primitive type U from the Store FutureOr fromPrimitive(U value); } abstract interface class IStoreRepository { Future upsert(StoreKey key, T value); Future get(StoreKey key); Future tryGet(StoreKey key); Stream watch(StoreKey key); Future delete(StoreKey key); Future deleteAll(); }