import type { MlDsaExports, Sha3Exports } from './types.js'; import type { MlDsaParams } from './params.js'; import { type PreHashAlgorithm } from './hashvariant.js'; /** * ML-DSA.Verify_internal, FIPS 204 Algorithm 8. * * Inputs (all caller-validated for length by the public verify() method): * vk , encoded verification key (pkBytes) * MPrime, domain-separated message bytes * sig , encoded signature (sigBytes) * * Returns: boolean. * true , signature authenticates the message under vk. * false, wrong sig, malformed hint encoding, or norm check failure. */ export declare function mldsaVerifyInternal(mx: MlDsaExports, sx: Sha3Exports, params: MlDsaParams, vk: Uint8Array, MPrime: Uint8Array, sig: Uint8Array): boolean; /** * HashML-DSA verify, post-prehash. FIPS 204 §5.4 Algorithm 5 lines 17-19. * Builds M' = 0x01 ‖ |ctx| ‖ ctx ‖ OID(algo) ‖ prehash and drives * Verify_internal. * * Same return / throw posture as `mldsaVerifyInternal`: returns a pure * boolean for every signature outcome. Caller (in index.ts) is expected * to have already filtered wrong-length vk / sig / digest with the * appropriate verdict (false) before calling this helper. * * The caller owns `prehash`; this helper never wipes it. */ export declare function verifyWithPrehash(mx: MlDsaExports, sx: Sha3Exports, params: MlDsaParams, vk: Uint8Array, prehash: Uint8Array, sig: Uint8Array, algo: PreHashAlgorithm, ctx: Uint8Array): boolean;