/** * Base parser class with common issue detection logic */ import type { AnalysisOptions, AnalysisResult, DependencyParser, EcosystemType, Issue, IssueSeverity, PackageFileType, PackageInfo, ParseResult } from "../types.js"; /** * Common regex patterns used across parsers */ export declare const PATTERNS: { BARE_PACKAGE: RegExp; PACKAGE_WITH_VERSION: RegExp; }; /** * Base analyzer with common issue detection logic */ export declare abstract class BaseParser implements DependencyParser { abstract parse(content: string): ParseResult; abstract canParse(content: string): boolean; abstract getEcosystem(): EcosystemType; abstract getFileTypes(): PackageFileType[]; analyze(parseResult: ParseResult, options: AnalysisOptions): AnalysisResult; protected abstract analyzePackage(pkg: PackageInfo, options: AnalysisOptions, issues: Issue[]): void; protected analyzeEcosystemSpecific(_parseResult: ParseResult, _options: AnalysisOptions, _issues: Issue[]): void; protected generateRecommendations(issues: Issue[], recommendations: string[]): void; protected abstract addEcosystemRecommendations(recommendations: string[]): void; protected addIssue(issues: Issue[], pkg: PackageInfo, type: string, severity: IssueSeverity, description: string, recommendation?: string): void; } //# sourceMappingURL=base.d.ts.map