import { Observable } from 'rxjs'; import { IListener } from '../infrastructure/IListener'; import { ReceiptRepository } from '../infrastructure/ReceiptRepository'; import { TransactionRepository } from '../infrastructure/TransactionRepository'; import { AggregateTransaction } from '../model/transaction/AggregateTransaction'; import { SignedTransaction } from '../model/transaction/SignedTransaction'; import { Transaction } from '../model/transaction/Transaction'; import { ITransactionService } from './interfaces/ITransactionService'; /** * 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. * @param listener Websocket listener * @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; /** * Announce aggregate bonded transaction with lock fund * @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; }