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<ScoreWeights>;
}
/**
 * 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<ScoreWeights>): 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