export interface CodeSmell { rule: string; severity: 'low' | 'medium' | 'high'; message: string; file: string; line?: number; column?: number; metadata?: Record; } export interface ScanResult { file: string; smells: CodeSmell[]; stats: { lines: number; functions: number; classes: number; }; } export interface ScanReport { scannedAt: string; totalFiles: number; totalSmells: number; results: ScanResult[]; summary: { byRule: Record; bySeverity: Record; }; } export interface RuleContext { file: string; content: string; lines: string[]; ast?: any; } export interface Rule { name: string; description: string; enabled: boolean; run(context: RuleContext): CodeSmell[]; } //# sourceMappingURL=types.d.ts.map