export type BlsSignatureShareJsonString = `{"ProofOfPossession":{"identifier":"${string}","value":"${string}"}}`; /** * Combines BLS signature shares into a single signature. * This is a raw mapping function to the WASM implementation. * * @param {BlsSignatureShareJsonString[]} signature_shares - Array of signature shares in JSON string format * * Each share has format: {"ProofOfPossession":{"identifier":"xx","value":"yy"}} * @returns {Promise} Combined signature as hex string * * @example * const shares = [ * '{"ProofOfPossession":{"identifier":"7acf36...","value":"8b5c1c..."}}', * '{"ProofOfPossession":{"identifier":"7d734...","value":"aaa72a..."}}' * ]; * const combinedSig = await blsCombine(shares); * // Returns: "9619c87c08ed705b..." */ export declare function blsCombine(signature_shares: BlsSignatureShareJsonString[]): Promise; /** * Uses a combined BLS signature to decrypt with the * given ciphertext from {@link blsEncrypt} * * Supports: * - 12381G2 * - 12381G1 * @param {Uint8Array} ciphertext * @param {BlsSignatureShareJsonString[]} signature_shares * @returns {Uint8Array} */ export declare function blsDecrypt(ciphertext: Uint8Array, signature_shares: BlsSignatureShareJsonString[]): Promise; /** * Used for BLS encryption * * Supports: * - 12381G2 * - 12381G1 * @param {Uint8Array} encryption_key * @param {Uint8Array} message * @param {Uint8Array} identity * @returns {Uint8Array} */ export declare function blsEncrypt(encryption_key: Uint8Array, message: Uint8Array, identity: Uint8Array): Promise; /** * Verifies a BLS signature * * Supports: * - 12381G2 * - 12381G1 * @param {Uint8Array} public_key * @param {Uint8Array} message * @param {string} signature */ export declare function blsVerify(public_key: Uint8Array, message: Uint8Array, signature: string): Promise; /** * K256 HD key derivation * * @param {Uint8Array} id keyid which will be used for the key derivation * @param {(Uint8Array)[]} public_keys ecdsa root keys * @returns {Uint8Array} */ export declare function ecdsaDeriveKey(id: Uint8Array, public_keys: Uint8Array[]): Promise; /** * Unified combiner and verifier for Lit supported signatures * It will check for successful signature in the following order * * Supports: * - Frost * - BLS * - ECDSA * * @param {Uint8Array[]} shares * @return {Uint8Array[]} signature */ export declare function unifiedCombineAndVerify(shares: string[]): Promise; /** * 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 declare function sevSnpGetVcekUrl(attestation_report: Uint8Array): Promise; /** * Checks attestation from a node with AMD certs * @param {Uint8Array} attestation_report * @param {Record} attestation_data * @param {(Uint8Array)[]} signatures * @param {Uint8Array} challenge * @param {Uint8Array} vcek_certificate * @returns {Promise} */ export declare function sevSnpVerify(attestation_report: Uint8Array, attestation_data: Record, signatures: Uint8Array[], challenge: Uint8Array, vcek_certificate: Uint8Array): Promise;