import { MessageTransaction } from "../message-transaction"; import { HcsVcMessage } from "./hcs-vc-message"; import { HcsVcOperation } from "./hcs-vc-operation"; import { PublicKey, TopicId } from "@hashgraph/sdk"; import { MessageEnvelope } from "../message-envelope"; import { Validator } from "../../../utils/validator"; import { MessageListener } from "../message-listener"; import { Encrypter } from "../message"; /** * The DID document creation, update or deletion transaction. * Builds a correct {@link HcsDidMessage} and send it to HCS DID topic. */ export declare class HcsVcTransaction extends MessageTransaction { private operation; private credentialHash; private signerPublicKey; /** * Instantiates a new transaction object. * * @param topicId The HCS VC topic ID where message will be submitted. * @param operation The operation to be performed on a verifiable credential. * @param credentialHash The hash of a credential. * @param signerPublicKey Public key of the signer of this operation. */ constructor(topicId: TopicId, operation: HcsVcOperation, credentialHash: string, signerPublicKey: PublicKey); /** * Instantiates a new transaction object from a message that was already prepared. * * @param topicId The HCS VC topic ID where message will be submitted. * @param message The message envelope. * @param signerPublicKey Public key of the signer of this operation. */ constructor(topicId: TopicId, message: MessageEnvelope, signerPublicKey: PublicKey); protected validate(validator: Validator): void; protected buildMessage(): MessageEnvelope; protected provideTopicListener(topicIdToListen: TopicId): MessageListener; protected provideMessageEncrypter(encryptionFunction: Encrypter): (input: HcsVcMessage) => HcsVcMessage; }