import { Decrypter, Encrypter, Message } from "../message"; import { MessageEnvelope } from "../message-envelope"; import { HcsVcOperation } from "./hcs-vc-operation"; export declare class HcsVcMessage extends Message { private operation; private credentialHash; /** * Creates a new message instance. * * @param operation Operation type. * @param credentialHash Credential hash. */ constructor(operation: HcsVcOperation, credentialHash: string); /** * Checks if the message is valid from content point of view. * Does not verify hash nor any signatures. * * @return True if the message is valid and False otherwise. */ isValid(): boolean; getOperation(): HcsVcOperation; getCredentialHash(): string; toJsonTree(): any; static fromJsonTree(tree: any, result?: HcsVcMessage): HcsVcMessage; toJSON(): string; static fromJson(json: string): Message; /** * Creates a new VC message for submission to HCS topic. * * @param credentialHash VC hash. * @param operation The operation on a VC document. * @return The HCS message wrapped in an envelope for the given VC and operation. */ static fromCredentialHash(credentialHash: string, operation: HcsVcOperation): MessageEnvelope; /** * Provides an encryption operator that converts an {@link HcsVcMessage} into encrypted one. * * @param encryptionFunction The encryption function to use for encryption of single attributes. * @return The encryption operator instance. */ static getEncrypter(encryptionFunction: Encrypter): Encrypter; /** * Provides a decryption function that converts {@link HcsVcMessage} in encrypted for into a plain form. * * @param decryptionFunction The decryption function to use for decryption of single attributes. * @return The decryption function for the {@link HcsVcMessage} */ static getDecrypter(decryptionFunction: Decrypter): Decrypter; }