import * as secp from "@noble/secp256k1"; export declare function getSubtle(): SubtleCrypto; export declare const randomBytes: (bytesLength?: number | undefined) => Uint8Array; export declare const sha256: (...messages: Uint8Array[]) => Promise; /** * Generate a new private key to be used for asymmetric encryption. * * Use {@link getPublicKey} to get the corresponding Public Key. */ export declare function generatePrivateKey(): Uint8Array; /** * Generate a new symmetric key to be used for symmetric encryption. */ export declare function generateSymmetricKey(): Uint8Array; /** * Return the public key for the given private key, to be used for asymmetric * encryption. */ export declare const getPublicKey: typeof secp.getPublicKey; /** * ECDSA Sign a message with the given private key. * * @param message The message to sign, usually a hash. * @param privateKey The ECDSA private key to use to sign the message. * * @returns The signature and the recovery id concatenated. */ export declare function sign(message: Uint8Array, privateKey: Uint8Array): Promise; export declare function keccak256(input: Uint8Array): Uint8Array; export declare function compressPublicKey(publicKey: Uint8Array): Uint8Array; /** * Verify an ECDSA signature. */ export declare function verifySignature(signature: Uint8Array, message: Uint8Array | string, publicKey: Uint8Array): boolean;