import type { BrandReviewResult, BrandReviewScore } from "../api/types.js"; /** * One file's outcome from a batch review run. Per-item independence * is important — a single API failure must not lose the results of * peer files in the batch (see `failFast` for opt-in stop-on-error). */ export type ReviewOutcome = { kind: "ok"; /** Caller-supplied label (file path for CLI, free-form for SDK). */ label: string; result: BrandReviewResult; } | { kind: "error"; label: string; /** Human-readable message; full ScaiError fields are preserved on `cause`. */ message: string; cause?: unknown; }; /** * Map a 1–5 score to a SARIF severity level. The breakpoints map to * the documented brand-compliance domain: * * 1, 2 → error (poor alignment; CI gate fail by default) * 3 → warning (acceptable but suggests improvement) * 4, 5 → note (well-aligned; emitted only for traceability) */ export declare const scoreToSarifLevel: (score: BrandReviewScore) => "error" | "warning" | "note"; /** Per-outcome summary used by every formatter for traversal. */ export interface OutcomeSummary { total: number; passed: number; failed: number; errored: number; belowThreshold: number; lowestScore?: BrandReviewScore; } /** * Compute the summary statistics over a batch. `threshold` is the * 1–5 minimum acceptable score; an undefined threshold disables the * `belowThreshold` count (it stays 0). Per-API errors are counted * separately from scoring. */ export declare const summarizeOutcomes: (outcomes: readonly ReviewOutcome[], threshold?: BrandReviewScore) => OutcomeSummary;