import type { UtxoExplorer } from '../../Explorer/UtxoExplorer'; import type { UtxoNetworkParams } from '../../ChainGate/networks/types'; import { BaseUtxoTransaction } from './BaseUtxoTransaction'; import type { Txo, UtxoFee, UtxoFeeTier, UtxoRecommendedFee, UtxoRecommendedFees } from './BaseUtxoTransaction'; export type { UtxoFee, UtxoFeeTier, UtxoRecommendedFee, UtxoRecommendedFees }; /** * An unsigned UTXO transaction prepared by {@link UtxoConnector.transfer}. * * The transaction is created with "normal" recommended fees. Before sending, * you can inspect or change the fee: * * @example * ```ts * const amount = cg.networks.bitcoin.amount('0.001'); * const tx = await btc.transfer(amount, 'bc1q...'); * * // Inspect recommended fees * const fees = tx.recommendedFees(); * console.log(fees.normal.enoughFunds); * * // Override with a specific tier * tx.setFee(fees.high); * * // Or set a custom fee rate * tx.setFee({ feePerKbSat: 50_000n }); * * // Sign and broadcast * const broadcasted = await tx.signAndBroadcast(); * ``` */ export declare class UtxoTransaction extends BaseUtxoTransaction { /** @internal — used by UtxoConnector.transfer to build the transaction. */ static create(params: { explorer: UtxoExplorer; fromAddress: string; toAddress: string; valueSat: bigint; networkParams: UtxoNetworkParams; getPrivateKey: () => Promise; }): Promise; /** Signs the transaction and returns the serialized raw bytes. */ protected signTransaction(inputs: Txo[], outputs: Array<{ address: string; amount: bigint; }>, privateKey: Uint8Array): Uint8Array; }