import type { CodeIndex } from "../types.js";
export interface HeritageFileEdge {
    from: string;
    to: string;
    kind: "extends" | "implements";
}
/** Counts of heritage refs that could not be turned into a file edge.
 * `ambiguous`: simple name matched 2+ declarations (collision).
 * `unresolved`: simple name matched no declared type. */
export interface HeritageResolutionStats {
    ambiguous: number;
    unresolved: number;
}
/**
 * Best-effort module-level edges from symbol `extends` / `implements`.
 * Resolves each referenced type name to a file only when exactly one
 * declaration (class / interface / type alias) with that simple name exists.
 *
 * Returns the edge list and a `stats` block counting heritage refs that could
 * not be resolved (ambiguous: 2+ declarations with same simple name; unresolved:
 * no declared type with that name) so callers can surface the gap instead of
 * silently dropping edges.
 */
export declare function collectHeritageFileEdgesWithStats(index: CodeIndex): {
    edges: HeritageFileEdge[];
    stats: HeritageResolutionStats;
};
export declare function collectHeritageFileEdges(index: CodeIndex): HeritageFileEdge[];
//# sourceMappingURL=heritage-edges.d.ts.map