// This file is automatically generated, so please do not edit it.
// @generated by `flutter_rust_bridge`@ 2.12.0.

// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field

import 'bridge.dart';
import 'bridge/callbacks.dart';
import 'bridge/callbacks/user_discovery.dart';
import 'bridge/wrapper.dart';
import 'bridge/wrapper/backup.dart';
import 'bridge/wrapper/key_manager.dart';
import 'bridge/wrapper/signal.dart';
import 'bridge/wrapper/user_discovery.dart';
import 'dart:async';
import 'dart:convert';
import 'frb_generated.dart';
import 'frb_generated.io.dart'
    if (dart.library.js_interop) 'frb_generated.web.dart';
import 'keys/backup_password_keys.dart';
import 'lib.dart';
import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';
import 'signal/engine.dart';

/// Main entrypoint of the Rust API
class RustLib extends BaseEntrypoint<RustLibApi, RustLibApiImpl, RustLibWire> {
  @internal
  static final instance = RustLib._();

  RustLib._();

  /// Initialize flutter_rust_bridge
  static Future<void> init({
    RustLibApi? api,
    BaseHandler? handler,
    ExternalLibrary? externalLibrary,
    bool forceSameCodegenVersion = true,
  }) async {
    await instance.initImpl(
      api: api,
      handler: handler,
      externalLibrary: externalLibrary,
      forceSameCodegenVersion: forceSameCodegenVersion,
    );
  }

  /// Initialize flutter_rust_bridge in mock mode.
  /// No libraries for FFI are loaded.
  static void initMock({
    required RustLibApi api,
  }) {
    instance.initMockImpl(
      api: api,
    );
  }

  /// Dispose flutter_rust_bridge
  ///
  /// The call to this function is optional, since flutter_rust_bridge (and everything else)
  /// is automatically disposed when the app stops.
  static void dispose() => instance.disposeImpl();

  @override
  ApiImplConstructor<RustLibApiImpl, RustLibWire> get apiImplConstructor =>
      RustLibApiImpl.new;

  @override
  WireConstructor<RustLibWire> get wireConstructor =>
      RustLibWire.fromExternalLibrary;

  @override
  Future<void> executeRustInitializers() async {}

  @override
  ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig =>
      kDefaultExternalLibraryLoaderConfig;

  @override
  String get codegenVersion => '2.12.0';

  @override
  int get rustContentHash => 1109927244;

  static const kDefaultExternalLibraryLoaderConfig =
      ExternalLibraryLoaderConfig(
        stem: 'rust_lib_twonly',
        ioDirectory: 'rust/target/release/',
        webPrefix: 'pkg/',
        wasmBindgenName: 'wasm_bindgen',
      );
}

abstract class RustLibApi extends BaseApi {
  Future<Uint8List>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetCurrentVersion({
    required int callbackId,
  });

  Future<List<Uint8List>>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetNewMessages({
    required int callbackId,
    required PlatformInt64 contactId,
    required List<int> receivedVersion,
  });

  Future<void>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryHandleNewMessages({
    required int callbackId,
    required PlatformInt64 contactId,
    PlatformInt64? publicKeyVerifiedTimestamp,
    required List<Uint8List> messages,
  });

  Future<void>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryInitializeOrUpdate({
    required int callbackId,
    required int threshold,
    required PlatformInt64 userId,
    required List<int> publicKey,
    required bool sharePromotion,
  });

  Future<Uint8List?>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryShouldRequestNewMessages({
    required int callbackId,
    required PlatformInt64 contactId,
    required List<int> version,
  });

  Future<void>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryUpdateVerificationStateForUser({
    required int callbackId,
    required PlatformInt64 contactId,
    PlatformInt64? publicKeyVerifiedTimestamp,
  });

  Future<void> crateBridgeCallbacksInitFlutterCallbacks({
    required int callbackId,
    required FutureOr<RustStreamSink<String>> Function() loggingGetStreamSink,
    required FutureOr<Uint8List?> Function(Uint8List) userDiscoverySignData,
    required FutureOr<bool> Function(Uint8List, Uint8List, Uint8List)
    userDiscoveryVerifySignature,
    required FutureOr<bool> Function(PlatformInt64, Uint8List)
    userDiscoveryVerifyStoredPubkey,
    required FutureOr<bool> Function(List<Uint8List>) userDiscoverySetShares,
    required FutureOr<Uint8List?> Function(PlatformInt64)
    userDiscoveryGetShareForContact,
    required FutureOr<bool> Function(PlatformInt64, PlatformInt64, Uint8List)
    userDiscoveryPushOwnPromotionAndClearOldVersion,
    required FutureOr<List<Uint8List>?> Function(PlatformInt64)
    userDiscoveryGetOwnPromotionsAfterVersion,
    required FutureOr<bool> Function(OtherPromotion)
    userDiscoveryStoreOtherPromotion,
    required FutureOr<List<OtherPromotion>?> Function(PlatformInt64)
    userDiscoveryGetOtherPromotionsByPublicId,
    required FutureOr<AnnouncedUser?> Function(PlatformInt64)
    userDiscoveryGetAnnouncedUserByPublicId,
    required FutureOr<Uint8List?> Function(PlatformInt64)
    userDiscoveryGetContactVersion,
    required FutureOr<bool> Function(PlatformInt64, Uint8List)
    userDiscoverySetContactVersion,
    required FutureOr<bool> Function(
      PlatformInt64,
      AnnouncedUser,
      PlatformInt64?,
    )
    userDiscoveryPushNewUserRelation,
    required FutureOr<Uint8List?> Function(PlatformInt64)
    userDiscoveryGetContactPromotion,
  });

  Future<void> crateBridgeInitializeTwonlyFlutter({required InitConfig config});

  Future<(String, String)>
  crateBridgeWrapperBackupRustBackupArchiveCreateBackupArchive();

  Future<String?>
  crateBridgeWrapperBackupRustBackupArchiveGetBackupDownloadToken();

  Future<void> crateBridgeWrapperBackupRustBackupArchiveRestoreBackupArchive({
    required String filePath,
  });

  Future<String?> crateBridgeWrapperBackupRustBackupIdentityGetBackupId();

  Future<BackupPasswordKeys>
  crateBridgeWrapperBackupRustBackupIdentityGetBackupPasswordKeys({
    required PlatformInt64 userId,
    required String password,
  });

  Future<Uint8List>
  crateBridgeWrapperBackupRustBackupIdentityGetIdentityBackupBytes();

  Future<void>
  crateBridgeWrapperBackupRustBackupIdentityImportBackupPasswordKeys({
    required List<int> backupId,
    required List<int> encryptionKey,
  });

  Future<void> crateBridgeWrapperBackupRustBackupIdentityRestoreIdentityBackup({
    required BackupPasswordKeys keys,
    required List<int> encryptedBytes,
  });

  Future<void> crateBridgeWrapperBackupRustBackupIdentitySetBackupPasswordKeys({
    required PlatformInt64 userId,
    required String password,
  });

  Future<Uint8List>
  crateBridgeWrapperKeyManagerRustKeyManagerDecryptCloudMediaKey({
    required List<int> encryptedMediaKey,
    required String addition,
  });

  Future<Uint8List>
  crateBridgeWrapperKeyManagerRustKeyManagerEncryptCloudMediaKey({
    required List<int> mediaKey,
    required String addition,
  });

  Future<Uint8List> crateBridgeWrapperKeyManagerRustKeyManagerGetLoginToken();

  Future<(Uint8List, PlatformInt64)>
  crateBridgeWrapperKeyManagerRustKeyManagerGetSignalIdentity();

  Future<PlatformInt64?> crateBridgeWrapperKeyManagerRustKeyManagerGetUserId();

  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerImportSerialized({
    required List<int> serializedBytes,
  });

  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerImportSignalIdentity({
    required List<int> identityKeyPairStructure,
    required PlatformInt64 registrationId,
    required Map<PlatformInt64, Uint8List> signedPreKeyStore,
  });

  Future<Uint8List?>
  crateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekey({
    required PlatformInt64 signedPreKeyId,
  });

  Future<Map<PlatformInt64, Uint8List>>
  crateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekeys();

  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerRemoveKeyManager();

  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerRemoveSignedPrekey({
    required PlatformInt64 signedPreKeyId,
  });

  Future<Uint8List> crateBridgeWrapperKeyManagerRustKeyManagerSerialize();

  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerSetUserId({
    required PlatformInt64 userId,
  });

  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerStoreSignedPrekey({
    required PlatformInt64 signedPreKeyId,
    required List<int> record,
  });

  Future<Uint8List> crateBridgeWrapperSignalRustSignalDecrypt({
    required String name,
    required int deviceId,
    required List<int> ciphertext,
  });

  Future<Uint8List> crateBridgeWrapperSignalRustSignalEncrypt({
    required String name,
    required int deviceId,
    required List<int> plaintext,
  });

  Future<FrbPreKeyBundle> crateBridgeWrapperSignalRustSignalGenerateBundle();

  Future<List<FrbPqcPreKey>>
  crateBridgeWrapperSignalRustSignalGeneratePqcPrekeys();

  Future<void> crateBridgeWrapperSignalRustSignalProcessPrekeyBundle({
    required String name,
    required int deviceId,
    required FrbPreKeyBundle bundle,
  });

  Future<List<Uint8List>> crateBridgeWrapperRustUtilsGenerateShares({
    required List<int> secret,
    required int total,
    required int threshold,
  });

  Future<Uint8List> crateBridgeWrapperRustUtilsRecoverSecret({
    required List<Uint8List> shares,
    required int threshold,
  });

  Future<AnnouncedUser?>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetAnnouncedUserByPublicId({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 publicId,
  });

  Future<String>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetConfig({
    required UserDiscoveryStoreFlutter that,
  });

  Future<Uint8List?>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactPromotion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
  });

  Future<Uint8List?>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactVersion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
  });

  Future<List<OtherPromotion>>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOtherPromotionsByPublicId({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 publicId,
  });

  Future<List<Uint8List>>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOwnPromotionsAfterVersion({
    required UserDiscoveryStoreFlutter that,
    required int version,
  });

  Future<Uint8List>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetShareForContact({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
  });

  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushNewUserRelation({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 fromContactId,
    required AnnouncedUser announcedUser,
    PlatformInt64? publicKeyVerifiedTimestamp,
  });

  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushOwnPromotionAndClearOldVersion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
    required int version,
    required List<int> promotion,
  });

  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetContactVersion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
    required List<int> update,
  });

  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetShares({
    required UserDiscoveryStoreFlutter that,
    required List<Uint8List> shares,
  });

  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterStoreOtherPromotion({
    required UserDiscoveryStoreFlutter that,
    required OtherPromotion promotion,
  });

  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterUpdateConfig({
    required UserDiscoveryStoreFlutter that,
    required String update,
  });

  Future<Uint8List>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterSignData({
    required UserDiscoveryUtilsFlutter that,
    required List<int> inputData,
  });

  Future<bool>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifySignature({
    required UserDiscoveryUtilsFlutter that,
    required List<int> inputData,
    required List<int> pubkey,
    required List<int> signature,
  });

  Future<bool>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifyStoredPubkey({
    required UserDiscoveryUtilsFlutter that,
    required PlatformInt64 fromContactId,
    required List<int> pubkey,
  });
}

