import { PublicAccount } from '../account/PublicAccount'; import { NetworkType } from '../blockchain/NetworkType'; import { Mosaic } from '../mosaic/Mosaic'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; import { SignedTransaction } from './SignedTransaction'; import { Transaction } from './Transaction'; import { TransactionInfo } from './TransactionInfo'; /** * Lock funds transaction is used before sending an Aggregate bonded transaction, as a deposit to announce the transaction. * When aggregate bonded transaction is confirmed funds are returned to LockFundsTransaction signer. * * @since 1.0 */ export declare class LockFundsTransaction extends Transaction { /** * The locked mosaic. */ readonly mosaic: Mosaic; /** * The funds lock duration. */ readonly duration: UInt64; /** * Aggregate bonded hash. */ readonly hash: string; signedTransaction: SignedTransaction; /** * Create a Lock funds transaction object * @param deadline - The deadline to include the transaction. * @param mosaic - The locked mosaic. * @param duration - The funds lock duration. * @param signedTransaction - The signed transaction for which funds are locked. * @param networkType - The network type. * @param maxFee - (Optional) Max fee defined by the sender * @returns {LockFundsTransaction} */ static create(deadline: Deadline, mosaic: Mosaic, duration: UInt64, signedTransaction: SignedTransaction, networkType: NetworkType, maxFee?: UInt64): LockFundsTransaction; /** * @param networkType * @param version * @param deadline * @param maxFee * @param mosaic * @param duration * @param signedTransaction * @param signature * @param signer * @param transactionInfo */ constructor(networkType: NetworkType, version: number, deadline: Deadline, maxFee: UInt64, /** * The locked mosaic. */ mosaic: Mosaic, /** * The funds lock duration. */ duration: UInt64, signedTransaction: SignedTransaction, signature?: string, signer?: PublicAccount, transactionInfo?: TransactionInfo); /** * Create a transaction object from payload * @param {string} payload Binary payload * @param {Boolean} isEmbedded Is embedded transaction (Default: false) * @returns {Transaction | InnerTransaction} */ static createFromPayload(payload: string, isEmbedded?: boolean): Transaction | InnerTransaction; /** * @override Transaction.size() * @description get the byte size of a LockFundsTransaction * @returns {number} * @memberof LockFundsTransaction */ readonly size: number; }