import { VCState } from "./VCState"; import { Attribute } from "../MerkleTree"; export interface HolderInformation { salt: string; root: string; uuid: string; keyId: string; } export declare class VCWriter { private MAMWriter; private vcstate; private rootOfRoots; /** * Creates a verifiable claim writer and updates the internal state to be caught up with the state on IOTA. * @param provider * @param issuerSeed * @param subSeedIndex */ static createVCWriter(provider: string, issuerSeed: string, subSeedIndex?: number): Promise; private constructor(); /** * Publishes the transaction to the IOTA network * @param transaction */ private publishToMAM; /** * Add a Verifiable Claim to the IOTA ledger. * This function first uses the attributes and merklehashes to generate a merkletree hash. * Afterwards the Holderhash is created * Lastly, the merklehash is signed using the privatekey and together with the holderhash posted to the MAM stream on IOTA. * @param claimAttributes * @param claimHashes * @param uuidHolder * @param privateKey */ AddClaim(uuidHolder: string, uuidIssuer: string, privateKey: string, claimAttributes: Attribute[]): Promise; private static GenerateHolderHash; private static Sign; GetVerifiableClaimStreamRoot(): string; GetVCState(): VCState; }