import { Observable } from 'rxjs'; import { IListener, ReceiptRepository, TransactionRepository } from '../infrastructure'; import { AggregateTransaction, SignedTransaction, Transaction } from '../model/transaction'; import { ITransactionService } from './interfaces'; /** * Transaction Service */ export declare class TransactionService implements ITransactionService { private readonly transactionRepository; private readonly receiptRepository; /** * Constructor * @param transactionRepository * @param receiptRepository */ constructor(transactionRepository: TransactionRepository, receiptRepository: ReceiptRepository); /** * Resolve unresolved mosaic / address from array of transactions * @param transationHashes List of transaction hashes. * @returns Observable */ resolveAliases(transationHashes: string[]): Observable; /** * @param signedTransaction Signed transaction to be announced. * @param listener Websocket listener * @returns {Observable} */ announce(signedTransaction: SignedTransaction, listener: IListener): Observable; /** * Announce aggregate transaction * **NOTE** A lock fund transaction for this aggregate bonded should exists * @param signedTransaction Signed aggregate bonded transaction. * @param listener Websocket listener * @returns {Observable} */ announceAggregateBonded(signedTransaction: SignedTransaction, listener: IListener): Observable; /** * This method announces an a hash lock transaction followed by a aggregate bonded transaction * while waiting for being confirmed by listing to the /confirmed and /aggregateBondedAdded web * socket. If an error is sent while processing any of the given transaction an Error is raised. * * @param signedHashLockTransaction Signed hash lock transaction. * @param signedAggregateTransaction Signed aggregate bonded transaction. * @param listener Websocket listener * @returns {Observable} */ announceHashLockAggregateBonded(signedHashLockTransaction: SignedTransaction, signedAggregateTransaction: SignedTransaction, listener: IListener): Observable; /** * Resolve transaction alias(s) * @param transaction Transaction to be resolved * @returns {Observable} */ private resolveTransaction; }