export declare enum RsaEncryptionAlgorithm { OaepWithSha1 = "OaepWithSha1", OaepWithSha256 = "OaepWithSha256" } export declare enum RsaSignatureAlgorithm { PssWithSha256 = "PssWithSha256" } export type RsaAlgorithm = RsaEncryptionAlgorithm | RsaSignatureAlgorithm; export declare enum RsaKeySize { Rsa2048 = 2048, Rsa4096 = 4096 } export interface XPrivateRsaKey { privateKey: Int8Array; algorithm: RsaAlgorithm; } export interface XPublicRsaKey { publicKey: Int8Array; algorithm: RsaAlgorithm; } export interface XRsaKeypair { readonly private: XPrivateRsaKey; readonly public: XPublicRsaKey; } export interface PartialXRsaService { generateKeyPair(algorithm: RsaAlgorithm, keySize?: RsaKeySize): Promise; exportPrivateKeyPkcs8(key: XPrivateRsaKey): Promise; exportPublicKeySpki(key: XPublicRsaKey): Promise; loadPrivateKeyPkcs8(algorithm: RsaAlgorithm, privateKeyPkcs8: Int8Array): Promise; loadPublicKeySpki(algorithm: RsaAlgorithm, publicKeySpki: Int8Array): Promise; encrypt(data: Int8Array, publicKey: XPublicRsaKey): Promise; decrypt(data: Int8Array, privateKey: XPrivateRsaKey): Promise; sign(data: Int8Array, privateKey: XPrivateRsaKey): Promise; verifySignature(signature: Int8Array, data: Int8Array, publicKey: XPublicRsaKey): Promise; } export declare const RsaService: PartialXRsaService;