import { AssertPayoutNoPayoutConnectorParams, Network } from '@babylonlabs-io/babylon-tbv-rust-wasm'; /** * Parameters for building a NoPayout PSBT */ export interface NoPayoutParams { /** NoPayout transaction hex (unsigned) from VP */ noPayoutTxHex: string; /** Challenger's x-only public key (hex encoded) */ challengerPubkey: string; /** Prevouts for all inputs [{script_pubkey, value}] from VP */ prevouts: Array<{ script_pubkey: string; value: number; }>; /** Parameters for the Assert Payout/NoPayout connector */ connectorParams: AssertPayoutNoPayoutConnectorParams; } /** * Build unsigned NoPayout PSBT. * * The NoPayout transaction is specific to each challenger. * Input 0 is the one the depositor signs using the NoPayout taproot script path. * * @param params - NoPayout parameters * @returns Unsigned PSBT hex ready for signing */ export declare function buildNoPayoutPsbt(params: NoPayoutParams): Promise; /** * Validate that a NoPayout transaction pays to the challenger via the * protocol-defined output structure: a single BIP-86 P2TR output derived from * the challenger's x-only pubkey. * * Mirrors the per-role payout output validation now inlined in * `buildPayoutPsbt` for the NoPayout path, where the sink is fixed by the * protocol rather than read from on-chain registration * (see `crates/vault/src/transactions/nopayout.rs::NoPayoutTx::new`). * * @param noPayoutTxHex - Raw NoPayout transaction hex * @param challengerPubkey - Challenger's x-only public key (hex) * @param network - Bitcoin network used to derive the P2TR scriptPubKey * @throws If the transaction does not have exactly one output * @throws If the single output's scriptPubKey does not equal the BIP-86 P2TR * scriptPubKey for the challenger */ export declare function assertNoPayoutOutputMatchesChallenger(noPayoutTxHex: string, challengerPubkey: string, network: Network): void; //# sourceMappingURL=noPayout.d.ts.map