import 'dart:typed_data'; import 'package:hive/hive.dart'; import 'package:tmail_ui_user/features/caching/config/hive_cache_config.dart'; abstract class HiveCacheClient { String get tableName; Future> openBox(); Future insertItem(String key, T newObject); Future insertMultipleItem(Map mapObject); Future getItem(String key); Future> getAll(); Future updateItem(String key, T newObject); Future updateMultipleItem(Map mapObject); Future deleteItem(String key); Future deleteMultipleItem(List listKey); Future isExistItem(String key); Future isExistTable(); Future deleteBox() { return Hive.deleteBoxFromDisk(tableName); } Future clearAllData(); Future getEncryptionKey() { return HiveCacheConfig.getEncryptionKey(); } }