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 { FutureOr upsert(StoreKey key, T value); FutureOr get(StoreKey key); FutureOr tryGet(StoreKey key); Stream watch(StoreKey key); FutureOr delete(StoreKey key); FutureOr deleteAll(); }