///
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;
}