import { type WalletUTXO } from './types.js'; import { type UTXOSet } from '@xocash/primitives'; import { type TransactionTemplateFixed, type CompilerBCH, type TransactionBCH } from '@bitauth/libauth'; /** * Transaction Builder that takes a template and can populate appropriate UTXOs. * * @remarks * * Note that this will only populate required Satoshis and Mutable Tokens. * * @experimental */ export declare class TransactionBuilder { readonly transaction: TransactionTemplateFixed; sourceOutputs: UTXOSet; unspents: Array; constructor(transaction: TransactionTemplateFixed, unspents?: Array, sourceOutputs?: UTXOSet); calculateInputSats(): bigint; calculateInputTokens(): Map; calculateOutputSats(): bigint; calculateOutputTokens(): Map; calculateFeeSats(): bigint; calculateRequiredSats(): bigint; addTokensFromUnspents(): TransactionBuilder; addSatoshisFromUnspents(): TransactionBuilder; addTokenChangeOutputs(changeLockingBytecode: Uint8Array): TransactionBuilder; addSatoshiChangeOutput(changeLockingBytecode: Uint8Array): TransactionBuilder; generate(): TransactionBCH; toBytes(): Uint8Array; }