import { PrePeginParams } from './pegin'; /** * Parameters for building a refund PSBT */ export interface BuildRefundPsbtParams { /** Same PrePeginParams used when the original Pre-PegIn tx was created */ prePeginParams: PrePeginParams; /** Funded Pre-PegIn transaction hex (the tx whose HTLC output is being refunded) */ fundedPrePeginTxHex: string; /** Index of the HTLC output in the Pre-PegIn transaction */ htlcVout: number; /** Transaction fee in satoshis for the refund transaction */ refundFee: bigint; /** SHA256 hash commitment for the HTLC (64 hex chars, no 0x prefix) */ hashlock: string; } /** * Result of building a refund PSBT */ export interface BuildRefundPsbtResult { /** PSBT hex ready for depositor signing */ psbtHex: string; } /** * Build a PSBT for signing the refund transaction. * * The refund transaction spends the Pre-PegIn HTLC output via leaf 1 * (the refund script: ` CSV DROP CHECKSIG`). * The PSBT includes the tapLeafScript entry so the depositor's wallet can * sign using Taproot script-path spending. * * The input's sequence is set to `timelockRefund` by the WASM, enforcing * the Bitcoin CSV timelock. The refund broadcast will be rejected by the * network if the timelock has not yet expired. * * @param params - Refund PSBT parameters * @returns PSBT hex for depositor signing * @throws If the HTLC output at htlcVout is not found * @throws If the refund transaction does not have exactly 1 input */ export declare function buildRefundPsbt(params: BuildRefundPsbtParams): Promise; //# sourceMappingURL=refund.d.ts.map