///
import { FundingInput } from '@node-dlc/messaging';
export type FundingInputScriptType = 'p2wpkh' | 'p2wsh' | 'p2tr';
export declare const FUNDING_INPUT_MAX_WITNESS_LEN: Record;
export declare const DEFAULT_MAX_WITNESS_LEN: number;
export declare const getMaxWitnessLen: (scriptType?: FundingInputScriptType) => number;
export declare const fundingInputVBytes: (maxWitnessLen?: number, scriptSigLength?: number) => bigint;
export declare const fundingInputWithWitnessLen: (maxWitnessLen: number) => FundingInput;
export declare class DualFundingTxFinalizer {
readonly offerInputs: FundingInput[];
readonly offerPayoutSPK: Buffer;
readonly offerChangeSPK: Buffer;
readonly acceptInputs: FundingInput[];
readonly acceptPayoutSPK: Buffer;
readonly acceptChangeSPK: Buffer;
readonly feeRate: bigint;
readonly numContracts: number;
constructor(offerInputs: FundingInput[], offerPayoutSPK: Buffer, offerChangeSPK: Buffer, acceptInputs: FundingInput[], acceptPayoutSPK: Buffer, acceptChangeSPK: Buffer, feeRate: bigint, numContracts?: number);
private computeFees;
private getOfferFees;
private getAcceptFees;
get offerFees(): bigint;
get offerFutureFee(): bigint;
get offerFundingFee(): bigint;
get acceptFees(): bigint;
get acceptFutureFee(): bigint;
get acceptFundingFee(): bigint;
}
export declare class DualClosingTxFinalizer {
readonly initiatorInputs: FundingInput[];
readonly offerPayoutSPK: Buffer;
readonly acceptPayoutSPK: Buffer;
readonly feeRate: bigint;
constructor(initiatorInputs: FundingInput[], offerPayoutSPK: Buffer, acceptPayoutSPK: Buffer, feeRate: bigint);
private computeFees;
private getOfferInitiatorFees;
private getOfferReciprocatorFees;
private getAcceptInitiatorFees;
private getAcceptReciprocatorFees;
get offerInitiatorFees(): bigint;
get offerReciprocatorFees(): bigint;
get acceptInitiatorFees(): bigint;
get acceptReciprocatorFees(): bigint;
}
export declare const getFinalizer: (feeRate: bigint, offerInputs?: FundingInput[], acceptInputs?: FundingInput[], numContracts?: number, offerMaxWitnessLen?: number | number[], acceptMaxWitnessLen?: number | number[]) => DualFundingTxFinalizer;
export declare const getFinalizerByCount: (feeRate: bigint, numOfferInputs: number, numAcceptInputs: number, numContracts: number, offerMaxWitnessLen?: number | number[], acceptMaxWitnessLen?: number | number[]) => DualFundingTxFinalizer;