/**
 * Layer 3: OSV/Security Advisory Integration
 * Checks packages against OSV.dev for known vulnerabilities
 *
 * Features:
 * - Queries OSV.dev API for known malicious/vulnerable packages
 * - Caches advisories for efficiency
 * - Supports npm and PyPI ecosystems
 */
import type { Vulnerability, VulnerabilitySeverity } from '../../shared/types';
interface OSVVulnerability {
    id: string;
    summary?: string;
    details?: string;
    severity?: Array<{
        type: string;
        score: string;
    }>;
    references?: Array<{
        type: string;
        url: string;
    }>;
    affected?: Array<{
        package: {
            name: string;
            ecosystem: string;
        };
        ranges?: Array<{
            type: string;
            events: Array<{
                introduced?: string;
                fixed?: string;
            }>;
        }>;
    }>;
    database_specific?: {
        malicious?: boolean;
        severity?: string;
    };
}
interface CachedAdvisory {
    timestamp: number;
    advisories: OSVVulnerability[];
}
declare const advisoryCache: Map<string, CachedAdvisory>;
/**
 * Get cache key for a package
 */
declare function getCacheKey(name: string, ecosystem: string): string;
/**
 * Query OSV.dev for vulnerabilities affecting a single package
 */
declare function queryOSV(packageName: string, ecosystem: 'npm' | 'PyPI', version?: string): Promise<OSVVulnerability[]>;
/**
 * Query OSV.dev for multiple packages in batch
 */
declare function queryOSVBatch(packages: Array<{
    name: string;
    ecosystem: 'npm' | 'PyPI';
    version?: string;
}>): Promise<Map<string, OSVVulnerability[]>>;
/**
 * Determine severity from OSV vulnerability
 */
declare function mapOSVSeverity(vuln: OSVVulnerability): VulnerabilitySeverity;
/**
 * Check if vulnerability is for a malicious package
 */
declare function isMaliciousPackage(vuln: OSVVulnerability): boolean;
/**
 * Check packages in a file for known vulnerabilities via OSV.dev
 */
export declare function checkPackageAdvisories(content: string, filePath: string): Promise<Vulnerability[]>;
export { queryOSV, queryOSVBatch, mapOSVSeverity, isMaliciousPackage, getCacheKey, advisoryCache, };
//# sourceMappingURL=osv-check.d.ts.map