import { ProjectReview, ReviewComment } from "@atomist/automation-client/lib/operations/review/ReviewResult";
import { NoParameters } from "@atomist/automation-client/lib/SmartParameters";
import { AutoInspectRegistration } from "../../../api/registration/AutoInspectRegistration";
import { CodeInspection, CodeInspectionRegistration } from "../../../api/registration/CodeInspectionRegistration";
import { NpmAuditOptions } from "../autofix/npmAuditAutofix";
export interface NpmAuditAdvisory {
    module_name: string;
    vulnerable_versions: string;
    severity: "info" | "low" | "moderate" | "high" | "critical";
    title: string;
    findings: Array<{
        version: string;
        paths: string[];
    }>;
    cves: string[];
    url: string;
    recommendation: string;
}
export interface NpmAuditResult {
    actions: any[];
    advisories: {
        [id: string]: NpmAuditAdvisory;
    };
}
export declare const npmAuditReviewCategory = "npm audit";
export declare function mapNpmAuditResultsToReviewComments(npmAuditOutput: string): ReviewComment[];
export declare function runNpmAuditOnProject(options?: NpmAuditOptions): CodeInspection<ProjectReview, NoParameters>;
/**
 * Provide a code inspection that runs `npm audit` and returns a
 * ProjectReview.
 */
export declare function npmAuditInspection(options?: NpmAuditOptions): CodeInspectionRegistration<ProjectReview, NoParameters>;
/**
 * Provide an auto inspect registration that runs `npm audit` and
 * returns a ProjectReview.
 */
export declare const NpmAuditAutoInspectRegistration: AutoInspectRegistration<ProjectReview, NoParameters>;
//# sourceMappingURL=npmAudit.d.ts.map