import { Message, TransferTransaction } from 'tsjs-xpx-chain-sdk'; import { BlockchainNetworkConnection } from '../connection/blockchain-network-connection'; import { ProximaxMessagePayloadModel } from '../model/proximax/message-payload-model'; /** * The service class responsible for handling tasks that work with blockchain transaction messages */ export declare class BlockchainMessageService { readonly blockchainNetworkConnection: BlockchainNetworkConnection; private readonly networkType; private readonly accountClient; constructor(blockchainNetworkConnection: BlockchainNetworkConnection); /** * Create a transaction message * @param messagePayload the message payload * @param senderPrivateKey the private key of sender * @param recipientPublicKeyRaw an optional recipient public key (if different from signer) * @param recipientAddress the optional address (if different from signer) * @param useBlockchainSecureMessage the flag to indicate if to create secure message * @return the created transaction message */ createMessage(messagePayload: ProximaxMessagePayloadModel, senderPrivateKey: string, useBlockchainSecureMessage: boolean, recipientPublicKeyRaw?: string, recipientAddress?: string): Promise; /** * Retrieves message payload from blockchain transaction * @param transferTransaction the blockchain transaction * @param accountPrivateKey the private key of either signer or recipient to read secure message * @return the message payload */ getMessagePayload(transferTransaction: TransferTransaction, accountPrivateKey?: string): Promise; private getTransactionOtherPartyPublicKey; }