/** * Dependency Analyzer * Main orchestrator for Software Composition Analysis (SCA) * Analyzes project dependencies without executing any code */ import { DependencyAnalysisResult } from './types'; import { AIConfig } from '../types'; /** * Dependency Analyzer Configuration */ export interface DependencyAnalyzerConfig { /** Project path to analyze */ projectPath: string; /** Enable AI-assisted analysis */ useAI?: boolean; /** AI configuration */ aiConfig?: AIConfig; /** Maximum depth to search for manifests */ maxDepth?: number; /** Directories to exclude */ exclude?: string[]; /** Include dev dependencies in analysis */ includeDevDependencies?: boolean; /** Verbose logging */ verbose?: boolean; } /** * Dependency Analyzer Class * Main entry point for Software Composition Analysis */ export declare class DependencyAnalyzer { private config; private vulnerabilityDetector; private aiAnalyzer?; constructor(config: DependencyAnalyzerConfig); /** * Run dependency analysis */ analyze(): Promise; /** * Find all manifest files in the project */ private findManifestFiles; /** * Recursively walk directory */ private walkDirectory; /** * Parse a manifest file */ private parseManifest; /** * Deduplicate dependencies across manifests */ private deduplicateDependencies; /** * Analyze dependencies for vulnerabilities */ private analyzeVulnerabilities; /** * Sort vulnerabilities by severity */ private sortVulnerabilities; /** * Calculate analysis statistics */ private calculateStats; /** * Create empty result when no manifests found */ private createEmptyResult; } export default DependencyAnalyzer; //# sourceMappingURL=dependencyAnalyzer.d.ts.map