import { TxInputInfo } from '../ddk';
import Amount, { AmountJSON } from './Amount';
import Input from './Input';
/**
 * Class for interfacing with utxos in CFD DLC JS
 * https://github.com/atomicfinance/cfd-dlc-js.git#v0.0.18
 */
export default class Utxo {
    readonly txid: string;
    readonly vout: number;
    readonly amount: Amount;
    readonly address: string;
    readonly maxWitnessLength: number;
    readonly derivationPath?: string;
    readonly inputSerialId?: bigint | number;
    constructor(txid: string, vout: number, amount: Amount, address: string, maxWitnessLength: number, derivationPath?: string, inputSerialId?: bigint | number);
    toInput(): Input;
    toTxInputInfo(): TxInputInfo;
    toJSON(): UtxoJSON;
    static fromJSON(json: UtxoJSON): Utxo;
    static reviver(key: string, value: any): any;
}
export interface UtxoJSON {
    txid: string;
    vout: number;
    amount: AmountJSON;
    address: string;
    derivationPath?: string;
    maxWitnessLength: number;
    inputSerialId?: bigint | number;
}
