import { BaseCoin as CoinConfig } from '@bitgo/statics'; import BigNumber from 'bignumber.js'; import { proto } from '@hashgraph/proto'; import { BaseAddress, BaseFee, BaseKey, BaseTransactionBuilder } from '@bitgo/sdk-core'; import { Transaction } from './transaction'; import { KeyPair } from './keyPair'; import { HederaNode, SignatureData } from './iface'; export declare abstract class TransactionBuilder extends BaseTransactionBuilder { protected _fee: BaseFee; private _transaction; protected _source: BaseAddress; protected _startTime: proto.ITimestamp; protected _memo: string; protected _txBody: proto.TransactionBody; protected _node: HederaNode; protected _duration: proto.Duration; protected _multiSignerKeyPairs: KeyPair[]; protected _signatures: SignatureData[]; protected constructor(_coinConfig: Readonly); /** @inheritdoc */ protected buildImplementation(): Promise; /** @inheritdoc */ protected fromImplementation(rawTransaction: Uint8Array | string): Transaction; /** @inheritdoc */ protected signImplementation(key: BaseKey): Transaction; /** * Initialize the transaction builder fields using the decoded transaction data * * @param {Transaction} tx - the transaction data */ initBuilder(tx: Transaction): void; /** * Creates a Hedera TransactionID * * @returns {proto.TransactionID} - Created TransactionID */ protected buildTxId(): proto.TransactionID; /** * Set the memo * * @param {string} memo - A hedera memo, can be a maximum of 100 bytes * @returns {TransactionBuilder} - This transaction builder */ memo(memo: string): this; /** * Set the node, it may take the format `'..'` or `''` * * @param {HederaNode} node - A hedera node address * @returns {TransactionBuilder} - This transaction builder */ node(node: HederaNode): this; /** * Set the transaction valid duration * * @param {number} validDuration - The transaction valid duration in seconds * @returns {TransactionBuilder} - This transaction builder */ validDuration(validDuration: number): this; /** * Set the transaction fees * * @param {BaseFee} fee - The maximum gas to pay * @returns {TransactionBuilder} - This transaction builder */ fee(fee: BaseFee): this; /** * Set the transaction source * * @param {BaseAddress} address - The source account * @returns {TransactionBuilder} - This transaction builder */ source(address: BaseAddress): this; /** * Set an external transaction signature * * @param {string} signature - Hex encoded signature string * @param {KeyPair} keyPair - The public key keypair that was used to create the signature * @returns {TransactionBuilder} - Transaction builder */ signature(signature: string, keyPair: KeyPair): this; /** * Set the start time * * @param {string} time - String value of the time to set with format . * @returns {TransactionBuilder} - this */ startTime(time: string): this; private get validStart(); /** @inheritdoc */ protected get transaction(): Transaction; /** @inheritdoc */ protected set transaction(transaction: Transaction); /** @inheritdoc */ validateAddress(address: BaseAddress, addressFormat?: string): void; /** @inheritdoc */ validateKey(key: BaseKey): void; /** @inheritdoc */ validateRawTransaction(rawTransaction: any): void; /** @inheritdoc */ validateTransaction(transaction?: Transaction): void; /** @inheritdoc */ validateValue(value: BigNumber): void; validateMandatoryFields(): void; /** * Validates that the given key is not already in this._multiSignerKeyPairs * * @param {BaseKey} key - The key to check */ private checkDuplicatedKeys; } //# sourceMappingURL=transactionBuilder.d.ts.map