import { Target, UTXO } from './types';
export declare const TX_EMPTY_SIZE: number;
export declare const TX_INPUT_BASE: number;
export declare const TX_INPUT_PUBKEYHASH = 107;
export declare const TX_INPUT_SEGWIT: number;
export declare const TX_INPUT_TAPROOT: number;
export declare const TX_OUTPUT_BASE: number;
export declare const TX_OUTPUT_PUBKEYHASH = 25;
export declare const TX_OUTPUT_SCRIPTHASH = 23;
export declare const TX_OUTPUT_SEGWIT = 22;
export declare const TX_OUTPUT_SEGWIT_SCRIPTHASH = 34;
export declare function inputBytes(input: UTXO): number;
export declare function outputBytes(output: Target): number;
export declare function utxoScore(utxo: UTXO, feeRate: number): number;
export declare function sortUtxoBasedOnScore(utxos: UTXO[], feeRate: number): UTXO[];
export declare function dustThreshold(feeRate: number): number;
export declare function transactionBytes(inputs: UTXO[], outputs: Target[]): number;
export declare const BLANK_OUTPUT: number;
export declare function sumValues<T extends {
    value?: number;
}>(range: T[]): number;
export declare function finalize(inputs: UTXO[], outputs: Target[], feeRate: number, changeAddress?: string, changeOutput?: boolean): {
    inputs?: UTXO[];
    outputs?: Target[];
    fee: number;
    txFee?: number;
};
