export interface EslintMessage { ruleId: string | null; severity: 1 | 2; message: string; line: number; column: number; endLine?: number; endColumn?: number; suggestions?: Array<{ desc: string; }>; fixable: boolean; } export interface EslintFileResult { filePath: string; messages: EslintMessage[]; errorCount: number; warningCount: number; fixableErrorCount: number; fixableWarningCount: number; } export interface TscError { filePath: string; line: number; column: number; severity: 'error' | 'warning'; code: string; message: string; } export interface RuleSummary { ruleId: string; count: number; severity: number; files: string[]; } export interface CodeQualityReport { eslint: { available: boolean; results: EslintFileResult[]; totalErrors: number; totalWarnings: number; totalFixable: number; filesAffected: number; topRules: RuleSummary[]; error?: string; }; tsc: { available: boolean; errors: TscError[]; totalErrors: number; totalWarnings: number; error?: string; }; scannedAt: number; fromCache?: boolean; } export declare class CodeQualityService { private readonly logger; private cachedReport; runCheck(force?: boolean): Promise; private runEslint; private processEslintResults; private runTsc; private parseTscOutput; }