/** * Type Definitions for Semantic Code Analyzer */ export interface SymbolInfo { name: string; type: "function" | "class" | "variable" | "interface" | "type" | "constant"; line?: number; scope?: string; } export interface DependencyInfo { type: "import" | "require" | "include"; module: string; items?: string[]; } export interface StructureInfo { type: string; description: string; elements: string[]; } export interface PatternInfo { pattern: string; description: string; locations: string[]; } export interface AnalysisResult { symbols?: SymbolInfo[]; structure?: StructureInfo[]; dependencies?: DependencyInfo[]; patterns?: PatternInfo[]; } export type AnalysisType = "symbols" | "structure" | "dependencies" | "patterns" | "all"; /** * Language analyzer interface for extensibility */ export interface LanguageAnalyzer { name: string; extensions: string[]; detect: (code: string) => boolean; extractSymbols: (code: string) => SymbolInfo[]; extractDependencies: (code: string) => DependencyInfo[]; } /** * Pattern detector interface for extensibility */ export interface PatternDetector { name: string; description: string; detect: (code: string, language: string) => PatternInfo | null; } export interface SemanticAnalyzerConfig { enabledLanguages?: string[]; enabledPatterns?: string[]; customPatterns?: PatternDetector[]; customLanguages?: LanguageAnalyzer[]; } //# sourceMappingURL=index.d.ts.map