export function getModule(): Uint8Array; /** * Attempts to combine the signature shares. * If the resulting combined signature is valid, returns the combined signature. * Otherwise, returns an error. * * It does not distinguish between different types of signatures (e.g., ECDSA, BLS, etc.) * and will return the first valid signature it finds in the following order * * 1. Frost * 2. BLS * 3. ECDSA * @param {string[]} signature_shares * @returns {string} */ export function combineAndVerify(signature_shares: string[]): string; /** * Gets the vcek url for the given attestation report. You can fetch this certificate yourself, and pass it in to verify_attestation_report * @param {Uint8Array} attestation_report * @returns {string} */ export function sevSnpGetVcekUrl(attestation_report: Uint8Array): string; /** * @param {Uint8Array} attestation_report * @param {Record} attestation_data * @param {Uint8Array[]} signatures * @param {Uint8Array} challenge * @param {Uint8Array} vcek_certificate */ export function sevSnpVerify(attestation_report: Uint8Array, attestation_data: Record, signatures: Uint8Array[], challenge: Uint8Array, vcek_certificate: Uint8Array): void; /** * @returns {string} */ export function greet(): string; /** * @param {Uint8Array} id * @param {Uint8Array[]} public_keys * @returns {Uint8Array} */ export function ecdsaDeriveKey(id: Uint8Array, public_keys: Uint8Array[]): Uint8Array; /** * @param {any} signature_shares * @returns {string} */ export function blsCombine(signature_shares: any): string; /** * @param {Uint8Array} public_key * @param {Uint8Array} message * @param {string} signature */ export function blsVerify(public_key: Uint8Array, message: Uint8Array, signature: string): void; /** * @param {Uint8Array} encryption_key * @param {Uint8Array} message * @param {Uint8Array} identity * @returns {Uint8Array} */ export function blsEncrypt(encryption_key: Uint8Array, message: Uint8Array, identity: Uint8Array): Uint8Array; /** * @param {Uint8Array} ciphertext * @param {any} signature_shares * @returns {Uint8Array} */ export function blsDecrypt(ciphertext: Uint8Array, signature_shares: any): Uint8Array; /** * Initialize function for the wasm library */ export function initialize(): void; /** * Encrypts the data to the public key and identity. All inputs are hex encoded strings. * @param {string} public_key * @param {string} message * @param {string} identity * @returns {string} */ export function encrypt(public_key: string, message: string, identity: string): string; /** * Verifies the decryption shares are valid and decrypts the data. * @param {string} public_key * @param {string} identity * @param {string} ciphertext * @param {any} shares * @returns {string} */ export function verify_and_decrypt_with_signature_shares(public_key: string, identity: string, ciphertext: string, shares: any): string; /** * Decrypts the data with signature shares. * @param {string} ciphertext * @param {any} shares * @returns {string} */ export function decrypt_with_signature_shares(ciphertext: string, shares: any): string; /** * Combines the signature shares into a single signature. * @param {any} shares * @returns {string} */ export function combine_signature_shares(shares: any): string; /** * Verifies the signature. * @param {string} public_key * @param {string} message * @param {string} signature */ export function verify_signature(public_key: string, message: string, signature: string): void; export default __wbg_init; export function initSync(module: any): any; declare function __wbg_init(module_or_path: any): Promise;