/* tslint:disable */
/* eslint-disable */

/**
 * Verify a JSON-LD statement by recomputing its content identifier.
 *
 * Parses the statement, extracts the `@id`, converts to N-Quads, canonicalizes
 * using RDFC 1.0, and computes a BLAKE3 CID. Returns whether the computed CID
 * matches the embedded `@id`.
 *
 * # Arguments
 *
 * * `statement` - JSON string of the JSON-LD statement to verify.
 * * `contexts` - Optional JS object mapping context URIs to their JSON-LD context
 *   documents (`{ [uri: string]: object }`). Pass `null` or `undefined` to skip.
 *   Useful when contexts cannot be fetched at runtime due to CORS.
 *
 * # Returns
 *
 * `Ok(true)` if the computed CID matches the statement `@id`, `Ok(false)` otherwise.
 * Returns `Err` with a descriptive message string if any step fails.
 */
export function verify_statement(statement: string, contexts: any): Promise<any>;

/**
 * Verify a W3C Verifiable Credential and check that it references a given statement.
 *
 * Parses the VC, confirms its credential subject ID matches the provided
 * `statement_id`, then cryptographically verifies the proof using the DID Key method.
 *
 * # Arguments
 *
 * * `vc` - JSON string of the Verifiable Credential.
 * * `statement_id` - Expected credential subject ID (typically a `urn:cid:...` URI)
 *   that the VC should reference.
 *
 * # Returns
 *
 * `Ok(true)` if the subject ID matches and the proof is valid, `Ok(false)` if
 * either check fails. Returns `Err` with a descriptive message string on
 * deserialization failure or if the VC has multiple subjects.
 */
export function verify_vc(vc: string, statement_id: string): Promise<any>;
