import * as crypto from 'crypto'; declare const generateSalt: (length: number) => string; declare const digest: (data: string | ArrayBuffer, algorithm?: string) => Uint8Array; type GenerateKeyAlgorithm = RsaHashedKeyGenParams | EcKeyGenParams; type ImportKeyAlgorithm = AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm; type SignAlgorithm = AlgorithmIdentifier | RsaPssParams | EcdsaParams; type VerifyAlgorithm = AlgorithmIdentifier | RsaPssParams | EcdsaParams; declare function generateKeyPair(keyAlgorithm: GenerateKeyAlgorithm): Promise<{ publicKey: crypto.webcrypto.JsonWebKey; privateKey: crypto.webcrypto.JsonWebKey; }>; declare function getSigner(privateKeyJWK: object, keyAlgorithm: ImportKeyAlgorithm, signAlgorithm: SignAlgorithm): Promise<(data: string) => Promise>; declare function getVerifier(publicKeyJWK: object, keyAlgorithm: ImportKeyAlgorithm, verifyAlgorithm: VerifyAlgorithm): Promise<(data: string, signatureBase64url: string) => Promise>; declare const ES256: { alg: string; _keyAlgorithm: { name: string; namedCurve: string; }; _hashAlgorithm: { name: string; hash: { name: string; }; }; generateKeyPair(): Promise<{ publicKey: crypto.webcrypto.JsonWebKey; privateKey: crypto.webcrypto.JsonWebKey; }>; getSigner(privateKeyJWK: object): Promise<(data: string) => Promise>; getVerifier(publicKeyJWK: object): Promise<(data: string, signatureBase64url: string) => Promise>; }; declare const ES384: { alg: string; _keyAlgorithm: { name: string; namedCurve: string; }; _hashAlgorithm: { name: string; hash: { name: string; }; }; generateKeyPair(): Promise<{ publicKey: crypto.webcrypto.JsonWebKey; privateKey: crypto.webcrypto.JsonWebKey; }>; getSigner(privateKeyJWK: object): Promise<(data: string) => Promise>; getVerifier(publicKeyJWK: object): Promise<(data: string, signatureBase64url: string) => Promise>; }; declare const ES512: { alg: string; _keyAlgorithm: { name: string; namedCurve: string; }; _hashAlgorithm: { name: string; hash: { name: string; }; }; generateKeyPair(): Promise<{ publicKey: crypto.webcrypto.JsonWebKey; privateKey: crypto.webcrypto.JsonWebKey; }>; getSigner(privateKeyJWK: object): Promise<(data: string) => Promise>; getVerifier(publicKeyJWK: object): Promise<(data: string, signatureBase64url: string) => Promise>; }; export { ES256, ES384, ES512, digest, generateKeyPair, generateSalt, getSigner, getVerifier };