/**
 * XLSX converter — bom report (2.3.2 PM-grade restructure).
 *
 * Produces a 4-sheet workbook tuned for a PM / security reviewer:
 *
 *   1. `Executive Summary` — KV grid on one screen: totals, severity
 *      breakdown, top upgrade, license-class counts, staleness counts,
 *      tool provenance, analysis time.
 *
 *   2. `Triage` — top 10 findings ranked by composite riskScore, with
 *      PM-friendly columns (Priority / Risk / Severity / KEV / Reach /
 *      Package@Version / Advisory / CVSS / EPSS / Upgrade to / Effort /
 *      Rationale). Sort key is `riskScore desc`; ties resolve by
 *      severity then package name. The list shown here is the same
 *      one the markdown's "This Week's Triage" section surfaces, so
 *      markdown + xlsx tell the same story.
 *
 *   3. `Inventory` — legacy 15-col customer-format sheet with 4 columns
 *      appended (cols 16–19): Risk / KEV / Reachable / EPSS. Sorting
 *      by col 16 desc gives the same triage order as sheet 2; the
 *      legacy cols 1–15 stay byte-identical to the pre-2.3.2 format
 *      for reviewers who have hand-built dashboards on specific cells.
 *
 *   4. `License Breakdown` — pivot: license type × count × risk class
 *      × sample packages. Lets a PM filter for "copyleft-strong" or
 *      "unknown" licenses without eyeballing the full inventory.
 *
 * All derivations (license class, staleness tier, effort estimate)
 * live in `src/analyzers/bom/pm-signals.ts` so the markdown renderer
 * shares the same classification logic — PM sees consistent labels
 * regardless of which report surface they're reading.
 */
import type { BomReport } from '../bom/types';
/**
 * Render a `BomReport` as a multi-sheet XLSX workbook.
 */
export declare function toBomXlsx(report: BomReport): Promise<Buffer>;
//# sourceMappingURL=bom.d.ts.map