import type { ScanFinding, ScanReport } from "../types.js"; /** * Version of the machine-readable report document. Bumped only on breaking * changes so downstream automation can pin against it. */ export declare const REPORT_SCHEMA_VERSION = "1.0"; /** The JSON document emitted to stdout / written to disk. */ export type ScanReportDocument = ScanReport & { schemaVersion: string; remediationHint?: string; upgradeUrl?: string; }; /** * Build the machine-readable report document. Remediation commands and safety * metadata are stripped unless the caller opts in via `isPaidAccount` — the CLI * never does, so `--fix-commands` is the only way to obtain commands locally. */ export declare function buildReportDocument(report: ScanReport, isPaidAccount?: boolean): ScanReportDocument; /** Serialize the report for stdout (single-line-per-key pretty JSON). */ export declare function serializeReport(report: ScanReport, isPaidAccount?: boolean): string; /** * Extract the runnable CLI commands from a finding's remediation blob. * Remediation may also contain IaC diffs or comments — those are skipped. */ export declare function extractCommands(finding: ScanFinding): string[]; /** * Render the remediation commands of a report as a shell-pipeable script. * Context (resource, savings, safety warnings) is emitted as `#` comments so * the output stays valid shell input while remaining reviewable. */ export declare function buildFixCommands(report: ScanReport): string[]; /** * Save the scan report to a JSON file. * Returns the absolute path of the saved file. */ export declare function saveJsonReport(report: ScanReport, isPaidAccount?: boolean): Promise;