import { BaseAddress, BaseKey, BaseTransaction, BaseTransactionBuilder, TransactionType } from '@bitgo/sdk-core'; import { BaseCoin as CoinConfig } from '@bitgo/statics'; import BigNumber from 'bignumber.js'; import { Signer } from 'xrpl/dist/npm/models/common'; import { XrpTransaction } from './iface'; import { KeyPair } from './keyPair'; import { Transaction } from './transaction'; /** * XRP transaction builder. */ export declare abstract class TransactionBuilder extends BaseTransactionBuilder { protected _transaction: Transaction; protected _sender: string; protected _fee?: string; protected _sequence?: number; protected _lastLedgerSequence?: number; protected _flags?: number; protected _signingPubKey?: string; protected _signers: Signer[]; protected _txnSignature?: string; protected _specificFields: XrpTransaction; protected _isMultiSig?: boolean; protected _keyPairs: KeyPair[]; constructor(_coinConfig: Readonly); /** * The transaction type. */ protected abstract get transactionType(): TransactionType; /** * Set the transaction signature type to multi sig. **/ setMultiSig(): TransactionBuilder; /** * Set the transaction signature type to single sig. **/ setSingleSig(): TransactionBuilder; /** * Sets the sender of this transaction. * * @param {string} address the account that is sending this transaction * @returns {TransactionBuilder} This transaction builder */ sender(address: string): TransactionBuilder; sequence(sequence: number): TransactionBuilder; fee(fee: string): TransactionBuilder; flags(flags: number): TransactionBuilder; lastLedgerSequence(lastLedgerSequence: number): TransactionBuilder; /** * Initialize the transaction builder fields using the decoded transaction data * * @param {Transaction} tx the transaction data */ initBuilder(tx: Transaction): void; /** @inheritdoc */ protected fromImplementation(rawTransaction: string): BaseTransaction; /** @inheritdoc */ protected signImplementation(key: BaseKey): Transaction; private checkDuplicatedKeys; /** @inheritdoc */ protected buildImplementation(): Promise; private buildXrpTransaction; validateKey(key: BaseKey): void; validateIsMultiSig(): void; /** @inheritdoc */ validateTransaction(): void; validateAddress(address: BaseAddress): void; validateValue(value: BigNumber): void; validateRawTransaction(rawTransaction: string): void; protected get transaction(): Transaction; protected set transaction(transaction: Transaction); } //# sourceMappingURL=transactionBuilder.d.ts.map