class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
  RustLibApiImpl({
    required super.handler,
    required super.wire,
    required super.generalizedFrbRustBinding,
    required super.portManager,
  });

  @override
  Future<Uint8List>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetCurrentVersion({
    required int callbackId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_u_32(callbackId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 1,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetCurrentVersionConstMeta,
        argValues: [callbackId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetCurrentVersionConstMeta =>
      const TaskConstMeta(
        debugName: "flutter_user_discovery_get_current_version",
        argNames: ["callbackId"],
      );

  @override
  Future<List<Uint8List>>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetNewMessages({
    required int callbackId,
    required PlatformInt64 contactId,
    required List<int> receivedVersion,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_u_32(callbackId, serializer);
          sse_encode_i_64(contactId, serializer);
          sse_encode_list_prim_u_8_loose(receivedVersion, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 2,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetNewMessagesConstMeta,
        argValues: [callbackId, contactId, receivedVersion],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryGetNewMessagesConstMeta =>
      const TaskConstMeta(
        debugName: "flutter_user_discovery_get_new_messages",
        argNames: ["callbackId", "contactId", "receivedVersion"],
      );

  @override
  Future<void>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryHandleNewMessages({
    required int callbackId,
    required PlatformInt64 contactId,
    PlatformInt64? publicKeyVerifiedTimestamp,
    required List<Uint8List> messages,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_u_32(callbackId, serializer);
          sse_encode_i_64(contactId, serializer);
          sse_encode_opt_box_autoadd_i_64(
            publicKeyVerifiedTimestamp,
            serializer,
          );
          sse_encode_list_list_prim_u_8_strict(messages, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 3,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryHandleNewMessagesConstMeta,
        argValues: [
          callbackId,
          contactId,
          publicKeyVerifiedTimestamp,
          messages,
        ],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryHandleNewMessagesConstMeta =>
      const TaskConstMeta(
        debugName: "flutter_user_discovery_handle_new_messages",
        argNames: [
          "callbackId",
          "contactId",
          "publicKeyVerifiedTimestamp",
          "messages",
        ],
      );

  @override
  Future<void>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryInitializeOrUpdate({
    required int callbackId,
    required int threshold,
    required PlatformInt64 userId,
    required List<int> publicKey,
    required bool sharePromotion,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_u_32(callbackId, serializer);
          sse_encode_u_8(threshold, serializer);
          sse_encode_i_64(userId, serializer);
          sse_encode_list_prim_u_8_loose(publicKey, serializer);
          sse_encode_bool(sharePromotion, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 4,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryInitializeOrUpdateConstMeta,
        argValues: [callbackId, threshold, userId, publicKey, sharePromotion],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryInitializeOrUpdateConstMeta =>
      const TaskConstMeta(
        debugName: "flutter_user_discovery_initialize_or_update",
        argNames: [
          "callbackId",
          "threshold",
          "userId",
          "publicKey",
          "sharePromotion",
        ],
      );

  @override
  Future<Uint8List?>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryShouldRequestNewMessages({
    required int callbackId,
    required PlatformInt64 contactId,
    required List<int> version,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_u_32(callbackId, serializer);
          sse_encode_i_64(contactId, serializer);
          sse_encode_list_prim_u_8_loose(version, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 5,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryShouldRequestNewMessagesConstMeta,
        argValues: [callbackId, contactId, version],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryShouldRequestNewMessagesConstMeta =>
      const TaskConstMeta(
        debugName: "flutter_user_discovery_should_request_new_messages",
        argNames: ["callbackId", "contactId", "version"],
      );

  @override
  Future<void>
  crateBridgeWrapperUserDiscoveryFlutterUserDiscoveryUpdateVerificationStateForUser({
    required int callbackId,
    required PlatformInt64 contactId,
    PlatformInt64? publicKeyVerifiedTimestamp,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_u_32(callbackId, serializer);
          sse_encode_i_64(contactId, serializer);
          sse_encode_opt_box_autoadd_i_64(
            publicKeyVerifiedTimestamp,
            serializer,
          );
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 6,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryUpdateVerificationStateForUserConstMeta,
        argValues: [callbackId, contactId, publicKeyVerifiedTimestamp],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperUserDiscoveryFlutterUserDiscoveryUpdateVerificationStateForUserConstMeta =>
      const TaskConstMeta(
        debugName: "flutter_user_discovery_update_verification_state_for_user",
        argNames: ["callbackId", "contactId", "publicKeyVerifiedTimestamp"],
      );

  @override
  Future<void> crateBridgeCallbacksInitFlutterCallbacks({
    required int callbackId,
    required FutureOr<RustStreamSink<String>> Function() loggingGetStreamSink,
    required FutureOr<Uint8List?> Function(Uint8List) userDiscoverySignData,
    required FutureOr<bool> Function(Uint8List, Uint8List, Uint8List)
    userDiscoveryVerifySignature,
    required FutureOr<bool> Function(PlatformInt64, Uint8List)
    userDiscoveryVerifyStoredPubkey,
    required FutureOr<bool> Function(List<Uint8List>) userDiscoverySetShares,
    required FutureOr<Uint8List?> Function(PlatformInt64)
    userDiscoveryGetShareForContact,
    required FutureOr<bool> Function(PlatformInt64, PlatformInt64, Uint8List)
    userDiscoveryPushOwnPromotionAndClearOldVersion,
    required FutureOr<List<Uint8List>?> Function(PlatformInt64)
    userDiscoveryGetOwnPromotionsAfterVersion,
    required FutureOr<bool> Function(OtherPromotion)
    userDiscoveryStoreOtherPromotion,
    required FutureOr<List<OtherPromotion>?> Function(PlatformInt64)
    userDiscoveryGetOtherPromotionsByPublicId,
    required FutureOr<AnnouncedUser?> Function(PlatformInt64)
    userDiscoveryGetAnnouncedUserByPublicId,
    required FutureOr<Uint8List?> Function(PlatformInt64)
    userDiscoveryGetContactVersion,
    required FutureOr<bool> Function(PlatformInt64, Uint8List)
    userDiscoverySetContactVersion,
    required FutureOr<bool> Function(
      PlatformInt64,
      AnnouncedUser,
      PlatformInt64?,
    )
    userDiscoveryPushNewUserRelation,
    required FutureOr<Uint8List?> Function(PlatformInt64)
    userDiscoveryGetContactPromotion,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_u_32(callbackId, serializer);
          sse_encode_DartFn_Inputs__Output_StreamSink_String_Sse_AnyhowException(
            loggingGetStreamSink,
            serializer,
          );
          sse_encode_DartFn_Inputs_list_prim_u_8_strict_Output_opt_list_prim_u_8_strict_AnyhowException(
            userDiscoverySignData,
            serializer,
          );
          sse_encode_DartFn_Inputs_list_prim_u_8_strict_list_prim_u_8_strict_list_prim_u_8_strict_Output_bool_AnyhowException(
            userDiscoveryVerifySignature,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
            userDiscoveryVerifyStoredPubkey,
            serializer,
          );
          sse_encode_DartFn_Inputs_list_list_prim_u_8_strict_Output_bool_AnyhowException(
            userDiscoverySetShares,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_Output_opt_list_prim_u_8_strict_AnyhowException(
            userDiscoveryGetShareForContact,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
            userDiscoveryPushOwnPromotionAndClearOldVersion,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_Output_opt_list_list_prim_u_8_strict_AnyhowException(
            userDiscoveryGetOwnPromotionsAfterVersion,
            serializer,
          );
          sse_encode_DartFn_Inputs_other_promotion_Output_bool_AnyhowException(
            userDiscoveryStoreOtherPromotion,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_Output_opt_list_other_promotion_AnyhowException(
            userDiscoveryGetOtherPromotionsByPublicId,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_Output_opt_box_autoadd_announced_user_AnyhowException(
            userDiscoveryGetAnnouncedUserByPublicId,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_Output_opt_list_prim_u_8_strict_AnyhowException(
            userDiscoveryGetContactVersion,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
            userDiscoverySetContactVersion,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_announced_user_opt_box_autoadd_i_64_Output_bool_AnyhowException(
            userDiscoveryPushNewUserRelation,
            serializer,
          );
          sse_encode_DartFn_Inputs_i_64_Output_opt_list_prim_u_8_strict_AnyhowException(
            userDiscoveryGetContactPromotion,
            serializer,
          );
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 7,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: null,
        ),
        constMeta: kCrateBridgeCallbacksInitFlutterCallbacksConstMeta,
        argValues: [
          callbackId,
          loggingGetStreamSink,
          userDiscoverySignData,
          userDiscoveryVerifySignature,
          userDiscoveryVerifyStoredPubkey,
          userDiscoverySetShares,
          userDiscoveryGetShareForContact,
          userDiscoveryPushOwnPromotionAndClearOldVersion,
          userDiscoveryGetOwnPromotionsAfterVersion,
          userDiscoveryStoreOtherPromotion,
          userDiscoveryGetOtherPromotionsByPublicId,
          userDiscoveryGetAnnouncedUserByPublicId,
          userDiscoveryGetContactVersion,
          userDiscoverySetContactVersion,
          userDiscoveryPushNewUserRelation,
          userDiscoveryGetContactPromotion,
        ],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta get kCrateBridgeCallbacksInitFlutterCallbacksConstMeta =>
      const TaskConstMeta(
        debugName: "init_flutter_callbacks",
        argNames: [
          "callbackId",
          "loggingGetStreamSink",
          "userDiscoverySignData",
          "userDiscoveryVerifySignature",
          "userDiscoveryVerifyStoredPubkey",
          "userDiscoverySetShares",
          "userDiscoveryGetShareForContact",
          "userDiscoveryPushOwnPromotionAndClearOldVersion",
          "userDiscoveryGetOwnPromotionsAfterVersion",
          "userDiscoveryStoreOtherPromotion",
          "userDiscoveryGetOtherPromotionsByPublicId",
          "userDiscoveryGetAnnouncedUserByPublicId",
          "userDiscoveryGetContactVersion",
          "userDiscoverySetContactVersion",
          "userDiscoveryPushNewUserRelation",
          "userDiscoveryGetContactPromotion",
        ],
      );

  @override
  Future<void> crateBridgeInitializeTwonlyFlutter({
    required InitConfig config,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_init_config(config, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 8,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta: kCrateBridgeInitializeTwonlyFlutterConstMeta,
        argValues: [config],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta get kCrateBridgeInitializeTwonlyFlutterConstMeta =>
      const TaskConstMeta(
        debugName: "initialize_twonly_flutter",
        argNames: ["config"],
      );

  @override
  Future<(String, String)>
  crateBridgeWrapperBackupRustBackupArchiveCreateBackupArchive() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 9,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_record_string_string,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupArchiveCreateBackupArchiveConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupArchiveCreateBackupArchiveConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_archive_create_backup_archive",
        argNames: [],
      );

  @override
  Future<String?>
  crateBridgeWrapperBackupRustBackupArchiveGetBackupDownloadToken() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 10,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_String,
          decodeErrorData: null,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupArchiveGetBackupDownloadTokenConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupArchiveGetBackupDownloadTokenConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_archive_get_backup_download_token",
        argNames: [],
      );

  @override
  Future<void> crateBridgeWrapperBackupRustBackupArchiveRestoreBackupArchive({
    required String filePath,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_String(filePath, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 11,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupArchiveRestoreBackupArchiveConstMeta,
        argValues: [filePath],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupArchiveRestoreBackupArchiveConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_archive_restore_backup_archive",
        argNames: ["filePath"],
      );

  @override
  Future<String?> crateBridgeWrapperBackupRustBackupIdentityGetBackupId() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 12,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_String,
          decodeErrorData: null,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupIdentityGetBackupIdConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupIdentityGetBackupIdConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_identity_get_backup_id",
        argNames: [],
      );

  @override
  Future<BackupPasswordKeys>
  crateBridgeWrapperBackupRustBackupIdentityGetBackupPasswordKeys({
    required PlatformInt64 userId,
    required String password,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_i_64(userId, serializer);
          sse_encode_String(password, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 13,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_backup_password_keys,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupIdentityGetBackupPasswordKeysConstMeta,
        argValues: [userId, password],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupIdentityGetBackupPasswordKeysConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_identity_get_backup_password_keys",
        argNames: ["userId", "password"],
      );

  @override
  Future<Uint8List>
  crateBridgeWrapperBackupRustBackupIdentityGetIdentityBackupBytes() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 14,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupIdentityGetIdentityBackupBytesConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupIdentityGetIdentityBackupBytesConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_identity_get_identity_backup_bytes",
        argNames: [],
      );

  @override
  Future<void>
  crateBridgeWrapperBackupRustBackupIdentityImportBackupPasswordKeys({
    required List<int> backupId,
    required List<int> encryptionKey,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_list_prim_u_8_loose(backupId, serializer);
          sse_encode_list_prim_u_8_loose(encryptionKey, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 15,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupIdentityImportBackupPasswordKeysConstMeta,
        argValues: [backupId, encryptionKey],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupIdentityImportBackupPasswordKeysConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_identity_import_backup_password_keys",
        argNames: ["backupId", "encryptionKey"],
      );

  @override
  Future<void> crateBridgeWrapperBackupRustBackupIdentityRestoreIdentityBackup({
    required BackupPasswordKeys keys,
    required List<int> encryptedBytes,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_backup_password_keys(keys, serializer);
          sse_encode_list_prim_u_8_loose(encryptedBytes, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 16,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupIdentityRestoreIdentityBackupConstMeta,
        argValues: [keys, encryptedBytes],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupIdentityRestoreIdentityBackupConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_identity_restore_identity_backup",
        argNames: ["keys", "encryptedBytes"],
      );

  @override
  Future<void> crateBridgeWrapperBackupRustBackupIdentitySetBackupPasswordKeys({
    required PlatformInt64 userId,
    required String password,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_i_64(userId, serializer);
          sse_encode_String(password, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 17,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperBackupRustBackupIdentitySetBackupPasswordKeysConstMeta,
        argValues: [userId, password],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperBackupRustBackupIdentitySetBackupPasswordKeysConstMeta =>
      const TaskConstMeta(
        debugName: "rust_backup_identity_set_backup_password_keys",
        argNames: ["userId", "password"],
      );

  @override
  Future<Uint8List>
  crateBridgeWrapperKeyManagerRustKeyManagerDecryptCloudMediaKey({
    required List<int> encryptedMediaKey,
    required String addition,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_list_prim_u_8_loose(encryptedMediaKey, serializer);
          sse_encode_String(addition, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 18,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerDecryptCloudMediaKeyConstMeta,
        argValues: [encryptedMediaKey, addition],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerDecryptCloudMediaKeyConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_decrypt_cloud_media_key",
        argNames: ["encryptedMediaKey", "addition"],
      );

  @override
  Future<Uint8List>
  crateBridgeWrapperKeyManagerRustKeyManagerEncryptCloudMediaKey({
    required List<int> mediaKey,
    required String addition,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_list_prim_u_8_loose(mediaKey, serializer);
          sse_encode_String(addition, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 19,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerEncryptCloudMediaKeyConstMeta,
        argValues: [mediaKey, addition],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerEncryptCloudMediaKeyConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_encrypt_cloud_media_key",
        argNames: ["mediaKey", "addition"],
      );

  @override
  Future<Uint8List> crateBridgeWrapperKeyManagerRustKeyManagerGetLoginToken() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 20,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerGetLoginTokenConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerGetLoginTokenConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_get_login_token",
        argNames: [],
      );

  @override
  Future<(Uint8List, PlatformInt64)>
  crateBridgeWrapperKeyManagerRustKeyManagerGetSignalIdentity() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 21,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_record_list_prim_u_8_strict_i_64,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerGetSignalIdentityConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerGetSignalIdentityConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_get_signal_identity",
        argNames: [],
      );

  @override
  Future<PlatformInt64?> crateBridgeWrapperKeyManagerRustKeyManagerGetUserId() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 22,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_box_autoadd_i_64,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerGetUserIdConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerGetUserIdConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_get_user_id",
        argNames: [],
      );

  @override
  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerImportSerialized({
    required List<int> serializedBytes,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_list_prim_u_8_loose(serializedBytes, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 23,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerImportSerializedConstMeta,
        argValues: [serializedBytes],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerImportSerializedConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_import_serialized",
        argNames: ["serializedBytes"],
      );

  @override
  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerImportSignalIdentity({
    required List<int> identityKeyPairStructure,
    required PlatformInt64 registrationId,
    required Map<PlatformInt64, Uint8List> signedPreKeyStore,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_list_prim_u_8_loose(identityKeyPairStructure, serializer);
          sse_encode_i_64(registrationId, serializer);
          sse_encode_Map_i_64_list_prim_u_8_strict_None(
            signedPreKeyStore,
            serializer,
          );
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 24,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerImportSignalIdentityConstMeta,
        argValues: [
          identityKeyPairStructure,
          registrationId,
          signedPreKeyStore,
        ],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerImportSignalIdentityConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_import_signal_identity",
        argNames: [
          "identityKeyPairStructure",
          "registrationId",
          "signedPreKeyStore",
        ],
      );

  @override
  Future<Uint8List?>
  crateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekey({
    required PlatformInt64 signedPreKeyId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_i_64(signedPreKeyId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 25,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekeyConstMeta,
        argValues: [signedPreKeyId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekeyConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_load_signed_prekey",
        argNames: ["signedPreKeyId"],
      );

  @override
  Future<Map<PlatformInt64, Uint8List>>
  crateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekeys() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 26,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_Map_i_64_list_prim_u_8_strict_None,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekeysConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerLoadSignedPrekeysConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_load_signed_prekeys",
        argNames: [],
      );

  @override
  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerRemoveKeyManager() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 27,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerRemoveKeyManagerConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerRemoveKeyManagerConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_remove_key_manager",
        argNames: [],
      );

  @override
  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerRemoveSignedPrekey({
    required PlatformInt64 signedPreKeyId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_i_64(signedPreKeyId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 28,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerRemoveSignedPrekeyConstMeta,
        argValues: [signedPreKeyId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerRemoveSignedPrekeyConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_remove_signed_prekey",
        argNames: ["signedPreKeyId"],
      );

  @override
  Future<Uint8List> crateBridgeWrapperKeyManagerRustKeyManagerSerialize() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 29,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerSerializeConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerSerializeConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_serialize",
        argNames: [],
      );

  @override
  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerSetUserId({
    required PlatformInt64 userId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_i_64(userId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 30,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerSetUserIdConstMeta,
        argValues: [userId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerSetUserIdConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_set_user_id",
        argNames: ["userId"],
      );

  @override
  Future<void> crateBridgeWrapperKeyManagerRustKeyManagerStoreSignedPrekey({
    required PlatformInt64 signedPreKeyId,
    required List<int> record,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_i_64(signedPreKeyId, serializer);
          sse_encode_list_prim_u_8_loose(record, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 31,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperKeyManagerRustKeyManagerStoreSignedPrekeyConstMeta,
        argValues: [signedPreKeyId, record],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperKeyManagerRustKeyManagerStoreSignedPrekeyConstMeta =>
      const TaskConstMeta(
        debugName: "rust_key_manager_store_signed_prekey",
        argNames: ["signedPreKeyId", "record"],
      );

  @override
  Future<Uint8List> crateBridgeWrapperSignalRustSignalDecrypt({
    required String name,
    required int deviceId,
    required List<int> ciphertext,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_String(name, serializer);
          sse_encode_u_32(deviceId, serializer);
          sse_encode_list_prim_u_8_loose(ciphertext, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 32,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta: kCrateBridgeWrapperSignalRustSignalDecryptConstMeta,
        argValues: [name, deviceId, ciphertext],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta get kCrateBridgeWrapperSignalRustSignalDecryptConstMeta =>
      const TaskConstMeta(
        debugName: "rust_signal_decrypt",
        argNames: ["name", "deviceId", "ciphertext"],
      );

  @override
  Future<Uint8List> crateBridgeWrapperSignalRustSignalEncrypt({
    required String name,
    required int deviceId,
    required List<int> plaintext,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_String(name, serializer);
          sse_encode_u_32(deviceId, serializer);
          sse_encode_list_prim_u_8_loose(plaintext, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 33,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta: kCrateBridgeWrapperSignalRustSignalEncryptConstMeta,
        argValues: [name, deviceId, plaintext],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta get kCrateBridgeWrapperSignalRustSignalEncryptConstMeta =>
      const TaskConstMeta(
        debugName: "rust_signal_encrypt",
        argNames: ["name", "deviceId", "plaintext"],
      );

  @override
  Future<FrbPreKeyBundle> crateBridgeWrapperSignalRustSignalGenerateBundle() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 34,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_frb_pre_key_bundle,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta: kCrateBridgeWrapperSignalRustSignalGenerateBundleConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperSignalRustSignalGenerateBundleConstMeta =>
      const TaskConstMeta(
        debugName: "rust_signal_generate_bundle",
        argNames: [],
      );

  @override
  Future<List<FrbPqcPreKey>>
  crateBridgeWrapperSignalRustSignalGeneratePqcPrekeys() {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 35,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_frb_pqc_pre_key,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperSignalRustSignalGeneratePqcPrekeysConstMeta,
        argValues: [],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperSignalRustSignalGeneratePqcPrekeysConstMeta =>
      const TaskConstMeta(
        debugName: "rust_signal_generate_pqc_prekeys",
        argNames: [],
      );

  @override
  Future<void> crateBridgeWrapperSignalRustSignalProcessPrekeyBundle({
    required String name,
    required int deviceId,
    required FrbPreKeyBundle bundle,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_String(name, serializer);
          sse_encode_u_32(deviceId, serializer);
          sse_encode_box_autoadd_frb_pre_key_bundle(bundle, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 36,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeWrapperSignalRustSignalProcessPrekeyBundleConstMeta,
        argValues: [name, deviceId, bundle],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeWrapperSignalRustSignalProcessPrekeyBundleConstMeta =>
      const TaskConstMeta(
        debugName: "rust_signal_process_prekey_bundle",
        argNames: ["name", "deviceId", "bundle"],
      );

  @override
  Future<List<Uint8List>> crateBridgeWrapperRustUtilsGenerateShares({
    required List<int> secret,
    required int total,
    required int threshold,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_list_prim_u_8_loose(secret, serializer);
          sse_encode_u_8(total, serializer);
          sse_encode_u_8(threshold, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 37,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta: kCrateBridgeWrapperRustUtilsGenerateSharesConstMeta,
        argValues: [secret, total, threshold],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta get kCrateBridgeWrapperRustUtilsGenerateSharesConstMeta =>
      const TaskConstMeta(
        debugName: "rust_utils_generate_shares",
        argNames: ["secret", "total", "threshold"],
      );

  @override
  Future<Uint8List> crateBridgeWrapperRustUtilsRecoverSecret({
    required List<Uint8List> shares,
    required int threshold,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_list_list_prim_u_8_strict(shares, serializer);
          sse_encode_u_8(threshold, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 38,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta: kCrateBridgeWrapperRustUtilsRecoverSecretConstMeta,
        argValues: [shares, threshold],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta get kCrateBridgeWrapperRustUtilsRecoverSecretConstMeta =>
      const TaskConstMeta(
        debugName: "rust_utils_recover_secret",
        argNames: ["shares", "threshold"],
      );

  @override
  Future<AnnouncedUser?>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetAnnouncedUserByPublicId({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 publicId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(publicId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 39,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_box_autoadd_announced_user,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetAnnouncedUserByPublicIdConstMeta,
        argValues: [that, publicId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetAnnouncedUserByPublicIdConstMeta =>
      const TaskConstMeta(
        debugName:
            "user_discovery_store_flutter_get_announced_user_by_public_id",
        argNames: ["that", "publicId"],
      );

  @override
  Future<String>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetConfig({
    required UserDiscoveryStoreFlutter that,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 40,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_String,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetConfigConstMeta,
        argValues: [that],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetConfigConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_get_config",
        argNames: ["that"],
      );

  @override
  Future<Uint8List?>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactPromotion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(contactId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 41,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactPromotionConstMeta,
        argValues: [that, contactId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactPromotionConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_get_contact_promotion",
        argNames: ["that", "contactId"],
      );

  @override
  Future<Uint8List?>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactVersion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(contactId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 42,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_opt_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactVersionConstMeta,
        argValues: [that, contactId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetContactVersionConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_get_contact_version",
        argNames: ["that", "contactId"],
      );

  @override
  Future<List<OtherPromotion>>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOtherPromotionsByPublicId({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 publicId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(publicId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 43,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_other_promotion,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOtherPromotionsByPublicIdConstMeta,
        argValues: [that, publicId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOtherPromotionsByPublicIdConstMeta =>
      const TaskConstMeta(
        debugName:
            "user_discovery_store_flutter_get_other_promotions_by_public_id",
        argNames: ["that", "publicId"],
      );

  @override
  Future<List<Uint8List>>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOwnPromotionsAfterVersion({
    required UserDiscoveryStoreFlutter that,
    required int version,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_u_32(version, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 44,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOwnPromotionsAfterVersionConstMeta,
        argValues: [that, version],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetOwnPromotionsAfterVersionConstMeta =>
      const TaskConstMeta(
        debugName:
            "user_discovery_store_flutter_get_own_promotions_after_version",
        argNames: ["that", "version"],
      );

  @override
  Future<Uint8List>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetShareForContact({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(contactId, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 45,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetShareForContactConstMeta,
        argValues: [that, contactId],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterGetShareForContactConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_get_share_for_contact",
        argNames: ["that", "contactId"],
      );

  @override
  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushNewUserRelation({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 fromContactId,
    required AnnouncedUser announcedUser,
    PlatformInt64? publicKeyVerifiedTimestamp,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(fromContactId, serializer);
          sse_encode_box_autoadd_announced_user(announcedUser, serializer);
          sse_encode_opt_box_autoadd_i_64(
            publicKeyVerifiedTimestamp,
            serializer,
          );
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 46,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushNewUserRelationConstMeta,
        argValues: [
          that,
          fromContactId,
          announcedUser,
          publicKeyVerifiedTimestamp,
        ],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushNewUserRelationConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_push_new_user_relation",
        argNames: [
          "that",
          "fromContactId",
          "announcedUser",
          "publicKeyVerifiedTimestamp",
        ],
      );

  @override
  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushOwnPromotionAndClearOldVersion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
    required int version,
    required List<int> promotion,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(contactId, serializer);
          sse_encode_u_32(version, serializer);
          sse_encode_list_prim_u_8_loose(promotion, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 47,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushOwnPromotionAndClearOldVersionConstMeta,
        argValues: [that, contactId, version, promotion],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterPushOwnPromotionAndClearOldVersionConstMeta =>
      const TaskConstMeta(
        debugName:
            "user_discovery_store_flutter_push_own_promotion_and_clear_old_version",
        argNames: ["that", "contactId", "version", "promotion"],
      );

  @override
  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetContactVersion({
    required UserDiscoveryStoreFlutter that,
    required PlatformInt64 contactId,
    required List<int> update,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_i_64(contactId, serializer);
          sse_encode_list_prim_u_8_loose(update, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 48,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetContactVersionConstMeta,
        argValues: [that, contactId, update],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetContactVersionConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_set_contact_version",
        argNames: ["that", "contactId", "update"],
      );

  @override
  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetShares({
    required UserDiscoveryStoreFlutter that,
    required List<Uint8List> shares,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_list_list_prim_u_8_strict(shares, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 49,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetSharesConstMeta,
        argValues: [that, shares],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterSetSharesConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_set_shares",
        argNames: ["that", "shares"],
      );

  @override
  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterStoreOtherPromotion({
    required UserDiscoveryStoreFlutter that,
    required OtherPromotion promotion,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_box_autoadd_other_promotion(promotion, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 50,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterStoreOtherPromotionConstMeta,
        argValues: [that, promotion],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterStoreOtherPromotionConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_store_other_promotion",
        argNames: ["that", "promotion"],
      );

  @override
  Future<void>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterUpdateConfig({
    required UserDiscoveryStoreFlutter that,
    required String update,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_store_flutter(that, serializer);
          sse_encode_String(update, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 51,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_unit,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterUpdateConfigConstMeta,
        argValues: [that, update],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryStoreFlutterUpdateConfigConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_store_flutter_update_config",
        argNames: ["that", "update"],
      );

  @override
  Future<Uint8List>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterSignData({
    required UserDiscoveryUtilsFlutter that,
    required List<int> inputData,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_utils_flutter(that, serializer);
          sse_encode_list_prim_u_8_loose(inputData, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 52,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_list_prim_u_8_strict,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterSignDataConstMeta,
        argValues: [that, inputData],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterSignDataConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_utils_flutter_sign_data",
        argNames: ["that", "inputData"],
      );

  @override
  Future<bool>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifySignature({
    required UserDiscoveryUtilsFlutter that,
    required List<int> inputData,
    required List<int> pubkey,
    required List<int> signature,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_utils_flutter(that, serializer);
          sse_encode_list_prim_u_8_loose(inputData, serializer);
          sse_encode_list_prim_u_8_loose(pubkey, serializer);
          sse_encode_list_prim_u_8_loose(signature, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 53,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_bool,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifySignatureConstMeta,
        argValues: [that, inputData, pubkey, signature],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifySignatureConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_utils_flutter_verify_signature",
        argNames: ["that", "inputData", "pubkey", "signature"],
      );

  @override
  Future<bool>
  crateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifyStoredPubkey({
    required UserDiscoveryUtilsFlutter that,
    required PlatformInt64 fromContactId,
    required List<int> pubkey,
  }) {
    return handler.executeNormal(
      NormalTask(
        callFfi: (port_) {
          final serializer = SseSerializer(generalizedFrbRustBinding);
          sse_encode_box_autoadd_user_discovery_utils_flutter(that, serializer);
          sse_encode_i_64(fromContactId, serializer);
          sse_encode_list_prim_u_8_loose(pubkey, serializer);
          pdeCallFfi(
            generalizedFrbRustBinding,
            serializer,
            funcId: 54,
            port: port_,
          );
        },
        codec: SseCodec(
          decodeSuccessData: sse_decode_bool,
          decodeErrorData: sse_decode_AnyhowException,
        ),
        constMeta:
            kCrateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifyStoredPubkeyConstMeta,
        argValues: [that, fromContactId, pubkey],
        apiImpl: this,
      ),
    );
  }

  TaskConstMeta
  get kCrateBridgeCallbacksUserDiscoveryUserDiscoveryUtilsFlutterVerifyStoredPubkeyConstMeta =>
      const TaskConstMeta(
        debugName: "user_discovery_utils_flutter_verify_stored_pubkey",
        argNames: ["that", "fromContactId", "pubkey"],
      );

  Future<void> Function(
    int,
  )
  encode_DartFn_Inputs__Output_StreamSink_String_Sse_AnyhowException(
    FutureOr<RustStreamSink<String>> Function() raw,
  ) {
    return (
      callId,
    ) async {
      Box<RustStreamSink<String>>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw());
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_StreamSink_String_Sse(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic)
  encode_DartFn_Inputs_i_64_Output_opt_box_autoadd_announced_user_AnyhowException(
    FutureOr<AnnouncedUser?> Function(PlatformInt64) raw,
  ) {
    return (callId, rawArg0) async {
      final arg0 = dco_decode_i_64(rawArg0);

      Box<AnnouncedUser?>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_opt_box_autoadd_announced_user(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic)
  encode_DartFn_Inputs_i_64_Output_opt_list_list_prim_u_8_strict_AnyhowException(
    FutureOr<List<Uint8List>?> Function(PlatformInt64) raw,
  ) {
    return (callId, rawArg0) async {
      final arg0 = dco_decode_i_64(rawArg0);

      Box<List<Uint8List>?>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_opt_list_list_prim_u_8_strict(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic)
  encode_DartFn_Inputs_i_64_Output_opt_list_other_promotion_AnyhowException(
    FutureOr<List<OtherPromotion>?> Function(PlatformInt64) raw,
  ) {
    return (callId, rawArg0) async {
      final arg0 = dco_decode_i_64(rawArg0);

      Box<List<OtherPromotion>?>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_opt_list_other_promotion(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic)
  encode_DartFn_Inputs_i_64_Output_opt_list_prim_u_8_strict_AnyhowException(
    FutureOr<Uint8List?> Function(PlatformInt64) raw,
  ) {
    return (callId, rawArg0) async {
      final arg0 = dco_decode_i_64(rawArg0);

      Box<Uint8List?>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_opt_list_prim_u_8_strict(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic, dynamic, dynamic)
  encode_DartFn_Inputs_i_64_announced_user_opt_box_autoadd_i_64_Output_bool_AnyhowException(
    FutureOr<bool> Function(PlatformInt64, AnnouncedUser, PlatformInt64?) raw,
  ) {
    return (callId, rawArg0, rawArg1, rawArg2) async {
      final arg0 = dco_decode_i_64(rawArg0);
      final arg1 = dco_decode_announced_user(rawArg1);
      final arg2 = dco_decode_opt_box_autoadd_i_64(rawArg2);

      Box<bool>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0, arg1, arg2));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_bool(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic, dynamic, dynamic)
  encode_DartFn_Inputs_i_64_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(PlatformInt64, PlatformInt64, Uint8List) raw,
  ) {
    return (callId, rawArg0, rawArg1, rawArg2) async {
      final arg0 = dco_decode_i_64(rawArg0);
      final arg1 = dco_decode_i_64(rawArg1);
      final arg2 = dco_decode_list_prim_u_8_strict(rawArg2);

      Box<bool>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0, arg1, arg2));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_bool(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic, dynamic)
  encode_DartFn_Inputs_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(PlatformInt64, Uint8List) raw,
  ) {
    return (callId, rawArg0, rawArg1) async {
      final arg0 = dco_decode_i_64(rawArg0);
      final arg1 = dco_decode_list_prim_u_8_strict(rawArg1);

      Box<bool>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0, arg1));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_bool(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic)
  encode_DartFn_Inputs_list_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(List<Uint8List>) raw,
  ) {
    return (callId, rawArg0) async {
      final arg0 = dco_decode_list_list_prim_u_8_strict(rawArg0);

      Box<bool>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_bool(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic)
  encode_DartFn_Inputs_list_prim_u_8_strict_Output_opt_list_prim_u_8_strict_AnyhowException(
    FutureOr<Uint8List?> Function(Uint8List) raw,
  ) {
    return (callId, rawArg0) async {
      final arg0 = dco_decode_list_prim_u_8_strict(rawArg0);

      Box<Uint8List?>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_opt_list_prim_u_8_strict(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic, dynamic, dynamic)
  encode_DartFn_Inputs_list_prim_u_8_strict_list_prim_u_8_strict_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(Uint8List, Uint8List, Uint8List) raw,
  ) {
    return (callId, rawArg0, rawArg1, rawArg2) async {
      final arg0 = dco_decode_list_prim_u_8_strict(rawArg0);
      final arg1 = dco_decode_list_prim_u_8_strict(rawArg1);
      final arg2 = dco_decode_list_prim_u_8_strict(rawArg2);

      Box<bool>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0, arg1, arg2));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_bool(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  Future<void> Function(int, dynamic)
  encode_DartFn_Inputs_other_promotion_Output_bool_AnyhowException(
    FutureOr<bool> Function(OtherPromotion) raw,
  ) {
    return (callId, rawArg0) async {
      final arg0 = dco_decode_other_promotion(rawArg0);

      Box<bool>? rawOutput;
      Box<AnyhowException>? rawError;
      try {
        rawOutput = Box(await raw(arg0));
      } catch (e, s) {
        rawError = Box(AnyhowException("$e\n\n$s"));
      }

      final serializer = SseSerializer(generalizedFrbRustBinding);
      assert((rawOutput != null) ^ (rawError != null));
      if (rawOutput != null) {
        serializer.buffer.putUint8(0);
        sse_encode_bool(rawOutput.value, serializer);
      } else {
        serializer.buffer.putUint8(1);
        sse_encode_AnyhowException(rawError!.value, serializer);
      }
      final output = serializer.intoRaw();

      generalizedFrbRustBinding.dartFnDeliverOutput(
        callId: callId,
        ptr: output.ptr,
        rustVecLen: output.rustVecLen,
        dataLen: output.dataLen,
      );
    };
  }

  @protected
  AnyhowException dco_decode_AnyhowException(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return AnyhowException(raw as String);
  }

  @protected
  FutureOr<RustStreamSink<String>> Function()
  dco_decode_DartFn_Inputs__Output_StreamSink_String_Sse_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<AnnouncedUser?> Function(PlatformInt64)
  dco_decode_DartFn_Inputs_i_64_Output_opt_box_autoadd_announced_user_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<List<Uint8List>?> Function(PlatformInt64)
  dco_decode_DartFn_Inputs_i_64_Output_opt_list_list_prim_u_8_strict_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<List<OtherPromotion>?> Function(PlatformInt64)
  dco_decode_DartFn_Inputs_i_64_Output_opt_list_other_promotion_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<Uint8List?> Function(PlatformInt64)
  dco_decode_DartFn_Inputs_i_64_Output_opt_list_prim_u_8_strict_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<bool> Function(PlatformInt64, AnnouncedUser, PlatformInt64?)
  dco_decode_DartFn_Inputs_i_64_announced_user_opt_box_autoadd_i_64_Output_bool_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<bool> Function(PlatformInt64, PlatformInt64, Uint8List)
  dco_decode_DartFn_Inputs_i_64_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<bool> Function(PlatformInt64, Uint8List)
  dco_decode_DartFn_Inputs_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<bool> Function(List<Uint8List>)
  dco_decode_DartFn_Inputs_list_list_prim_u_8_strict_Output_bool_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<Uint8List?> Function(Uint8List)
  dco_decode_DartFn_Inputs_list_prim_u_8_strict_Output_opt_list_prim_u_8_strict_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<bool> Function(Uint8List, Uint8List, Uint8List)
  dco_decode_DartFn_Inputs_list_prim_u_8_strict_list_prim_u_8_strict_list_prim_u_8_strict_Output_bool_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  FutureOr<bool> Function(OtherPromotion)
  dco_decode_DartFn_Inputs_other_promotion_Output_bool_AnyhowException(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError('');
  }

  @protected
  Object dco_decode_DartOpaque(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return decodeDartOpaque(raw, generalizedFrbRustBinding);
  }

  @protected
  Map<PlatformInt64, Uint8List> dco_decode_Map_i_64_list_prim_u_8_strict_None(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return Map.fromEntries(
      dco_decode_list_record_i_64_list_prim_u_8_strict(
        raw,
      ).map((e) => MapEntry(e.$1, e.$2)),
    );
  }

  @protected
  RustStreamSink<String> dco_decode_StreamSink_String_Sse(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    throw UnimplementedError();
  }

  @protected
  String dco_decode_String(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw as String;
  }

  @protected
  AnnouncedUser dco_decode_announced_user(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 3)
      throw Exception('unexpected arr length: expect 3 but see ${arr.length}');
    return AnnouncedUser(
      userId: dco_decode_i_64(arr[0]),
      publicKey: dco_decode_list_prim_u_8_strict(arr[1]),
      publicId: dco_decode_i_64(arr[2]),
    );
  }

  @protected
  BackupPasswordKeys dco_decode_backup_password_keys(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 2)
      throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
    return BackupPasswordKeys(
      backupId: dco_decode_u_8_array_32(arr[0]),
      encryptionKey: dco_decode_u_8_array_32(arr[1]),
    );
  }

  @protected
  bool dco_decode_bool(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw as bool;
  }

  @protected
  AnnouncedUser dco_decode_box_autoadd_announced_user(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_announced_user(raw);
  }

  @protected
  BackupPasswordKeys dco_decode_box_autoadd_backup_password_keys(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_backup_password_keys(raw);
  }

  @protected
  FrbPreKeyBundle dco_decode_box_autoadd_frb_pre_key_bundle(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_frb_pre_key_bundle(raw);
  }

  @protected
  PlatformInt64 dco_decode_box_autoadd_i_64(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_i_64(raw);
  }

  @protected
  InitConfig dco_decode_box_autoadd_init_config(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_init_config(raw);
  }

  @protected
  OtherPromotion dco_decode_box_autoadd_other_promotion(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_other_promotion(raw);
  }

  @protected
  int dco_decode_box_autoadd_u_32(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw as int;
  }

  @protected
  UserDiscoveryStoreFlutter dco_decode_box_autoadd_user_discovery_store_flutter(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_user_discovery_store_flutter(raw);
  }

  @protected
  UserDiscoveryUtilsFlutter dco_decode_box_autoadd_user_discovery_utils_flutter(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dco_decode_user_discovery_utils_flutter(raw);
  }

  @protected
  FlutterUserDiscovery dco_decode_flutter_user_discovery(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return FlutterUserDiscovery();
  }

  @protected
  FrbPqcPreKey dco_decode_frb_pqc_pre_key(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 5)
      throw Exception('unexpected arr length: expect 5 but see ${arr.length}');
    return FrbPqcPreKey(
      eccPreKeyId: dco_decode_u_32(arr[0]),
      eccPreKey: dco_decode_list_prim_u_8_strict(arr[1]),
      kyberPreKeyId: dco_decode_u_32(arr[2]),
      kyberPreKey: dco_decode_list_prim_u_8_strict(arr[3]),
      kyberPreKeySignature: dco_decode_list_prim_u_8_strict(arr[4]),
    );
  }

  @protected
  FrbPreKeyBundle dco_decode_frb_pre_key_bundle(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 11)
      throw Exception('unexpected arr length: expect 11 but see ${arr.length}');
    return FrbPreKeyBundle(
      registrationId: dco_decode_u_32(arr[0]),
      deviceId: dco_decode_u_32(arr[1]),
      preKeyId: dco_decode_opt_box_autoadd_u_32(arr[2]),
      preKeyPublic: dco_decode_opt_list_prim_u_8_strict(arr[3]),
      signedPreKeyId: dco_decode_u_32(arr[4]),
      signedPreKeyPublic: dco_decode_list_prim_u_8_strict(arr[5]),
      signedPreKeySignature: dco_decode_list_prim_u_8_strict(arr[6]),
      kyberPreKeyId: dco_decode_u_32(arr[7]),
      kyberPreKeyPublic: dco_decode_list_prim_u_8_strict(arr[8]),
      kyberPreKeySignature: dco_decode_list_prim_u_8_strict(arr[9]),
      identityKey: dco_decode_list_prim_u_8_strict(arr[10]),
    );
  }

  @protected
  PlatformInt64 dco_decode_i_64(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dcoDecodeI64(raw);
  }

  @protected
  InitConfig dco_decode_init_config(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 2)
      throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
    return InitConfig(
      databaseDir: dco_decode_String(arr[0]),
      dataDir: dco_decode_String(arr[1]),
    );
  }

  @protected
  PlatformInt64 dco_decode_isize(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dcoDecodeI64(raw);
  }

  @protected
  List<FrbPqcPreKey> dco_decode_list_frb_pqc_pre_key(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return (raw as List<dynamic>).map(dco_decode_frb_pqc_pre_key).toList();
  }

  @protected
  List<Uint8List> dco_decode_list_list_prim_u_8_strict(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return (raw as List<dynamic>).map(dco_decode_list_prim_u_8_strict).toList();
  }

  @protected
  List<OtherPromotion> dco_decode_list_other_promotion(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return (raw as List<dynamic>).map(dco_decode_other_promotion).toList();
  }

  @protected
  List<int> dco_decode_list_prim_u_8_loose(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw as List<int>;
  }

  @protected
  Uint8List dco_decode_list_prim_u_8_strict(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw as Uint8List;
  }

  @protected
  List<(PlatformInt64, Uint8List)>
  dco_decode_list_record_i_64_list_prim_u_8_strict(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return (raw as List<dynamic>)
        .map(dco_decode_record_i_64_list_prim_u_8_strict)
        .toList();
  }

  @protected
  String? dco_decode_opt_String(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw == null ? null : dco_decode_String(raw);
  }

  @protected
  AnnouncedUser? dco_decode_opt_box_autoadd_announced_user(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw == null ? null : dco_decode_box_autoadd_announced_user(raw);
  }

  @protected
  PlatformInt64? dco_decode_opt_box_autoadd_i_64(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw == null ? null : dco_decode_box_autoadd_i_64(raw);
  }

  @protected
  int? dco_decode_opt_box_autoadd_u_32(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw == null ? null : dco_decode_box_autoadd_u_32(raw);
  }

  @protected
  List<Uint8List>? dco_decode_opt_list_list_prim_u_8_strict(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw == null ? null : dco_decode_list_list_prim_u_8_strict(raw);
  }

  @protected
  List<OtherPromotion>? dco_decode_opt_list_other_promotion(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw == null ? null : dco_decode_list_other_promotion(raw);
  }

  @protected
  Uint8List? dco_decode_opt_list_prim_u_8_strict(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw == null ? null : dco_decode_list_prim_u_8_strict(raw);
  }

  @protected
  OtherPromotion dco_decode_other_promotion(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 6)
      throw Exception('unexpected arr length: expect 6 but see ${arr.length}');
    return OtherPromotion(
      promotionId: dco_decode_u_32(arr[0]),
      publicId: dco_decode_i_64(arr[1]),
      fromContactId: dco_decode_i_64(arr[2]),
      threshold: dco_decode_u_8(arr[3]),
      announcementShare: dco_decode_list_prim_u_8_strict(arr[4]),
      publicKeyVerifiedTimestamp: dco_decode_opt_box_autoadd_i_64(arr[5]),
    );
  }

  @protected
  (PlatformInt64, Uint8List) dco_decode_record_i_64_list_prim_u_8_strict(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 2) {
      throw Exception('Expected 2 elements, got ${arr.length}');
    }
    return (
      dco_decode_i_64(arr[0]),
      dco_decode_list_prim_u_8_strict(arr[1]),
    );
  }

  @protected
  (Uint8List, PlatformInt64) dco_decode_record_list_prim_u_8_strict_i_64(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 2) {
      throw Exception('Expected 2 elements, got ${arr.length}');
    }
    return (
      dco_decode_list_prim_u_8_strict(arr[0]),
      dco_decode_i_64(arr[1]),
    );
  }

  @protected
  (String, String) dco_decode_record_string_string(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 2) {
      throw Exception('Expected 2 elements, got ${arr.length}');
    }
    return (
      dco_decode_String(arr[0]),
      dco_decode_String(arr[1]),
    );
  }

  @protected
  RustBackupArchive dco_decode_rust_backup_archive(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return RustBackupArchive();
  }

  @protected
  RustBackupIdentity dco_decode_rust_backup_identity(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return RustBackupIdentity();
  }

  @protected
  RustKeyManager dco_decode_rust_key_manager(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return RustKeyManager();
  }

  @protected
  RustSignal dco_decode_rust_signal(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return RustSignal();
  }

  @protected
  RustUtils dco_decode_rust_utils(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return RustUtils();
  }

  @protected
  int dco_decode_u_32(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw as int;
  }

  @protected
  int dco_decode_u_8(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return raw as int;
  }

  @protected
  U8Array32 dco_decode_u_8_array_32(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return U8Array32(dco_decode_list_prim_u_8_strict(raw));
  }

  @protected
  void dco_decode_unit(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return;
  }

  @protected
  UserDiscoveryStoreFlutter dco_decode_user_discovery_store_flutter(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return UserDiscoveryStoreFlutter();
  }

  @protected
  UserDiscoveryUtilsFlutter dco_decode_user_discovery_utils_flutter(
    dynamic raw,
  ) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    final arr = raw as List<dynamic>;
    if (arr.length != 0)
      throw Exception('unexpected arr length: expect 0 but see ${arr.length}');
    return UserDiscoveryUtilsFlutter();
  }

  @protected
  BigInt dco_decode_usize(dynamic raw) {
    // Codec=Dco (DartCObject based), see doc to use other codecs
    return dcoDecodeU64(raw);
  }

  @protected
  AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var inner = sse_decode_String(deserializer);
    return AnyhowException(inner);
  }

  @protected
  Object sse_decode_DartOpaque(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var inner = sse_decode_isize(deserializer);
    return decodeDartOpaque(inner, generalizedFrbRustBinding);
  }

  @protected
  Map<PlatformInt64, Uint8List> sse_decode_Map_i_64_list_prim_u_8_strict_None(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var inner = sse_decode_list_record_i_64_list_prim_u_8_strict(deserializer);
    return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2)));
  }

  @protected
  RustStreamSink<String> sse_decode_StreamSink_String_Sse(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    throw UnimplementedError('Unreachable ()');
  }

  @protected
  String sse_decode_String(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var inner = sse_decode_list_prim_u_8_strict(deserializer);
    return utf8.decoder.convert(inner);
  }

  @protected
  AnnouncedUser sse_decode_announced_user(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_userId = sse_decode_i_64(deserializer);
    var var_publicKey = sse_decode_list_prim_u_8_strict(deserializer);
    var var_publicId = sse_decode_i_64(deserializer);
    return AnnouncedUser(
      userId: var_userId,
      publicKey: var_publicKey,
      publicId: var_publicId,
    );
  }

  @protected
  BackupPasswordKeys sse_decode_backup_password_keys(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_backupId = sse_decode_u_8_array_32(deserializer);
    var var_encryptionKey = sse_decode_u_8_array_32(deserializer);
    return BackupPasswordKeys(
      backupId: var_backupId,
      encryptionKey: var_encryptionKey,
    );
  }

  @protected
  bool sse_decode_bool(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return deserializer.buffer.getUint8() != 0;
  }

  @protected
  AnnouncedUser sse_decode_box_autoadd_announced_user(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_announced_user(deserializer));
  }

  @protected
  BackupPasswordKeys sse_decode_box_autoadd_backup_password_keys(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_backup_password_keys(deserializer));
  }

  @protected
  FrbPreKeyBundle sse_decode_box_autoadd_frb_pre_key_bundle(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_frb_pre_key_bundle(deserializer));
  }

  @protected
  PlatformInt64 sse_decode_box_autoadd_i_64(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_i_64(deserializer));
  }

  @protected
  InitConfig sse_decode_box_autoadd_init_config(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_init_config(deserializer));
  }

  @protected
  OtherPromotion sse_decode_box_autoadd_other_promotion(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_other_promotion(deserializer));
  }

  @protected
  int sse_decode_box_autoadd_u_32(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_u_32(deserializer));
  }

  @protected
  UserDiscoveryStoreFlutter sse_decode_box_autoadd_user_discovery_store_flutter(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_user_discovery_store_flutter(deserializer));
  }

  @protected
  UserDiscoveryUtilsFlutter sse_decode_box_autoadd_user_discovery_utils_flutter(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return (sse_decode_user_discovery_utils_flutter(deserializer));
  }

  @protected
  FlutterUserDiscovery sse_decode_flutter_user_discovery(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return FlutterUserDiscovery();
  }

  @protected
  FrbPqcPreKey sse_decode_frb_pqc_pre_key(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_eccPreKeyId = sse_decode_u_32(deserializer);
    var var_eccPreKey = sse_decode_list_prim_u_8_strict(deserializer);
    var var_kyberPreKeyId = sse_decode_u_32(deserializer);
    var var_kyberPreKey = sse_decode_list_prim_u_8_strict(deserializer);
    var var_kyberPreKeySignature = sse_decode_list_prim_u_8_strict(
      deserializer,
    );
    return FrbPqcPreKey(
      eccPreKeyId: var_eccPreKeyId,
      eccPreKey: var_eccPreKey,
      kyberPreKeyId: var_kyberPreKeyId,
      kyberPreKey: var_kyberPreKey,
      kyberPreKeySignature: var_kyberPreKeySignature,
    );
  }

  @protected
  FrbPreKeyBundle sse_decode_frb_pre_key_bundle(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_registrationId = sse_decode_u_32(deserializer);
    var var_deviceId = sse_decode_u_32(deserializer);
    var var_preKeyId = sse_decode_opt_box_autoadd_u_32(deserializer);
    var var_preKeyPublic = sse_decode_opt_list_prim_u_8_strict(deserializer);
    var var_signedPreKeyId = sse_decode_u_32(deserializer);
    var var_signedPreKeyPublic = sse_decode_list_prim_u_8_strict(deserializer);
    var var_signedPreKeySignature = sse_decode_list_prim_u_8_strict(
      deserializer,
    );
    var var_kyberPreKeyId = sse_decode_u_32(deserializer);
    var var_kyberPreKeyPublic = sse_decode_list_prim_u_8_strict(deserializer);
    var var_kyberPreKeySignature = sse_decode_list_prim_u_8_strict(
      deserializer,
    );
    var var_identityKey = sse_decode_list_prim_u_8_strict(deserializer);
    return FrbPreKeyBundle(
      registrationId: var_registrationId,
      deviceId: var_deviceId,
      preKeyId: var_preKeyId,
      preKeyPublic: var_preKeyPublic,
      signedPreKeyId: var_signedPreKeyId,
      signedPreKeyPublic: var_signedPreKeyPublic,
      signedPreKeySignature: var_signedPreKeySignature,
      kyberPreKeyId: var_kyberPreKeyId,
      kyberPreKeyPublic: var_kyberPreKeyPublic,
      kyberPreKeySignature: var_kyberPreKeySignature,
      identityKey: var_identityKey,
    );
  }

  @protected
  PlatformInt64 sse_decode_i_64(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return deserializer.buffer.getPlatformInt64();
  }

  @protected
  InitConfig sse_decode_init_config(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_databaseDir = sse_decode_String(deserializer);
    var var_dataDir = sse_decode_String(deserializer);
    return InitConfig(databaseDir: var_databaseDir, dataDir: var_dataDir);
  }

  @protected
  PlatformInt64 sse_decode_isize(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return deserializer.buffer.getPlatformInt64();
  }

  @protected
  List<FrbPqcPreKey> sse_decode_list_frb_pqc_pre_key(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    var len_ = sse_decode_i_32(deserializer);
    var ans_ = <FrbPqcPreKey>[];
    for (var idx_ = 0; idx_ < len_; ++idx_) {
      ans_.add(sse_decode_frb_pqc_pre_key(deserializer));
    }
    return ans_;
  }

  @protected
  List<Uint8List> sse_decode_list_list_prim_u_8_strict(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    var len_ = sse_decode_i_32(deserializer);
    var ans_ = <Uint8List>[];
    for (var idx_ = 0; idx_ < len_; ++idx_) {
      ans_.add(sse_decode_list_prim_u_8_strict(deserializer));
    }
    return ans_;
  }

  @protected
  List<OtherPromotion> sse_decode_list_other_promotion(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    var len_ = sse_decode_i_32(deserializer);
    var ans_ = <OtherPromotion>[];
    for (var idx_ = 0; idx_ < len_; ++idx_) {
      ans_.add(sse_decode_other_promotion(deserializer));
    }
    return ans_;
  }

  @protected
  List<int> sse_decode_list_prim_u_8_loose(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var len_ = sse_decode_i_32(deserializer);
    return deserializer.buffer.getUint8List(len_);
  }

  @protected
  Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var len_ = sse_decode_i_32(deserializer);
    return deserializer.buffer.getUint8List(len_);
  }

  @protected
  List<(PlatformInt64, Uint8List)>
  sse_decode_list_record_i_64_list_prim_u_8_strict(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    var len_ = sse_decode_i_32(deserializer);
    var ans_ = <(PlatformInt64, Uint8List)>[];
    for (var idx_ = 0; idx_ < len_; ++idx_) {
      ans_.add(sse_decode_record_i_64_list_prim_u_8_strict(deserializer));
    }
    return ans_;
  }

  @protected
  String? sse_decode_opt_String(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    if (sse_decode_bool(deserializer)) {
      return (sse_decode_String(deserializer));
    } else {
      return null;
    }
  }

  @protected
  AnnouncedUser? sse_decode_opt_box_autoadd_announced_user(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    if (sse_decode_bool(deserializer)) {
      return (sse_decode_box_autoadd_announced_user(deserializer));
    } else {
      return null;
    }
  }

  @protected
  PlatformInt64? sse_decode_opt_box_autoadd_i_64(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    if (sse_decode_bool(deserializer)) {
      return (sse_decode_box_autoadd_i_64(deserializer));
    } else {
      return null;
    }
  }

  @protected
  int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    if (sse_decode_bool(deserializer)) {
      return (sse_decode_box_autoadd_u_32(deserializer));
    } else {
      return null;
    }
  }

  @protected
  List<Uint8List>? sse_decode_opt_list_list_prim_u_8_strict(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    if (sse_decode_bool(deserializer)) {
      return (sse_decode_list_list_prim_u_8_strict(deserializer));
    } else {
      return null;
    }
  }

  @protected
  List<OtherPromotion>? sse_decode_opt_list_other_promotion(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    if (sse_decode_bool(deserializer)) {
      return (sse_decode_list_other_promotion(deserializer));
    } else {
      return null;
    }
  }

  @protected
  Uint8List? sse_decode_opt_list_prim_u_8_strict(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    if (sse_decode_bool(deserializer)) {
      return (sse_decode_list_prim_u_8_strict(deserializer));
    } else {
      return null;
    }
  }

  @protected
  OtherPromotion sse_decode_other_promotion(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_promotionId = sse_decode_u_32(deserializer);
    var var_publicId = sse_decode_i_64(deserializer);
    var var_fromContactId = sse_decode_i_64(deserializer);
    var var_threshold = sse_decode_u_8(deserializer);
    var var_announcementShare = sse_decode_list_prim_u_8_strict(deserializer);
    var var_publicKeyVerifiedTimestamp = sse_decode_opt_box_autoadd_i_64(
      deserializer,
    );
    return OtherPromotion(
      promotionId: var_promotionId,
      publicId: var_publicId,
      fromContactId: var_fromContactId,
      threshold: var_threshold,
      announcementShare: var_announcementShare,
      publicKeyVerifiedTimestamp: var_publicKeyVerifiedTimestamp,
    );
  }

  @protected
  (PlatformInt64, Uint8List) sse_decode_record_i_64_list_prim_u_8_strict(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_field0 = sse_decode_i_64(deserializer);
    var var_field1 = sse_decode_list_prim_u_8_strict(deserializer);
    return (var_field0, var_field1);
  }

  @protected
  (Uint8List, PlatformInt64) sse_decode_record_list_prim_u_8_strict_i_64(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_field0 = sse_decode_list_prim_u_8_strict(deserializer);
    var var_field1 = sse_decode_i_64(deserializer);
    return (var_field0, var_field1);
  }

  @protected
  (String, String) sse_decode_record_string_string(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var var_field0 = sse_decode_String(deserializer);
    var var_field1 = sse_decode_String(deserializer);
    return (var_field0, var_field1);
  }

  @protected
  RustBackupArchive sse_decode_rust_backup_archive(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return RustBackupArchive();
  }

  @protected
  RustBackupIdentity sse_decode_rust_backup_identity(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return RustBackupIdentity();
  }

  @protected
  RustKeyManager sse_decode_rust_key_manager(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return RustKeyManager();
  }

  @protected
  RustSignal sse_decode_rust_signal(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return RustSignal();
  }

  @protected
  RustUtils sse_decode_rust_utils(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return RustUtils();
  }

  @protected
  int sse_decode_u_32(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return deserializer.buffer.getUint32();
  }

  @protected
  int sse_decode_u_8(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return deserializer.buffer.getUint8();
  }

  @protected
  U8Array32 sse_decode_u_8_array_32(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    var inner = sse_decode_list_prim_u_8_strict(deserializer);
    return U8Array32(inner);
  }

  @protected
  void sse_decode_unit(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  UserDiscoveryStoreFlutter sse_decode_user_discovery_store_flutter(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return UserDiscoveryStoreFlutter();
  }

  @protected
  UserDiscoveryUtilsFlutter sse_decode_user_discovery_utils_flutter(
    SseDeserializer deserializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return UserDiscoveryUtilsFlutter();
  }

  @protected
  BigInt sse_decode_usize(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return deserializer.buffer.getBigUint64();
  }

  @protected
  int sse_decode_i_32(SseDeserializer deserializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    return deserializer.buffer.getInt32();
  }

  @protected
  void sse_encode_AnyhowException(
    AnyhowException self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_String(self.message, serializer);
  }

  @protected
  void sse_encode_DartFn_Inputs__Output_StreamSink_String_Sse_AnyhowException(
    FutureOr<RustStreamSink<String>> Function() self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs__Output_StreamSink_String_Sse_AnyhowException(self),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_i_64_Output_opt_box_autoadd_announced_user_AnyhowException(
    FutureOr<AnnouncedUser?> Function(PlatformInt64) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_i_64_Output_opt_box_autoadd_announced_user_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_i_64_Output_opt_list_list_prim_u_8_strict_AnyhowException(
    FutureOr<List<Uint8List>?> Function(PlatformInt64) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_i_64_Output_opt_list_list_prim_u_8_strict_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_i_64_Output_opt_list_other_promotion_AnyhowException(
    FutureOr<List<OtherPromotion>?> Function(PlatformInt64) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_i_64_Output_opt_list_other_promotion_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_i_64_Output_opt_list_prim_u_8_strict_AnyhowException(
    FutureOr<Uint8List?> Function(PlatformInt64) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_i_64_Output_opt_list_prim_u_8_strict_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_i_64_announced_user_opt_box_autoadd_i_64_Output_bool_AnyhowException(
    FutureOr<bool> Function(PlatformInt64, AnnouncedUser, PlatformInt64?) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_i_64_announced_user_opt_box_autoadd_i_64_Output_bool_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_i_64_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(PlatformInt64, PlatformInt64, Uint8List) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_i_64_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(PlatformInt64, Uint8List) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_i_64_list_prim_u_8_strict_Output_bool_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_list_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(List<Uint8List>) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_list_list_prim_u_8_strict_Output_bool_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_list_prim_u_8_strict_Output_opt_list_prim_u_8_strict_AnyhowException(
    FutureOr<Uint8List?> Function(Uint8List) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_list_prim_u_8_strict_Output_opt_list_prim_u_8_strict_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void
  sse_encode_DartFn_Inputs_list_prim_u_8_strict_list_prim_u_8_strict_list_prim_u_8_strict_Output_bool_AnyhowException(
    FutureOr<bool> Function(Uint8List, Uint8List, Uint8List) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_list_prim_u_8_strict_list_prim_u_8_strict_list_prim_u_8_strict_Output_bool_AnyhowException(
        self,
      ),
      serializer,
    );
  }

  @protected
  void sse_encode_DartFn_Inputs_other_promotion_Output_bool_AnyhowException(
    FutureOr<bool> Function(OtherPromotion) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_DartOpaque(
      encode_DartFn_Inputs_other_promotion_Output_bool_AnyhowException(self),
      serializer,
    );
  }

  @protected
  void sse_encode_DartOpaque(Object self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_isize(
      PlatformPointerUtil.ptrToPlatformInt64(
        encodeDartOpaque(
          self,
          portManager.dartHandlerPort,
          generalizedFrbRustBinding,
        ),
      ),
      serializer,
    );
  }

  @protected
  void sse_encode_Map_i_64_list_prim_u_8_strict_None(
    Map<PlatformInt64, Uint8List> self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_list_record_i_64_list_prim_u_8_strict(
      self.entries.map((e) => (e.key, e.value)).toList(),
      serializer,
    );
  }

  @protected
  void sse_encode_StreamSink_String_Sse(
    RustStreamSink<String> self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_String(
      self.setupAndSerialize(
        codec: SseCodec(
          decodeSuccessData: sse_decode_String,
          decodeErrorData: sse_decode_AnyhowException,
        ),
      ),
      serializer,
    );
  }

  @protected
  void sse_encode_String(String self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer);
  }

  @protected
  void sse_encode_announced_user(AnnouncedUser self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_64(self.userId, serializer);
    sse_encode_list_prim_u_8_strict(self.publicKey, serializer);
    sse_encode_i_64(self.publicId, serializer);
  }

  @protected
  void sse_encode_backup_password_keys(
    BackupPasswordKeys self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_u_8_array_32(self.backupId, serializer);
    sse_encode_u_8_array_32(self.encryptionKey, serializer);
  }

  @protected
  void sse_encode_bool(bool self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    serializer.buffer.putUint8(self ? 1 : 0);
  }

  @protected
  void sse_encode_box_autoadd_announced_user(
    AnnouncedUser self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_announced_user(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_backup_password_keys(
    BackupPasswordKeys self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_backup_password_keys(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_frb_pre_key_bundle(
    FrbPreKeyBundle self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_frb_pre_key_bundle(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_i_64(
    PlatformInt64 self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_64(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_init_config(
    InitConfig self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_init_config(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_other_promotion(
    OtherPromotion self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_other_promotion(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_u_32(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_user_discovery_store_flutter(
    UserDiscoveryStoreFlutter self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_user_discovery_store_flutter(self, serializer);
  }

  @protected
  void sse_encode_box_autoadd_user_discovery_utils_flutter(
    UserDiscoveryUtilsFlutter self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_user_discovery_utils_flutter(self, serializer);
  }

  @protected
  void sse_encode_flutter_user_discovery(
    FlutterUserDiscovery self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_frb_pqc_pre_key(FrbPqcPreKey self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_u_32(self.eccPreKeyId, serializer);
    sse_encode_list_prim_u_8_strict(self.eccPreKey, serializer);
    sse_encode_u_32(self.kyberPreKeyId, serializer);
    sse_encode_list_prim_u_8_strict(self.kyberPreKey, serializer);
    sse_encode_list_prim_u_8_strict(self.kyberPreKeySignature, serializer);
  }

  @protected
  void sse_encode_frb_pre_key_bundle(
    FrbPreKeyBundle self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_u_32(self.registrationId, serializer);
    sse_encode_u_32(self.deviceId, serializer);
    sse_encode_opt_box_autoadd_u_32(self.preKeyId, serializer);
    sse_encode_opt_list_prim_u_8_strict(self.preKeyPublic, serializer);
    sse_encode_u_32(self.signedPreKeyId, serializer);
    sse_encode_list_prim_u_8_strict(self.signedPreKeyPublic, serializer);
    sse_encode_list_prim_u_8_strict(self.signedPreKeySignature, serializer);
    sse_encode_u_32(self.kyberPreKeyId, serializer);
    sse_encode_list_prim_u_8_strict(self.kyberPreKeyPublic, serializer);
    sse_encode_list_prim_u_8_strict(self.kyberPreKeySignature, serializer);
    sse_encode_list_prim_u_8_strict(self.identityKey, serializer);
  }

  @protected
  void sse_encode_i_64(PlatformInt64 self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    serializer.buffer.putPlatformInt64(self);
  }

  @protected
  void sse_encode_init_config(InitConfig self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_String(self.databaseDir, serializer);
    sse_encode_String(self.dataDir, serializer);
  }

  @protected
  void sse_encode_isize(PlatformInt64 self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    serializer.buffer.putPlatformInt64(self);
  }

  @protected
  void sse_encode_list_frb_pqc_pre_key(
    List<FrbPqcPreKey> self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_32(self.length, serializer);
    for (final item in self) {
      sse_encode_frb_pqc_pre_key(item, serializer);
    }
  }

  @protected
  void sse_encode_list_list_prim_u_8_strict(
    List<Uint8List> self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_32(self.length, serializer);
    for (final item in self) {
      sse_encode_list_prim_u_8_strict(item, serializer);
    }
  }

  @protected
  void sse_encode_list_other_promotion(
    List<OtherPromotion> self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_32(self.length, serializer);
    for (final item in self) {
      sse_encode_other_promotion(item, serializer);
    }
  }

  @protected
  void sse_encode_list_prim_u_8_loose(
    List<int> self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_32(self.length, serializer);
    serializer.buffer.putUint8List(
      self is Uint8List ? self : Uint8List.fromList(self),
    );
  }

  @protected
  void sse_encode_list_prim_u_8_strict(
    Uint8List self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_32(self.length, serializer);
    serializer.buffer.putUint8List(self);
  }

  @protected
  void sse_encode_list_record_i_64_list_prim_u_8_strict(
    List<(PlatformInt64, Uint8List)> self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_32(self.length, serializer);
    for (final item in self) {
      sse_encode_record_i_64_list_prim_u_8_strict(item, serializer);
    }
  }

  @protected
  void sse_encode_opt_String(String? self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    sse_encode_bool(self != null, serializer);
    if (self != null) {
      sse_encode_String(self, serializer);
    }
  }

  @protected
  void sse_encode_opt_box_autoadd_announced_user(
    AnnouncedUser? self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    sse_encode_bool(self != null, serializer);
    if (self != null) {
      sse_encode_box_autoadd_announced_user(self, serializer);
    }
  }

  @protected
  void sse_encode_opt_box_autoadd_i_64(
    PlatformInt64? self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    sse_encode_bool(self != null, serializer);
    if (self != null) {
      sse_encode_box_autoadd_i_64(self, serializer);
    }
  }

  @protected
  void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    sse_encode_bool(self != null, serializer);
    if (self != null) {
      sse_encode_box_autoadd_u_32(self, serializer);
    }
  }

  @protected
  void sse_encode_opt_list_list_prim_u_8_strict(
    List<Uint8List>? self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    sse_encode_bool(self != null, serializer);
    if (self != null) {
      sse_encode_list_list_prim_u_8_strict(self, serializer);
    }
  }

  @protected
  void sse_encode_opt_list_other_promotion(
    List<OtherPromotion>? self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    sse_encode_bool(self != null, serializer);
    if (self != null) {
      sse_encode_list_other_promotion(self, serializer);
    }
  }

  @protected
  void sse_encode_opt_list_prim_u_8_strict(
    Uint8List? self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs

    sse_encode_bool(self != null, serializer);
    if (self != null) {
      sse_encode_list_prim_u_8_strict(self, serializer);
    }
  }

  @protected
  void sse_encode_other_promotion(
    OtherPromotion self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_u_32(self.promotionId, serializer);
    sse_encode_i_64(self.publicId, serializer);
    sse_encode_i_64(self.fromContactId, serializer);
    sse_encode_u_8(self.threshold, serializer);
    sse_encode_list_prim_u_8_strict(self.announcementShare, serializer);
    sse_encode_opt_box_autoadd_i_64(
      self.publicKeyVerifiedTimestamp,
      serializer,
    );
  }

  @protected
  void sse_encode_record_i_64_list_prim_u_8_strict(
    (PlatformInt64, Uint8List) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_i_64(self.$1, serializer);
    sse_encode_list_prim_u_8_strict(self.$2, serializer);
  }

  @protected
  void sse_encode_record_list_prim_u_8_strict_i_64(
    (Uint8List, PlatformInt64) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_list_prim_u_8_strict(self.$1, serializer);
    sse_encode_i_64(self.$2, serializer);
  }

  @protected
  void sse_encode_record_string_string(
    (String, String) self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_String(self.$1, serializer);
    sse_encode_String(self.$2, serializer);
  }

  @protected
  void sse_encode_rust_backup_archive(
    RustBackupArchive self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_rust_backup_identity(
    RustBackupIdentity self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_rust_key_manager(
    RustKeyManager self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_rust_signal(RustSignal self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_rust_utils(RustUtils self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_u_32(int self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    serializer.buffer.putUint32(self);
  }

  @protected
  void sse_encode_u_8(int self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    serializer.buffer.putUint8(self);
  }

  @protected
  void sse_encode_u_8_array_32(U8Array32 self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    sse_encode_list_prim_u_8_strict(self.inner, serializer);
  }

  @protected
  void sse_encode_unit(void self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_user_discovery_store_flutter(
    UserDiscoveryStoreFlutter self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_user_discovery_utils_flutter(
    UserDiscoveryUtilsFlutter self,
    SseSerializer serializer,
  ) {
    // Codec=Sse (Serialization based), see doc to use other codecs
  }

  @protected
  void sse_encode_usize(BigInt self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    serializer.buffer.putBigUint64(self);
  }

  @protected
  void sse_encode_i_32(int self, SseSerializer serializer) {
    // Codec=Sse (Serialization based), see doc to use other codecs
    serializer.buffer.putInt32(self);
  }
}
