import type { VisibilityEnvelope } from './envelope.js'; /** * Escape the five HTML-significant characters so untrusted text is inert. * Exported so every report renderer escapes the SAME way - a second, slightly * different escaper is how one report ends up injectable. */ export declare function esc(s: string): string; /** The shared report stylesheet, inlined by every HTML report we write. */ export declare const REPORT_STYLE = "\n :root { color-scheme: dark; }\n * { box-sizing: border-box; }\n body {\n margin: 0; padding: 2rem 1rem;\n background: #0f1115; color: #e6e8eb;\n font: 15px/1.55 -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n main { max-width: 760px; margin: 0 auto; }\n header { border-bottom: 1px solid #2a2e37; padding-bottom: 1rem; margin-bottom: 1.5rem; }\n h1 { font-size: 1.25rem; margin: 0 0 .25rem; }\n .muted { color: #9aa1ab; }\n .score { font-size: 3rem; font-weight: 700; line-height: 1; margin: .25rem 0; }\n .score span { font-size: 1rem; font-weight: 400; color: #9aa1ab; }\n section { margin: 1.5rem 0; }\n h2 { font-size: .95rem; text-transform: uppercase; letter-spacing: .04em; color: #9aa1ab; margin: 0 0 .6rem; }\n table { width: 100%; border-collapse: collapse; }\n th, td { text-align: left; padding: .35rem .5rem; border-bottom: 1px solid #20242c; }\n th { color: #9aa1ab; font-weight: 500; }\n .tag { display: inline-block; padding: 0 .4rem; border-radius: 3px; font-size: .8rem; }\n .tag.error { background: #3a1d1d; color: #ff9b9b; }\n .tag.warn { background: #3a331d; color: #ffe08a; }\n .tag.info { background: #1d2a3a; color: #9bc7ff; }\n .notes li { color: #ffe08a; }\n details { border: 1px solid #2a2e37; border-radius: 6px; padding: .5rem .75rem; margin: .5rem 0; }\n summary { cursor: pointer; }\n .answer { white-space: pre-wrap; color: #cfd3da; margin: .5rem 0 0; }\n footer { border-top: 1px solid #2a2e37; margin-top: 2rem; padding-top: 1rem; color: #9aa1ab; }\n"; /** Render the full self-contained HTML report for a check envelope. */ export declare function renderCheckHtml(env: VisibilityEnvelope): string;