import type { ScoreBreakdown, ScoreWeights, ScoringResult } from "./types.js"; export interface CoverageMetrics { statements?: number; branches?: number; functions?: number; lines?: number; } /** * Input parameters for code analysis and scoring. * Contains code content, language information, and optional coverage metrics. */ export interface CodeAnalysisInput { codeContent?: string; language?: string; coverageMetrics?: CoverageMetrics; weights?: Partial; } /** * Calculates hygiene score based on code quality patterns. * @param codeContent - The code to analyze * @param language - Programming language of the code * @returns Score breakdown with issues found */ export declare function calculateHygieneScore(codeContent?: string, language?: string): ScoreBreakdown["hygiene"]; /** * Calculates test coverage score based on provided metrics. * @param coverageMetrics - Test coverage metrics (statements, branches, functions, lines) * @returns Score breakdown with coverage issues */ export declare function calculateCoverageScore(coverageMetrics?: CoverageMetrics): ScoreBreakdown["coverage"]; /** * Calculates documentation score based on comments and documentation presence. * @param codeContent - The code to analyze * @returns Score breakdown with documentation issues */ export declare function calculateDocumentationScore(codeContent?: string): ScoreBreakdown["documentation"]; /** * Calculates security score based on common security vulnerabilities. * @param codeContent - The code to analyze * @returns Score breakdown with security issues */ export declare function calculateSecurityScore(codeContent?: string): ScoreBreakdown["security"]; /** * Calculates weighted average score from breakdown components. * @param breakdown - Individual score components * @param weights - Custom weights for score components (optional) * @returns Weighted average score (0-100) */ export declare function weightedAverage(breakdown: ScoreBreakdown, weights?: Partial): number; /** * Generates improvement recommendations based on score breakdown. * @param breakdown - Individual score components * @returns Array of actionable recommendations */ export declare function generateRecommendations(breakdown: ScoreBreakdown): string[]; /** * Calculates comprehensive clean code score with detailed breakdown. * @param input - Code analysis input with content, language, and coverage metrics * @returns Complete scoring result with overall score, breakdown, and recommendations */ export declare function calculateCleanCodeScore(input: CodeAnalysisInput): ScoringResult; //# sourceMappingURL=code-scorer.d.ts.map