/**
 * Pass: missing-override (#64)
 *
 * Detects Java methods that override a parent class method but lack the
 * @Override annotation. Without @Override the compiler cannot catch signature
 * mismatches introduced by a parent-class refactoring.
 *
 * Detection strategy:
 *   1. Build a map of class → method names from all types in the IR.
 *   2. Build a parent map: class name → direct parent class name (strip generics).
 *   3. For each class that has a parent in the same file, walk the inheritance
 *      chain (max 10 hops, cycle guard) to collect all ancestor method names.
 *   4. For each non-constructor, non-private, non-static, non-abstract method
 *      whose name appears in the ancestor set — if @Override is absent → finding.
 *
 * Language: Java only.
 * Dedup: at most one finding per class:method pair.
 */
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface MissingOverrideResult {
    findings: number;
}
export declare class MissingOverridePass implements AnalysisPass<MissingOverrideResult> {
    readonly name = "missing-override";
    readonly category: "maintainability";
    run(ctx: PassContext): MissingOverrideResult;
}
//# sourceMappingURL=missing-override-pass.d.ts.map