import { Crypto, ExtendedJsonWebKey } from '../interfaces/crypto.interface'; import * as crypto from 'crypto'; export declare class NodeCrypto implements Crypto { private readonly keyType; private readonly signingAlgorithm; private readonly jwkKeyType; private readonly jwkAlgorithm; private readonly jwkUse; private readonly modulusLength?; private constructor(); static create(keyType: 'rsa', signingAlgorithm: string, jwkKeyType: string, jwkAlgorithm: string, jwkUse: string, modulusLength?: number): Promise; generateKeyPair(): Promise>; createPrivateKeyFromPem(pem: string): Promise; createPublicKeyFromPem(pem: string): Promise; createJwk(kid: string, key: crypto.KeyObject): Promise<{ kty: string; alg: string; use: string; kid: string; n: string | undefined; e: string | undefined; }>; createPublicKeyFromJwk(jwk: ExtendedJsonWebKey): Promise; sign(privateKey: crypto.KeyLike | crypto.SignKeyObjectInput | crypto.SignPrivateKeyInput, toBeSigned: Uint8Array): Promise; verify(publicKey: crypto.KeyLike | crypto.SignKeyObjectInput, toBeSigned: Uint8Array, signature: Uint8Array): Promise; }