/// import { bitcoin } from "../bitcoin-core"; import { NetworkType } from "../network"; import { ToSignInput, UnspentOutput } from "../types"; interface TxOutput { address?: string; script?: Buffer; value: number; } /** * Transaction */ export declare class Transaction { private utxos; private inputs; outputs: TxOutput[]; private changeOutputIndex; changedAddress: string; private networkType; private feeRate; private enableRBF; private _cacheNetworkFee; private _cacheBtcUtxos; private _cacheToSignInputs; constructor(); setNetworkType(network: NetworkType): void; setEnableRBF(enable: boolean): void; setFeeRate(feeRate: number): void; setChangeAddress(address: string): void; addInput(utxo: UnspentOutput): void; removeLastInput(): void; getTotalInput(): number; getTotalOutput(): number; getUnspent(): number; calNetworkFee(): Promise; addOutput(address: string, value: number): void; addOpreturn(data: Buffer[]): void; addScriptOutput(script: Buffer, value: number): void; getOutput(index: number): TxOutput; addChangeOutput(value: number): void; getChangeOutput(): TxOutput; getChangeAmount(): number; removeChangeOutput(): void; removeRecentOutputs(count: number): void; toPsbt(): bitcoin.Psbt; clone(): Transaction; createEstimatePsbt(): Promise; private selectBtcUtxos; addSufficientUtxosForFee(btcUtxos: UnspentOutput[], forceAsFee?: boolean): Promise; dumpTx(psbt: any): Promise; } export {};