/** * Brand-integrity verification — runtime check against build-time SHA-256 * hashes of the EvidenceOne logo SVG and trigger-button label. * * The `__INJECT_*` placeholders in BRAND_HASHES are replaced at build time by * the `brandIntegrity()` hook in stencil.config.ts. If the build hook fails to * substitute (e.g. dev mode), the slot stays a non-digest sentinel and * verifyBrand() fails closed, so the widget refuses to authenticate. * * What this catches: partial bundle patches that swap the logo SVG bytes * but leave the hash constants untouched, and post-mount DOM tampering * caught by the MutationObserver in eo-chat-header. * * What this does NOT catch: a partner who forks the package and rebuilds * the whole bundle with recomputed hashes. That requires server-side * verification at /partner/register against an allowlist of EvidenceOne * build hashes — out of scope for this repo. */ export declare const BRAND_HASHES: { readonly logo: string; readonly trigger: string; }; /** The canonical trigger-button label. Treated as a hashable constant. */ export declare const BRAND_TRIGGER_TEXT = "Consultar EvidenceOne"; /** Read by the root component before opening the drawer. False after any verifyBrand() failure. */ export declare function isBrandIntact(): boolean; /** Latches brand-broken state. Used by runtime DOM-tampering observers. Idempotent and cannot be undone at runtime. */ export declare function markBrandBroken(): void; /** * Verify that `content` hashes to the expected build-time fingerprint. * Side effect: a failure latches `brandOk` to false (cannot be un-failed at runtime). */ export declare function verifyBrand(content: string, key: keyof typeof BRAND_HASHES): Promise;