/** * Build M' = domSep ‖ |ctx| ‖ ctx ‖ M. * * domSep = 0x00 for pure ML-DSA, 0x01 for HashML-DSA. * Caller has already validated ctx.length ≤ 255. */ export declare function constructMPrime(domSep: number, ctx: Uint8Array, M: Uint8Array): Uint8Array; /** * Build the HashML-DSA M' = 0x01 ‖ |ctx| ‖ ctx ‖ OID ‖ PH_M. * * FIPS 204 §5.4 / Algorithm 4 line 23 (sign) and Algorithm 5 line 18 (verify). * The leading byte is 0x01 (vs 0x00 for pure ML-DSA), domain separation * across pure / pre-hash modes per FIPS 204 §3.6.4. Caller has already * validated ctx.length ≤ 255. */ export declare function constructMPrimeHash(ctx: Uint8Array, oid: Uint8Array, PH_M: Uint8Array): Uint8Array;