import 'package:fcm/model/firebase_subscription.dart'; import 'package:fcm/model/type_name.dart'; import 'package:jmap_dart_client/jmap/core/state.dart' as jmap; import 'package:tmail_ui_user/features/push_notification/data/model/fcm_subscription.dart'; import 'package:tmail_ui_user/features/push_notification/domain/model/register_new_token_request.dart'; abstract class FCMDatasource { Future storeStateToRefresh(TypeName typeName, jmap.State newState); Future getStateToRefresh(TypeName typeName); Future deleteStateToRefresh(TypeName typeName); Future storeSubscription(FCMSubscriptionCache fcmSubscriptionCache); Future getFirebaseSubscriptionByDeviceId(String deviceId); Future registerNewToken(RegisterNewTokenRequest newTokenRequest); Future geSubscription(); Future destroySubscription(String subscriptionId); }