// 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 '../api/server/prekeys.dart'; import '../frb_generated.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; // These functions are ignored because they are not marked as `pub`: `api_result`, `empty_api_response`, `encoded_api_response`, `from_rust_state` // These types are ignored because they are neither used by any `pub` functions nor (for structs and enums) marked `#[frb(unignore)]`: `ApiConfig`, `ServerResult` // These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_fields_are_eq`, `assert_fields_are_eq`, `clone`, `clone`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt` enum ApiConnectionState { stopped, connecting, connected, authenticating, authenticated, reconnecting, suspended, permanentlyRejected, } class ApiEvent { final ApiEventKind kind; final ApiConnectionState? state; final String? message; const ApiEvent({ required this.kind, this.state, this.message, }); @override int get hashCode => kind.hashCode ^ state.hashCode ^ message.hashCode; @override bool operator ==(Object other) => identical(this, other) || other is ApiEvent && runtimeType == other.runtimeType && kind == other.kind && state == other.state && message == other.message; } enum ApiEventKind { connectionStateChanged, transportError, authenticated, planUpdated, appOutdated, newDeviceRegistered, loginTokenMigrated, } class PreparedOutgoingMessage { final Uint8List message; final Uint8List? pushData; const PreparedOutgoingMessage({ required this.message, this.pushData, }); @override int get hashCode => message.hashCode ^ pushData.hashCode; @override bool operator ==(Object other) => identical(this, other) || other is PreparedOutgoingMessage && runtimeType == other.runtimeType && message == other.message && pushData == other.pushData; } /// Flutter-facing facade for the Rust-owned API runtime. class RustApi { const RustApi(); static Future addAdditionalUser({required PlatformInt64 userId}) => RustLib.instance.api.crateBridgeApiRustApiAddAdditionalUser( userId: userId, ); static Future allocateSequence() => RustLib.instance.api.crateBridgeApiRustApiAllocateSequence(); static String apiBaseUrl({required String protocol}) => RustLib.instance.api.crateBridgeApiRustApiApiBaseUrl(protocol: protocol); static Future changeUsername({required String username}) => RustLib .instance .api .crateBridgeApiRustApiChangeUsername(username: username); static Future checkForDeletedUsernames() => RustLib.instance.api.crateBridgeApiRustApiCheckForDeletedUsernames(); static Future checkForPasswordlessNotification({ required String notificationId, required List downloadAuthToken, required Int64List alreadyReceivedMessageIds, }) => RustLib.instance.api .crateBridgeApiRustApiCheckForPasswordlessNotification( notificationId: notificationId, downloadAuthToken: downloadAuthToken, alreadyReceivedMessageIds: alreadyReceivedMessageIds, ); static Future close() => RustLib.instance.api.crateBridgeApiRustApiClose(); static Future confirmMemoriesUpload({required String mediaId}) => RustLib.instance.api.crateBridgeApiRustApiConfirmMemoriesUpload( mediaId: mediaId, ); static Future connect() => RustLib.instance.api.crateBridgeApiRustApiConnect(); static Future connectionState() => RustLib.instance.api.crateBridgeApiRustApiConnectionState(); static Future deleteAccount() => RustLib.instance.api.crateBridgeApiRustApiDeleteAccount(); static Future deleteMemory({required String mediaId}) => RustLib.instance.api.crateBridgeApiRustApiDeleteMemory(mediaId: mediaId); static Future disableMemoriesBackup() => RustLib.instance.api.crateBridgeApiRustApiDisableMemoriesBackup(); static Future downloadDone({required List token}) => RustLib.instance.api.crateBridgeApiRustApiDownloadDone(token: token); static Future downloadMedia({required String mediaId}) => RustLib.instance.api.crateBridgeApiRustApiDownloadMedia(mediaId: mediaId); static Future downloadPendingMedia() => RustLib.instance.api.crateBridgeApiRustApiDownloadPendingMedia(); static Stream events() => RustLib.instance.api.crateBridgeApiRustApiEvents(); static Future forceIpaCheck() => RustLib.instance.api.crateBridgeApiRustApiForceIpaCheck(); static Future getMemoriesUrl({ required String mediaId, required bool thumbnail, }) => RustLib.instance.api.crateBridgeApiRustApiGetMemoriesUrl( mediaId: mediaId, thumbnail: thumbnail, ); static Future getMemoriesUsage() => RustLib.instance.api.crateBridgeApiRustApiGetMemoriesUsage(); static Future getPlanBalance() => RustLib.instance.api.crateBridgeApiRustApiGetPlanBalance(); static Future getProofOfWork() => RustLib.instance.api.crateBridgeApiRustApiGetProofOfWork(); static Future getServerKeyForPasswordlessRecovery({ required PlatformInt64 userId, required List serverKeyProtection, Uint8List? pinUnlockToken, Uint8List? pinProtectionKey, String? email, }) => RustLib.instance.api .crateBridgeApiRustApiGetServerKeyForPasswordlessRecovery( userId: userId, serverKeyProtection: serverKeyProtection, pinUnlockToken: pinUnlockToken, pinProtectionKey: pinProtectionKey, email: email, ); static Future getUserById({required PlatformInt64 userId}) => RustLib.instance.api.crateBridgeApiRustApiGetUserById(userId: userId); static Future getUserData({required String username}) => RustLib.instance.api.crateBridgeApiRustApiGetUserData(username: username); static Future getUserIdFromUsername({ required String username, }) => RustLib.instance.api.crateBridgeApiRustApiGetUserIdFromUsername( username: username, ); static Future insertAndSendAdditionalData({ required String groupId, required String messageType, required List additionalData, }) => RustLib.instance.api.crateBridgeApiRustApiInsertAndSendAdditionalData( groupId: groupId, messageType: messageType, additionalData: additionalData, ); static Future insertAndSendAskAboutUser({ required PlatformInt64 contactId, required PlatformInt64 askAboutUserId, }) => RustLib.instance.api.crateBridgeApiRustApiInsertAndSendAskAboutUser( contactId: contactId, askAboutUserId: askAboutUserId, ); static Future insertAndSendContactShare({ required String groupId, required Int64List contactIds, }) => RustLib.instance.api.crateBridgeApiRustApiInsertAndSendContactShare( groupId: groupId, contactIds: contactIds, ); static Future insertAndSendText({ required String groupId, required String text, String? quoteMessageId, }) => RustLib.instance.api.crateBridgeApiRustApiInsertAndSendText( groupId: groupId, text: text, quoteMessageId: quoteMessageId, ); static Future ipaPurchase({ required String productId, required String source, required String verificationData, }) => RustLib.instance.api.crateBridgeApiRustApiIpaPurchase( productId: productId, source: source, verificationData: verificationData, ); static Future loadPlanBalance() => RustLib.instance.api.crateBridgeApiRustApiLoadPlanBalance(); static Future notifyMessagesOpened({ required PlatformInt64 contactId, required List messageIds, }) => RustLib.instance.api.crateBridgeApiRustApiNotifyMessagesOpened( contactId: contactId, messageIds: messageIds, ); static Future performPasswordlessRecoveryHeartbeat() => RustLib .instance .api .crateBridgeApiRustApiPerformPasswordlessRecoveryHeartbeat(); static Future prepareQueuedMessage({ required String receiptId, }) => RustLib.instance.api.crateBridgeApiRustApiPrepareQueuedMessage( receiptId: receiptId, ); static Future register({ required String username, required PlatformInt64 proofOfWork, required String langCode, required bool isIos, }) => RustLib.instance.api.crateBridgeApiRustApiRegister( username: username, proofOfWork: proofOfWork, langCode: langCode, isIos: isIos, ); static Future registerPasswordlessNotification({ required String notificationId, required List downloadAuthToken, required String langCode, String? googleFcm, }) => RustLib.instance.api .crateBridgeApiRustApiRegisterPasswordlessNotification( notificationId: notificationId, downloadAuthToken: downloadAuthToken, langCode: langCode, googleFcm: googleFcm, ); static Future registerPasswordlessRecovery({ required List encryptedServerKey, Uint8List? pinUnlockToken, }) => RustLib.instance.api.crateBridgeApiRustApiRegisterPasswordlessRecovery( encryptedServerKey: encryptedServerKey, pinUnlockToken: pinUnlockToken, ); /// Reloads identity and authentication settings from Rust-owned storage. /// No configuration values are accepted from the caller. static Future reloadConfiguration() => RustLib.instance.api.crateBridgeApiRustApiReloadConfiguration(); static Future removeAdditionalUser({required PlatformInt64 userId}) => RustLib.instance.api.crateBridgeApiRustApiRemoveAdditionalUser( userId: userId, ); static Future reportUser({ required PlatformInt64 userId, required String reason, }) => RustLib.instance.api.crateBridgeApiRustApiReportUser( userId: userId, reason: reason, ); /// Sends a protobuf ClientToServer envelope. Rust assigns the sequence ID /// and resolves this future with the matching ServerToClient response. static Future requestBinary({required List bytes}) => RustLib.instance.api.crateBridgeApiRustApiRequestBinary(bytes: bytes); static Future requestContactByUsername({required String username}) => RustLib.instance.api.crateBridgeApiRustApiRequestContactByUsername( username: username, ); static Future requestMediaReupload({required String mediaId}) => RustLib .instance .api .crateBridgeApiRustApiRequestMediaReupload(mediaId: mediaId); static Future requestMemoriesUpload({ required PlatformInt64 size, required PlatformInt64 originalDate, required String mediaId, }) => RustLib.instance.api.crateBridgeApiRustApiRequestMemoriesUpload( size: size, originalDate: originalDate, mediaId: mediaId, ); static Future retransmitAllMessages() => RustLib.instance.api.crateBridgeApiRustApiRetransmitAllMessages(); static Future sendBinary({required List bytes}) => RustLib.instance.api.crateBridgeApiRustApiSendBinary(bytes: bytes); static Future sendContactProfile({required PlatformInt64 contactId}) => RustLib.instance.api.crateBridgeApiRustApiSendContactProfile( contactId: contactId, ); static Future sendEncryptedContent({ required PlatformInt64 contactId, required List content, String? messageId, required bool onlySendIfNoReceiptsAreOpen, required bool onlyReturnEncryptedData, required bool blocking, }) => RustLib.instance.api.crateBridgeApiRustApiSendEncryptedContent( contactId: contactId, content: content, messageId: messageId, onlySendIfNoReceiptsAreOpen: onlySendIfNoReceiptsAreOpen, onlyReturnEncryptedData: onlyReturnEncryptedData, blocking: blocking, ); static Future sendEncryptedContentToGroup({ required String groupId, required List content, String? messageId, required bool onlySendIfNoReceiptsAreOpen, }) => RustLib.instance.api.crateBridgeApiRustApiSendEncryptedContentToGroup( groupId: groupId, content: content, messageId: messageId, onlySendIfNoReceiptsAreOpen: onlySendIfNoReceiptsAreOpen, ); static Future sendQueuedMessage({required String receiptId}) => RustLib .instance .api .crateBridgeApiRustApiSendQueuedMessage(receiptId: receiptId); static Future sendTextMessage({ required PlatformInt64 userId, required List body, Uint8List? pushData, }) => RustLib.instance.api.crateBridgeApiRustApiSendTextMessage( userId: userId, body: body, pushData: pushData, ); static Future sendTyping({ required String groupId, required bool isTyping, }) => RustLib.instance.api.crateBridgeApiRustApiSendTyping( groupId: groupId, isTyping: isTyping, ); static Future setBackground({required bool inBackground}) => RustLib .instance .api .crateBridgeApiRustApiSetBackground(inBackground: inBackground); static Future setLoginToken({required List token}) => RustLib.instance.api.crateBridgeApiRustApiSetLoginToken(token: token); static Future setNetworkAvailable({required bool available}) => RustLib .instance .api .crateBridgeApiRustApiSetNetworkAvailable(available: available); static Future submitRecoveryShare({ required String notificationId, required List encryptedMessage, }) => RustLib.instance.api.crateBridgeApiRustApiSubmitRecoveryShare( notificationId: notificationId, encryptedMessage: encryptedMessage, ); static Future updateFcmToken({required String token}) => RustLib.instance.api.crateBridgeApiRustApiUpdateFcmToken(token: token); static Future updateSignedPreKey({ required PlatformInt64 id, required List key, required List signature, }) => RustLib.instance.api.crateBridgeApiRustApiUpdateSignedPreKey( id: id, key: key, signature: signature, ); static Future uploadPqcPreKeys({ required PlatformInt64 eccSignedPrekeyId, required List eccSignedPrekey, required List eccSignedPrekeySignature, required PlatformInt64 kyberSignedPrekeyId, required List kyberSignedPrekey, required List kyberSignedPrekeySignature, required List prekeys, }) => RustLib.instance.api.crateBridgeApiRustApiUploadPqcPreKeys( eccSignedPrekeyId: eccSignedPrekeyId, eccSignedPrekey: eccSignedPrekey, eccSignedPrekeySignature: eccSignedPrekeySignature, kyberSignedPrekeyId: kyberSignedPrekeyId, kyberSignedPrekey: kyberSignedPrekey, kyberSignedPrekeySignature: kyberSignedPrekeySignature, prekeys: prekeys, ); @override int get hashCode => 0; @override bool operator ==(Object other) => identical(this, other) || other is RustApi && runtimeType == other.runtimeType; }