/// import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey, TransactionType } from '@bitgo-beta/sdk-core'; import { BaseCoin as CoinConfig } from '@bitgo-beta/statics'; import BigNumber from 'bignumber.js'; import { DelegateOrUndelegeteMessage, FeeData, MessageData, SendMessage, WithdrawDelegatorRewardsMessage } from './iface'; import { Transaction } from './transaction'; export declare abstract class TransactionBuilder extends BaseTransactionBuilder { protected _transaction: Transaction; protected _sequence: number; protected _messages: MessageData[]; protected _gasBudget: FeeData; private _accountNumber?; private _signature; private _chainId?; private _publicKey?; private _signer; private _memo?; constructor(_coinConfig: Readonly); /** * The transaction type. */ protected abstract get transactionType(): TransactionType; /** @inheritdoc */ protected get transaction(): Transaction; /** @inheritdoc */ protected set transaction(transaction: Transaction); /** @inheritDoc */ addSignature(publicKey: BasePublicKey, signature: Buffer): void; /** * Sets gas budget of this transaction * Gas budget consist of fee amount and gas limit. Division feeAmount/gasLimit represents * the gas-fee and it should be more than minimum required gas-fee to process the transaction * @param {FeeData} gasBudget * @returns {TransactionBuilder} this transaction builder */ gasBudget(gasBudget: FeeData): this; /** * Sets sequence of this transaction. * @param {number} sequence - sequence data for tx signer * @returns {TransactionBuilder} This transaction builder */ sequence(sequence: number): this; /** * Sets messages to the transaction body. Message type will be different based on the transaction type * - For @see TransactionType.StakingActivate required type is @see DelegateOrUndelegeteMessage * - For @see TransactionType.StakingDeactivate required type is @see DelegateOrUndelegeteMessage * - For @see TransactionType.Send required type is @see SendMessage * - For @see TransactionType.StakingWithdraw required type is @see WithdrawDelegatorRewardsMessage * @param {(SendMessage | DelegateOrUndelegeteMessage | WithdrawDelegatorRewardsMessage)[]} messages * @returns {TransactionBuilder} This transaction builder */ abstract messages(messages: (SendMessage | DelegateOrUndelegeteMessage | WithdrawDelegatorRewardsMessage)[]): this; publicKey(publicKey: string | undefined): this; accountNumber(accountNumber: number | undefined): this; chainId(chainId: string | undefined): this; memo(memo: string | undefined): this; /** * 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): Transaction; /** @inheritdoc */ protected buildImplementation(): Promise; /** @inheritdoc */ protected signImplementation(key: BaseKey): Transaction; validateAddress(address: BaseAddress, addressFormat?: string): void; /** @inheritdoc */ validateValue(value: BigNumber): void; /** @inheritdoc */ validateKey(key: BaseKey): void; /** @inheritdoc */ validateRawTransaction(rawTransaction: string): void; /** @inheritdoc */ validateTransaction(transaction: Transaction): void; } //# sourceMappingURL=transactionBuilder.d.ts.map