import bsvJs from 'babbage-bsv'; import { DojoCreateTransactionResultApi, DojoCreatingTxInputsApi, DojoCreatingTxOutputApi, DojoPendingTxApi } from 'cwi-base'; import { NinjaApi, NinjaTxInputsApi } from './Api/NinjaApi'; import { NinjaBase } from './Base/NinjaBase'; import { DojoTxBuilderBase, DojoTxBuilderBaseOptions } from './Base/DojoTxBuilderBase'; export interface NinjaTxBuilderOptions extends DojoTxBuilderBaseOptions { } /** * NinjaTxBuilder is intended to complement DojoTxBuilder, implementing the signing functions * that only Ninja can do with access to private keys. * * Ultimately most of the generically useful code that supports building and signing * actual bitcoin transactions should be collected here. * * This is a work in progress... */ export declare class NinjaTxBuilder extends DojoTxBuilderBase { ninja: NinjaApi; options?: NinjaTxBuilderOptions | undefined; constructor(ninja: NinjaApi, options?: NinjaTxBuilderOptions | undefined); static buildJsTxFromPendingTx(ninja: NinjaBase, ptx: DojoPendingTxApi): { tx: bsvJs.Transaction; outputMap: Record; amount: number; }; static buildJsTxFromCreateTransactionResult(ninja: NinjaApi, inputs: Record, createResult: DojoCreateTransactionResultApi): { tx: bsvJs.Transaction; outputMap: Record; amount: number; log?: string; }; /** * @param ninja The authority constructing this new transaction * @param ninjaInputs External inputs to be added not known to ninja's dojo. * @param dojoInputs Inputs to be added that are known to ninja's dojo. * @param dojoOutputs All new outputs to be created * @param derivationPrefix * @param version * @param lockTime * @param paymailHandle * @returns new signed bitcoin transaction, output map, an impact amount on authority's balance */ static buildJsTx(ninja: NinjaApi, ninjaInputs: Record, dojoInputs: Record, dojoOutputs: DojoCreatingTxOutputApi[], derivationPrefix: string, version: number, lockTime: number, paymailHandle?: string, log?: string): { tx: bsvJs.Transaction; outputMap: Record; amount: number; log?: string; }; } //# sourceMappingURL=NinjaTxBuilder.d.ts.map