/// import { ZKPInterface } from '../confidential'; import type { Slip77Interface } from 'slip77'; import type { KeysGenerator, Pset } from './pset'; import type { IssuanceBlindingArgs, OutputBlindingArgs, OwnedInput } from './blinder'; export declare class ZKPValidator { private confidential; constructor(zkpLib: ZKPInterface); verifyValueRangeProof(valueCommit: Buffer, assetCommit: Buffer, proof: Buffer, script: Buffer): boolean; verifyAssetSurjectionProof(inAssets: Buffer[], inAssetBlinders: Buffer[], outAsset: Buffer, outAssetBlinder: Buffer, proof: Buffer): boolean; verifyBlindValueProof(valueCommit: Buffer, assetCommit: Buffer, proof: Buffer): boolean; verifyBlindAssetProof(asset: Buffer, assetCommit: Buffer, proof: Buffer): boolean; } type ZKPGeneratorOption = (g: ZKPGenerator) => void; export declare class ZKPGenerator { private zkp; private ownedInputs?; private inBlindingKeys?; private masterBlindingKey?; private opts?; private confidential; constructor(zkp: ZKPInterface, ...options: ZKPGeneratorOption[]); static WithBlindingKeysOfInputs(inBlindingKeys: Buffer[]): ZKPGeneratorOption; static WithMasterBlindingKey(masterKey: Slip77Interface): ZKPGeneratorOption; static WithOwnedInputs(ownedInputs: OwnedInput[]): ZKPGeneratorOption; computeAndAddToScalarOffset(scalar: Buffer, value: string, assetBlinder: Buffer, valueBlinder: Buffer): Buffer; subtractScalars(inputScalar: Buffer, outputScalar: Buffer): Buffer; lastValueCommitment(value: string, asset: Buffer, blinder: Buffer): Buffer; lastBlindValueProof(value: string, valueCommit: Buffer, assetCommit: Buffer, blinder: Buffer): Buffer; lastValueRangeProof(value: string, asset: Buffer, valueCommit: Buffer, valueBlinder: Buffer, assetBlinder: Buffer, script: Buffer, nonce: Buffer): Buffer; unblindInputs(pset: Pset, inIndexes?: number[]): OwnedInput[]; blindIssuances(pset: Pset, blindingKeysByIndex: Record): IssuanceBlindingArgs[]; blindOutputs(pset: Pset, keysGenerator: KeysGenerator, outIndexes?: number[]): OutputBlindingArgs[]; private calculateScalarOffset; private unblindUtxo; private getInputAssetsAndBlinders; private maybeUnblindInUtxos; } export {};