/** * Overlay attestation (ggui#987 ยง6.3): ONE canonical serialization and ONE * hash for the per-app theme overlay, so every minter (a platform's * projector, a console, a CLI) and every write door compute the same bytes. * * Canonical JSON: object keys sorted recursively, no whitespace, `undefined` * members omitted, strings/numbers as JSON emits them. Hash: SHA-256 over the * UTF-8 bytes, lowercase hex. Async because it uses Web Crypto * (`globalThis.crypto.subtle`), available in every runtime the protocol * targets. */ import type { AppTheme } from '../schemas/app-theme.js'; /** The attested part of an overlay โ€” never `mode`, `name`, `frameless`, nor the declared assets `fonts` / `imagery` (ggui#1093). */ export type OverlayHashInput = Pick; /** The canonical JSON the hash is taken over โ€” exported so tests and other minters can pin it. */ export declare function canonicalOverlayJson(input: OverlayHashInput): string; /** `sha256(canonicalOverlayJson(input))` as lowercase hex โ€” the value `AppTheme.overlayHash` carries. */ export declare function canonicalOverlayHash(input: OverlayHashInput): Promise; //# sourceMappingURL=overlay-hash.d.ts.map