/** * content-audit.ts — per-item content quality audit. * * auditContent() evaluates an array of content items (headings, prose, CTAs, * labels, captions, metrics, outcomes) against loaded UX-writing principles * and lightweight deterministic heuristics. Returns a per-item verdict plus * an aggregate summary. * * Pure (no network, no browser) — fully unit-testable offline. */ export type ContentItemType = "prose" | "caption" | "heading" | "outcome" | "metric" | "cta" | "label"; export type ContentItem = { id?: string; type: ContentItemType; text: string; }; export type ContentIssue = { principle: string; message: string; }; export type ContentVerdict = "pass" | "warn" | "fail"; export type ContentItemResult = { id: string; type: ContentItemType; text: string; verdict: ContentVerdict; matched_principles: string[]; issues: ContentIssue[]; suggestion: string; }; export type ContentAuditSummary = { total: number; pass: number; warn: number; fail: number; }; export type ContentAuditResult = { items: ContentItemResult[]; summary: ContentAuditSummary; principles_loaded: string[]; system?: string; goals?: string[]; }; export type ContentAuditOptions = { /** Optional content-system id (informational; recorded in output). */ system?: string; /** Optional design goals (informational; recorded in output). */ goals?: string[]; }; /** Exposed for testing — resets the lazy cache so tests can call with a clean state. */ export declare const _resetPrinciplesCache: () => void; /** * Audit an array of content items against loaded UX-writing principles. * Pure — no network, no Playwright, no side effects. */ export declare const auditContent: (items: ContentItem[], opts?: ContentAuditOptions) => ContentAuditResult;