/// import type { JWKInterface } from "../common/lib/wallet"; import type { SignatureOptions } from "../common/lib/crypto/crypto-interface"; import type CryptoInterface from "../common/lib/crypto/crypto-interface"; export default class WebCryptoDriver implements CryptoInterface { readonly keyLength = 4096; readonly publicExponent = 65537; readonly hashAlgorithm = "sha256"; readonly driver: SubtleCrypto; constructor(); generateJWK(): Promise; sign(jwk: JWKInterface, data: Uint8Array, { saltLength }?: SignatureOptions): Promise; hash(data: Uint8Array, algorithm?: string): Promise; verify(publicModulus: string, data: Uint8Array, signature: Uint8Array): Promise; private jwkToCryptoKey; private jwkToPublicCryptoKey; encrypt(data: Buffer, key: string | Buffer, salt?: string): Promise; decrypt(encrypted: Buffer, key: string | Buffer, salt?: string): Promise; }