import type { InputUTXO, SerializedUTXO } from "./model.js"; /** * Compute signature for nullifier derivation. * Matches circuit's Signature template: * signature = Poseidon(privateKey, commitment, pathIndex) */ export declare function computeSignature(privateKey: bigint, commitment: bigint, pathIndex: bigint): bigint; /** * Derive nullifier for a UTXO. * Matches circuit's UTXONullifier template: * signature = Poseidon(privateKey, commitment, pathIndex) * nullifier = Poseidon(commitment, pathIndex, signature) * * The signature-based nullifier ensures only the private key holder can spend. */ export declare function deriveNullifier(utxo: SerializedUTXO, pathIndex: number, privateKey: bigint): Uint8Array; /** * Convert InputUTXO to the format expected by the circuit. */ export declare function inputUTXOToCircuitFormat(input: InputUTXO): { amount: bigint; pubkey: bigint; blinding: bigint; pathElements: bigint[]; pathIndex: number; privateKey: bigint; };