import type { HybridObject } from 'react-native-nitro-modules' export enum RsaEncryptionAlgorithmSpec { OaepWithSha1, OaepWithSha256, } export interface HybridKeypair { privateKey: ArrayBuffer publicKey: ArrayBuffer } export interface Rsa extends HybridObject<{ ios: 'c++'; android: 'c++' }> { generateKeypair(keySize: number): Promise sign( // algorithm: RsaSignatureAlgorithmSpec, data: ArrayBuffer, key: ArrayBuffer ): Promise verify( // algorithm: RsaSignatureAlgorithmSpec, signature: ArrayBuffer, data: ArrayBuffer, key: ArrayBuffer ): Promise encrypt( algorithm: RsaEncryptionAlgorithmSpec, data: ArrayBuffer, publicKey: ArrayBuffer ): Promise decrypt( algorithm: RsaEncryptionAlgorithmSpec, data: ArrayBuffer, privateKey: ArrayBuffer ): Promise checkValidPublic(publicKey: ArrayBuffer): void checkValidPrivate(privateKey: ArrayBuffer): void }