import { CveFinding } from '../types.js';
import { type CveLookupStatus } from '../clients/osv-client.js';
export interface CveCheckResult {
    findings: CveFinding[];
    lookupStatus: CveLookupStatus;
}
export interface CveTriageResult {
    all: CveFinding[];
    direct: CveFinding[];
    transitive: CveFinding[];
}
export declare class CveChecker {
    private osv;
    private nvd;
    constructor();
    check(packageName: string, version?: string): Promise<CveCheckResult>;
    private staleDiskFindings;
    private emitDegraded;
    /** Scan server name plus packages discovered in command/args */
    checkServerPackages(serverName: string, packages: string[], version?: string): Promise<CveCheckResult>;
    checkWithTriage(packageName: string, directDeps?: string[], version?: string): Promise<CveTriageResult>;
    /**
     * Recursively collect the full dependency tree from npm ls --json.
     * Returns a unique set of name@version pairs.
     */
    static getTransitiveDependencies(packagePath: string): Map<string, string>;
    /**
     * Full scan: collect all transitive dependencies, then check each for CVEs.
     * This is the production-grade scanning path that closes the major gap.
     */
    scanAllDependencies(packagePath: string): Promise<CveFinding[]>;
}
//# sourceMappingURL=cve-checker.d.ts.map