/**
 * OWASP CLI Formatter — OWASP-B3
 *
 * Renders human-readable and JSON output for OWASP Agentic Top 10 scan reports.
 * Used by `src/cli/scan.ts` when outputting to a TTY (human mode) and when
 * --json is explicitly passed (JSON mode).
 *
 * Customer code path consumer:
 *   src/cli/scan.ts:runScanCommand() — called for every agent in the scan
 *
 * @connexum/ai-governance  OWASP-B3
 */
import type { ScanReport, OwaspFinding } from '../../governance/owasp-agentic-scanner.js';
/** The customer's current license / pack state for context-aware remediation. */
export type LicenseState = 'not-purchased' | 'purchased-not-active' | 'active';
export interface OwaspFormatterOptions {
    /** Current license state for this agent's remediation pack. Default: 'not-purchased'. */
    licenseState?: LicenseState;
    /** Emit JSON instead of human-readable text. */
    json?: boolean;
}
/**
 * Format one OWASP finding into a multi-line human-readable block.
 *
 * Example output:
 *   [!] A01  CRITICAL  Prompt Injection Risk
 *       Agent has web-fetch + shell-exec without a prompt-injection guard.
 *       Remedy: Enable prompt-injection guard in PreToolUse hook.
 *       License (not-purchased): Company Pack not purchased — purchase at ...
 */
export declare function formatOwaspFinding(finding: OwaspFinding, licenseState?: LicenseState): string;
/**
 * Render a complete scan report for one agent.
 *
 * In JSON mode (`opts.json = true`), returns the ScanReport serialised as
 * pretty-printed JSON — identical to the pre-B3 behaviour for machine consumers.
 *
 * In human mode (default), renders:
 *   ────────────────────────────────────────────────────────
 *   OWASP Agentic Top 10 Coverage — <agentName>
 *   ────────────────────────────────────────────────────────
 *   Verdict: EXCELLENT | GOOD | NEEDS_REVIEW | POOR | CRITICAL
 *   Build structure score: 85/100
 *
 *   [!] A01  CRITICAL  Prompt Injection Risk
 *       ...
 *
 *   Summary: 2 findings (1 CRITICAL, 1 HIGH)
 *   ────────────────────────────────────────────────────────
 */
export declare function formatOwaspScanOutput(agentName: string, report: ScanReport, opts?: OwaspFormatterOptions): string;
//# sourceMappingURL=owasp.d.ts.map