import { Observable } from 'rxjs'; import { Mosaic, 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 transactions */ export declare class BlockchainTransactionService { readonly connection: BlockchainNetworkConnection; private readonly blockchainMessageService; private readonly transactionClient; private readonly networkType; /** * Construct service class * * @param connection the config class to connect to blockchain network */ constructor(connection: BlockchainNetworkConnection); /** * Create and announce a blockchain transaction * * @param payload the message payload * @param signerPrivateKey the signer's private key for the transaction * @param recipientPublicKey the recipient's public key for the transaction (if different from signer) * @param recipientAddress the recipient's address for the transaction (if different from signer) * @param transactionMosaics the mosaics to use on upload transaction * @param transactionDeadline the transaction deadline in hours * @param useBlockchainSecureMessage the flag to indicate if secure message will be created * @return the transaction hash */ createAndAnnounceTransaction(payload: ProximaxMessagePayloadModel, signerPrivateKey: string, transactionDeadline: number, useBlockchainSecureMessage: boolean, transactionMosaics?: Mosaic[], recipientPublicKey?: string, recipientAddress?: string): Promise; /** * Retrieves a transfer transaction * * @param transactionHash the transfer transaction hash * @return the transfer transaction */ getTransferTransaction(transactionHash: string): Observable; private getRecipient; private createTransaction; }