import type { FixProposal, OwnershipModel, RunReport, UserTableSource } from "../types.js"; export declare function renderTerminal(report: RunReport, opts?: { verbose?: boolean; }): string; export declare function renderModel(model: OwnershipModel, /** How the user table was decided. Stated first, because everything rests on it. */ userTable?: { source: UserTableSource; rationale: string; }): string; export declare function renderFixes(fixes: FixProposal[]): string; /** * The body of the pull request comment. * * For most people this is the only Crossline surface they will ever see, and * they will see it on a phone, in a notification, between two other things. So: * the verdict first and in one line, findings named with enough context to act * without opening anything, everything the run failed to check said out loud, * and every wall of SQL folded away behind a summary. * * The rule the rest of this function serves: an inconclusive run must never * render a tick. The terminal has refused to since the verdict existed; this * renderer used to print "No user can read another user's data ✅" over a run * with zero probes, which is the worst sentence this product can emit — the * check goes red, the comment says all clear, and the reader believes the * comment. */ export declare function renderMarkdown(report: RunReport): string; /** SARIF 2.1.0, so findings show up natively in GitHub's Security tab. */ export declare function renderSarif(report: RunReport): string;