import type { ApiExposureThresholds } from '../package/index.ts';
import type { AeiFinding, AeiRecommendation, CrsBand } from './types.ts';
/** CRS band boundaries (API-EXPOSURE-INDEX.md section 10). */
export declare const CRS_MODERATE_MIN = 40;
export declare const CRS_HIGH_MIN = 100;
export interface DependencyScore {
    aei: number;
    aeiInfinite: boolean;
    crs: number;
    crsInfinite: boolean;
    recommendation: AeiRecommendation;
    treeShakingModifier: number;
}
export declare function aeiBandForScore(aei: number, thresholds: ApiExposureThresholds): AeiRecommendation;
export declare function crsBandForScore(crs: number): CrsBand;
/**
 * Combines the AEI base band with the CRS band: low CRS shifts one step
 * toward `dependency`, high CRS shifts one step toward `peer`, moderate
 * leaves the band unchanged (API-EXPOSURE-INDEX.md section 10).
 */
export declare function combineBands(base: AeiRecommendation, crs: CrsBand): AeiRecommendation;
/**
 * Computes both scores and the combined recommendation from a dependency's
 * findings. Any infinite finding short-circuits to `peer`. Findings must
 * reference registered rule ids; the analyzer resolves effective weights
 * (including per-package overrides) before findings reach this function.
 */
export declare function scoreDependency(findings: AeiFinding[], thresholds: ApiExposureThresholds): DependencyScore;
//# sourceMappingURL=scoring.d.ts.map