/**
 * Pass #72: dependency-fan-out
 *
 * Flags modules that import an excessive number of other modules (≥20).
 * High fan-out is a coupling smell that makes modules hard to test and modify
 * independently.
 *
 * Category: architecture | Severity: low | Level: note | CWE: none
 */
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
/**
 * Per-pass options for DependencyFanOutPass.
 * Pass via `AnalyzerOptions.passOptions.dependencyFanOut`.
 */
export interface DependencyFanOutOptions {
    /**
     * Maximum number of imports before flagging. Default: 20.
     */
    threshold?: number;
}
export interface DependencyFanOutResult {
    importCount: number;
    exceeded: boolean;
}
export declare class DependencyFanOutPass implements AnalysisPass<DependencyFanOutResult> {
    readonly name = "dependency-fan-out";
    readonly category: "architecture";
    private readonly threshold;
    constructor(options?: DependencyFanOutOptions);
    run(ctx: PassContext): DependencyFanOutResult;
}
//# sourceMappingURL=dependency-fan-out-pass.d.ts.map