import { type Input, type Output } from '@bitauth/libauth';
import { ExtMap } from './utils.js';
export declare class Outpoint {
outpointTransactionHash: Uint8Array;
outpointIndex: number;
constructor(outpointTransactionHash: Uint8Array, outpointIndex: number);
static fromInput(input: Pick): Outpoint;
toString(): string;
}
export declare class UTXO {
outpoint: Outpoint;
output: Output;
constructor(outpoint: Outpoint, output: Output);
static from(outpoint: Outpoint, output: Output): UTXO;
flatten(): {
lockingBytecode: Uint8Array;
token?: {
amount: bigint;
category: Uint8Array;
nft?: {
capability: `${import("@bitauth/libauth").NonFungibleTokenCapability}`;
commitment: Uint8Array;
} | undefined;
} | undefined;
valueSatoshis: bigint;
outpointTransactionHash: Uint8Array;
outpointIndex: number;
};
}
export type UTXOSet = ExtMap;
export declare function calculateBalanceSats(unspents: Array): bigint;
export type TokenBalances = {
[categoryId: string]: bigint;
};
export declare function calculateBalanceTokens(unspents: Array): TokenBalances;