import { AIAnalysis, Finding } from '../types/index.js'; import { Logger } from '../utils/Logger.js'; import { DataHandler } from '../utils/DataHandler.js'; export declare class AIAnalyzer { private logger; private dataHandler; private openai; private offlineMode; private costLimit; private latencyLimit; private privacyControls; private totalCost; private requestCount; constructor(logger: Logger, dataHandler: DataHandler, config?: { offlineMode?: boolean; costLimit?: number; latencyLimit?: number; privacyControls?: boolean; }); /** * Analyze findings with AI */ analyzeFindings(findings: Finding[], projectContext: Record): Promise; /** * Perform AI analysis with OpenAI */ private performAIAnalysis; /** * Perform basic analysis without AI */ private performBasicAnalysis; /** * Prepare data for AI analysis */ private prepareAnalysisData; /** * Build analysis prompt for AI */ private buildAnalysisPrompt; /** * Get system prompt for AI */ private getSystemPrompt; /** * Parse AI analysis response */ private parseAIAnalysis; /** * Calculate cost of OpenAI API call */ private calculateCost; /** * Calculate overall risk score */ private calculateOverallRisk; /** * Generate risk factors */ private generateRiskFactors; /** * Assess business impact */ private assessBusinessImpact; /** * Assess exploitability */ private assessExploitability; /** * Extract technology stack from context */ private extractTechnologyStack; /** * Generate priority list */ private generatePriorityList; /** * Assess effort required for fixing a finding */ private assessEffort; /** * Generate automated fixes */ private generateAutomatedFixes; /** * Generate manual steps */ private generateManualSteps; /** * Calculate timeline */ private calculateTimeline; /** * Identify likely false positives */ private identifyLikelyFalsePositives; /** * Get analysis statistics */ getAnalysisStats(): { totalCost: number; requestCount: number; averageLatency: number; offlineMode: boolean; }; /** * Reset cost tracking */ resetCostTracking(): void; /** * Get privacy statement */ getPrivacyStatement(): string; } //# sourceMappingURL=AIAnalyzer.d.ts.map