/** * Push a completed certification to the user's web dashboard. * * Opt-in via a per-user API key — set once with `hardening_connect` (stored in * ~/.vaspera/profile.json) or via the `VASPERA_API_KEY` env var (which wins). * Fire-and-forget: bounded timeout, never throws, never blocks a scan. This is * the CLI half of the ingest bridge — without it, scans only ever emit * anonymous telemetry and never reach the dashboard. */ import type { Certification } from "../certification/types.js"; interface SeverityCounts { critical: number; high: number; medium: number; low: number; } /** * Best-effort push. Resolves always (success flag), never rejects, so callers * can `await` it without risking scan completion. */ export declare function pushCertification(cert: Certification, opts: { severityCounts: SeverityCounts; durationMs?: number; githubRepoUrl?: string | null; branch?: string | null; commit?: string | null; }): Promise<{ pushed: boolean; reason?: string; }>; export {}; //# sourceMappingURL=push.d.ts.map