import { BaseAddress, BaseKey, BaseTransactionBuilder } from '@bitgo/sdk-core'; import { BaseCoin as CoinConfig } from '@bitgo/statics'; import BigNumber from 'bignumber.js'; import { IcpTransaction, IcpTransactionData, PayloadsData, Signatures } from './iface'; import { Transaction } from './transaction'; export declare abstract class TransactionBuilder extends BaseTransactionBuilder { protected _transaction: Transaction; protected _sender: string; protected _publicKey: string; protected _memo: number | BigInt; protected _ingressEnd: number | BigInt; protected _receiverId: string; protected _amount: string; constructor(_coinConfig: Readonly); signaturePayload(): Signatures[]; payloadData(): PayloadsData; icpTransaction(): IcpTransaction; /** * Sets the public key and the address of the sender of this transaction. * * @param {string} address the account that is sending this transaction * @param {string} pubKey the public key that is sending this transaction * @returns {TransactionBuilder} This transaction builder */ sender(address: string, pubKey: string): this; /** * Set the memo * * @param {number} memo - number that to be used as memo * @returns {TransactionBuilder} This transaction builder */ memo(memo: number): this; /** * Set the ingressEnd timestamp * @param {number} ingressEnd - timestamp in nanoseconds * @returns {TransactionBuilder} This transaction builder */ ingressEnd(ingressEnd: number | BigInt): this; /** * Sets the account Id of the receiver of this transaction. * * @param {string} accountId the account id of the account that is receiving this transaction * @returns {TransactionBuilder} This transaction builder */ receiverId(accountId: string): this; /** @inheritdoc */ get transaction(): Transaction; /** @inheritdoc */ set transaction(transaction: Transaction); get transactionType(): string; /** @inheritdoc */ fromImplementation(rawTransaction: string): Transaction; /** @inheritdoc */ validateTransaction(transaction: Transaction): void; /** * Sets the amount of this transaction. * * @param {string} value the amount to be sent in e8s (1 ICP = 1e8 e8s) * @returns {TransactionBuilder} This transaction builder */ amount(value: string): this; validateValue(value: BigNumber): void; /** * Initialize the transaction builder fields using the decoded transaction data * * @param {Transaction} tx the transaction data */ initBuilder(tx: Transaction): void; validateAddress(address: BaseAddress): void; validateRawTransaction(rawTransaction: IcpTransactionData): void; /** @inheritdoc */ validateKey(key: BaseKey): void; /** * Combines the unsigned transaction and the signature payload to create a signed transaction. */ combine(): void; } //# sourceMappingURL=transactionBuilder.d.ts.map