// This file is automatically generated, so please do not edit it. // @generated by `flutter_rust_bridge`@ 2.12.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import import 'frb_generated.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; enum LastBackupUploadState { none, pending, failed, success, } class PasswordlessRecoveryConfig { String? email; PlatformInt64 threshold; Uint8List? serverKeyProtection; Uint8List? pinUnlockToken; DateTime? lastServerHeartbeat; DateTime? lastContactHeartbeat; Uint8List? encryptedServerKey; PasswordlessRecoveryConfig({ this.email, required this.threshold, this.serverKeyProtection, this.pinUnlockToken, this.lastServerHeartbeat, this.lastContactHeartbeat, this.encryptedServerKey, }); @override int get hashCode => email.hashCode ^ threshold.hashCode ^ serverKeyProtection.hashCode ^ pinUnlockToken.hashCode ^ lastServerHeartbeat.hashCode ^ lastContactHeartbeat.hashCode ^ encryptedServerKey.hashCode; @override bool operator ==(Object other) => identical(this, other) || other is PasswordlessRecoveryConfig && runtimeType == other.runtimeType && email == other.email && threshold == other.threshold && serverKeyProtection == other.serverKeyProtection && pinUnlockToken == other.pinUnlockToken && lastServerHeartbeat == other.lastServerHeartbeat && lastContactHeartbeat == other.lastContactHeartbeat && encryptedServerKey == other.encryptedServerKey; } enum SetupProfile { standard, customized, } enum ThemeMode { system, light, dark, } class TwonlySafeBackup { PlatformInt64 lastBackupSize; LastBackupUploadState backupUploadState; DateTime? lastBackupDone; Uint8List backupId; Uint8List encryptionKey; TwonlySafeBackup({ required this.lastBackupSize, required this.backupUploadState, this.lastBackupDone, required this.backupId, required this.encryptionKey, }); @override int get hashCode => lastBackupSize.hashCode ^ backupUploadState.hashCode ^ lastBackupDone.hashCode ^ backupId.hashCode ^ encryptionKey.hashCode; @override bool operator ==(Object other) => identical(this, other) || other is TwonlySafeBackup && runtimeType == other.runtimeType && lastBackupSize == other.lastBackupSize && backupUploadState == other.backupUploadState && lastBackupDone == other.lastBackupDone && backupId == other.backupId && encryptionKey == other.encryptionKey; } enum TwonlyScoreVisibility { nobody, onlyContacts, everyone, } class UserConfig { PlatformInt64 userId; String username; String displayName; String? avatarSvg; PlatformInt64 appVersion; PlatformInt64 avatarCounter; bool videoStabilizationEnabled; bool isDeveloper; PlatformInt64 deviceId; SetupProfile setupProfile; String subscriptionPlan; String? subscriptionPlanIdStore; DateTime? lastImageSend; PlatformInt64? todaysImageCounter; String? lastPlanBallance; String? additionalUserInvites; ThemeMode themeMode; PlatformInt64? primaryColorValue; /// Language code the app is shown in. `None` follows the device. String? language; PlatformInt64? defaultShowTime; bool requestedAudioPermission; bool enableDatabaseLogging; bool automaticallyMarkEqualMediaFilesAsOpened; bool showNewsShortcut; bool showShowImagePreviewWhenSending; bool startWithCameraOpen; List? preSelectedEmojies; Map>? autoDownloadOptions; bool storeMediaFilesInGallery; /// Adds the capture location to locally stored Memories and gallery /// exports. Disabled by default and never added to outgoing media. bool storeLocationInMemories; bool autoStoreAllSendUnlimitedMediaFiles; bool typingIndicators; /// Announce a contact's first story in 24 hours. Checked only on this /// device, where the notification is created; senders always wake. bool storyNotifications; bool showRestoreFlame; /// Unused: the best friend is derived from `total_media_counter` whenever /// it is needed (`Group::best_friend_group_id`). Kept so configurations /// written by older versions still deserialize. String? myBestFriendGroupId; DateTime? signalLastSignedPreKeyUpdated; DateTime? signalLastPqcPreKeysUploaded; bool allowErrorTrackingViaSentry; bool screenLockEnabled; bool isCloudBackupEnabled; /// Controls which recipients receive the current twonly Score in sender metadata. TwonlyScoreVisibility twonlyScoreVisibility; bool isUserDiscoveryEnabled; PlatformInt64 requiredSendImages; int userDiscoveryThreshold; bool userDiscoveryRequiresManualApproval; bool userDiscoverySharePromotion; bool userDiscoveryInitializationError; bool askForFriendPromotions; PlatformInt64 currentPreKeyIndexStart; PlatformInt64 currentSignedPreKeyIndexStart; Uint8List? lastChangeLogHash; bool hideChangeLog; /// Last in-app release note the user dismissed. String? lastReleaseNotesVersion; bool hideMemoriesBackupPromo; bool hideWidgetShareExplainer; bool updateFcmToken; bool canUseLoginTokenForAuth; TwonlySafeBackup? twonlySafeBackup; bool isBackupEnabled; PasswordlessRecoveryConfig? passwordLessRecovery; String? fcmToken; /// Unix seconds of the last opaque FCM/APNs wake-up that reached the native /// notification worker. Recorded in Rust because Flutter is no longer /// started for background delivery on either platform. PlatformInt64? lastFcmWakeupAt; /// Unix seconds of the last server message that was committed locally. /// Kept next to the FCM wake-up timestamp so notification health can be /// evaluated without a second secure-storage implementation in Dart. PlatformInt64? lastServerMessageAt; String? currentSetupPage; bool skipSetupPages; bool hasZoomed; UserConfig({ required this.userId, required this.username, required this.displayName, this.avatarSvg, required this.appVersion, required this.avatarCounter, required this.videoStabilizationEnabled, required this.isDeveloper, required this.deviceId, required this.setupProfile, required this.subscriptionPlan, this.subscriptionPlanIdStore, this.lastImageSend, this.todaysImageCounter, this.lastPlanBallance, this.additionalUserInvites, required this.themeMode, this.primaryColorValue, this.language, this.defaultShowTime, required this.requestedAudioPermission, required this.enableDatabaseLogging, required this.automaticallyMarkEqualMediaFilesAsOpened, required this.showNewsShortcut, required this.showShowImagePreviewWhenSending, required this.startWithCameraOpen, this.preSelectedEmojies, this.autoDownloadOptions, required this.storeMediaFilesInGallery, required this.storeLocationInMemories, required this.autoStoreAllSendUnlimitedMediaFiles, required this.typingIndicators, required this.storyNotifications, required this.showRestoreFlame, this.myBestFriendGroupId, this.signalLastSignedPreKeyUpdated, this.signalLastPqcPreKeysUploaded, required this.allowErrorTrackingViaSentry, required this.screenLockEnabled, required this.isCloudBackupEnabled, required this.twonlyScoreVisibility, required this.isUserDiscoveryEnabled, required this.requiredSendImages, required this.userDiscoveryThreshold, required this.userDiscoveryRequiresManualApproval, required this.userDiscoverySharePromotion, required this.userDiscoveryInitializationError, required this.askForFriendPromotions, required this.currentPreKeyIndexStart, required this.currentSignedPreKeyIndexStart, this.lastChangeLogHash, required this.hideChangeLog, this.lastReleaseNotesVersion, required this.hideMemoriesBackupPromo, required this.hideWidgetShareExplainer, required this.updateFcmToken, required this.canUseLoginTokenForAuth, this.twonlySafeBackup, required this.isBackupEnabled, this.passwordLessRecovery, this.fcmToken, this.lastFcmWakeupAt, this.lastServerMessageAt, this.currentSetupPage, required this.skipSetupPages, required this.hasZoomed, }); @override int get hashCode => userId.hashCode ^ username.hashCode ^ displayName.hashCode ^ avatarSvg.hashCode ^ appVersion.hashCode ^ avatarCounter.hashCode ^ videoStabilizationEnabled.hashCode ^ isDeveloper.hashCode ^ deviceId.hashCode ^ setupProfile.hashCode ^ subscriptionPlan.hashCode ^ subscriptionPlanIdStore.hashCode ^ lastImageSend.hashCode ^ todaysImageCounter.hashCode ^ lastPlanBallance.hashCode ^ additionalUserInvites.hashCode ^ themeMode.hashCode ^ primaryColorValue.hashCode ^ language.hashCode ^ defaultShowTime.hashCode ^ requestedAudioPermission.hashCode ^ enableDatabaseLogging.hashCode ^ automaticallyMarkEqualMediaFilesAsOpened.hashCode ^ showNewsShortcut.hashCode ^ showShowImagePreviewWhenSending.hashCode ^ startWithCameraOpen.hashCode ^ preSelectedEmojies.hashCode ^ autoDownloadOptions.hashCode ^ storeMediaFilesInGallery.hashCode ^ storeLocationInMemories.hashCode ^ autoStoreAllSendUnlimitedMediaFiles.hashCode ^ typingIndicators.hashCode ^ storyNotifications.hashCode ^ showRestoreFlame.hashCode ^ myBestFriendGroupId.hashCode ^ signalLastSignedPreKeyUpdated.hashCode ^ signalLastPqcPreKeysUploaded.hashCode ^ allowErrorTrackingViaSentry.hashCode ^ screenLockEnabled.hashCode ^ isCloudBackupEnabled.hashCode ^ twonlyScoreVisibility.hashCode ^ isUserDiscoveryEnabled.hashCode ^ requiredSendImages.hashCode ^ userDiscoveryThreshold.hashCode ^ userDiscoveryRequiresManualApproval.hashCode ^ userDiscoverySharePromotion.hashCode ^ userDiscoveryInitializationError.hashCode ^ askForFriendPromotions.hashCode ^ currentPreKeyIndexStart.hashCode ^ currentSignedPreKeyIndexStart.hashCode ^ lastChangeLogHash.hashCode ^ hideChangeLog.hashCode ^ lastReleaseNotesVersion.hashCode ^ hideMemoriesBackupPromo.hashCode ^ hideWidgetShareExplainer.hashCode ^ updateFcmToken.hashCode ^ canUseLoginTokenForAuth.hashCode ^ twonlySafeBackup.hashCode ^ isBackupEnabled.hashCode ^ passwordLessRecovery.hashCode ^ fcmToken.hashCode ^ lastFcmWakeupAt.hashCode ^ lastServerMessageAt.hashCode ^ currentSetupPage.hashCode ^ skipSetupPages.hashCode ^ hasZoomed.hashCode; @override bool operator ==(Object other) => identical(this, other) || other is UserConfig && runtimeType == other.runtimeType && userId == other.userId && username == other.username && displayName == other.displayName && avatarSvg == other.avatarSvg && appVersion == other.appVersion && avatarCounter == other.avatarCounter && videoStabilizationEnabled == other.videoStabilizationEnabled && isDeveloper == other.isDeveloper && deviceId == other.deviceId && setupProfile == other.setupProfile && subscriptionPlan == other.subscriptionPlan && subscriptionPlanIdStore == other.subscriptionPlanIdStore && lastImageSend == other.lastImageSend && todaysImageCounter == other.todaysImageCounter && lastPlanBallance == other.lastPlanBallance && additionalUserInvites == other.additionalUserInvites && themeMode == other.themeMode && primaryColorValue == other.primaryColorValue && language == other.language && defaultShowTime == other.defaultShowTime && requestedAudioPermission == other.requestedAudioPermission && enableDatabaseLogging == other.enableDatabaseLogging && automaticallyMarkEqualMediaFilesAsOpened == other.automaticallyMarkEqualMediaFilesAsOpened && showNewsShortcut == other.showNewsShortcut && showShowImagePreviewWhenSending == other.showShowImagePreviewWhenSending && startWithCameraOpen == other.startWithCameraOpen && preSelectedEmojies == other.preSelectedEmojies && autoDownloadOptions == other.autoDownloadOptions && storeMediaFilesInGallery == other.storeMediaFilesInGallery && storeLocationInMemories == other.storeLocationInMemories && autoStoreAllSendUnlimitedMediaFiles == other.autoStoreAllSendUnlimitedMediaFiles && typingIndicators == other.typingIndicators && storyNotifications == other.storyNotifications && showRestoreFlame == other.showRestoreFlame && myBestFriendGroupId == other.myBestFriendGroupId && signalLastSignedPreKeyUpdated == other.signalLastSignedPreKeyUpdated && signalLastPqcPreKeysUploaded == other.signalLastPqcPreKeysUploaded && allowErrorTrackingViaSentry == other.allowErrorTrackingViaSentry && screenLockEnabled == other.screenLockEnabled && isCloudBackupEnabled == other.isCloudBackupEnabled && twonlyScoreVisibility == other.twonlyScoreVisibility && isUserDiscoveryEnabled == other.isUserDiscoveryEnabled && requiredSendImages == other.requiredSendImages && userDiscoveryThreshold == other.userDiscoveryThreshold && userDiscoveryRequiresManualApproval == other.userDiscoveryRequiresManualApproval && userDiscoverySharePromotion == other.userDiscoverySharePromotion && userDiscoveryInitializationError == other.userDiscoveryInitializationError && askForFriendPromotions == other.askForFriendPromotions && currentPreKeyIndexStart == other.currentPreKeyIndexStart && currentSignedPreKeyIndexStart == other.currentSignedPreKeyIndexStart && lastChangeLogHash == other.lastChangeLogHash && hideChangeLog == other.hideChangeLog && lastReleaseNotesVersion == other.lastReleaseNotesVersion && hideMemoriesBackupPromo == other.hideMemoriesBackupPromo && hideWidgetShareExplainer == other.hideWidgetShareExplainer && updateFcmToken == other.updateFcmToken && canUseLoginTokenForAuth == other.canUseLoginTokenForAuth && twonlySafeBackup == other.twonlySafeBackup && isBackupEnabled == other.isBackupEnabled && passwordLessRecovery == other.passwordLessRecovery && fcmToken == other.fcmToken && lastFcmWakeupAt == other.lastFcmWakeupAt && lastServerMessageAt == other.lastServerMessageAt && currentSetupPage == other.currentSetupPage && skipSetupPages == other.skipSetupPages && hasZoomed == other.hasZoomed; }