import type { CVE, CVESearchFilters, CVESearchResult, TrendingCVE, CVEReport, EPSSRequest, EPSSResult } from '../types/cve.js';
import { SourceManager } from './source-manager.js';
export declare class CVEService {
    private sourceManager;
    private sourceImplementations;
    constructor(sourceManager: SourceManager);
    private initializeSourceImplementations;
    private getApiKeysFromEnvironment;
    searchCVEs(filters: CVESearchFilters): Promise<CVESearchResult>;
    getCVEDetails(cveId: string): Promise<CVE>;
    getTrendingCVEs(limit?: number): Promise<TrendingCVE[]>;
    calculateEPSSScores(request: EPSSRequest): Promise<EPSSResult>;
    private calculateIndividualEPSSScore;
    private getEPSSConfig;
    private calculateExploitabilityScore;
    private calculateContextualScore;
    private assessExploitMaturity;
    private calculateAgeScore;
    private calculateEnvironmentalAdjustment;
    private determineRiskLevel;
    private generateEPSSRecommendations;
    private generateEPSSResult;
    generateReport(reportConfig: CVEReport): Promise<string>;
    searchByCPE(cpe: string, filters?: Partial<CVESearchFilters>): Promise<CVESearchResult>;
    private validateSearchFilters;
    private buildSearchRequest;
    private buildDetailsRequest;
    private getSourceImplementation;
    private getSourceImplementationByName;
    private normalizeSearchResults;
    private normalizeCVEData;
    /**
     * Get exploit indicators for a CVE (uses pre-calculated values from normalization)
     */
    private getExploitIndicators;
    private calculateTrendingScores;
    private evaluateTiers;
    private matchesCondition;
    private calculateWeightedScore;
    private calculateAgeInDays;
    private generatePentestingInsights;
    private generateMarkdownReport;
    private generateSummaryReport;
    /**
     * Sort CVEs based on specified criteria (always descending order)
     */
    private sortCVEs;
    private extractCVSSScore;
    private extractSeverity;
    private extractAttackVector;
    private extractAttackComplexity;
    private extractPrivilegesRequired;
    private extractUserInteraction;
    private extractAffectedProducts;
    private generateRecommendations;
    private generatePentestingNotes;
    private performSortedSearch;
    private performSearch;
    private validateCVEId;
    private fetchCVE;
    /**
     * Calculate risk score based on CVSS score and exploit availability
     */
    private calculateRiskScore;
}
//# sourceMappingURL=cve-service.d.ts.map