import type { GraphBundle, GraphEdge } from "audit-tools/shared"; export declare const DEFAULT_EDGE_CONFIDENCE_FLOOR = 0.65; /** Bound the candidate set so one pathological repo cannot balloon the call. */ export declare const MAX_REASONED_EDGES = 200; /** One host-supplied reason rewrite, matched to an edge by (from, to, kind). */ export interface EdgeReasonRewrite { from: string; to: string; /** Optional; when omitted the rewrite matches any candidate with from+to. */ kind?: string; reason: string; } export interface EdgeReasoningResults { rewrites: EdgeReasonRewrite[]; } export interface EdgeReasoningOptions { /** Edges strictly below this confidence are candidates (default 0.65). */ confidenceFloor?: number; } export interface EdgeReasoningSummary { rewritten: number; candidates: number; } /** * Collect the low-confidence edges (the actual edge objects, so the caller can * mutate `reason` in place) in a deterministic order. Routes are excluded — they * carry no `reason`/`confidence`. */ export declare function collectLowConfidenceEdges(bundle: GraphBundle, floor?: number): GraphEdge[]; /** Stable content hash of the candidate edge set, for host-side call caching. */ export declare function edgeReasoningContentHash(candidates: GraphEdge[]): string; /** The single bounded prompt a host runs to produce {@link EdgeReasoningResults}. */ export declare function buildEdgeReasoningPrompt(candidates: GraphEdge[]): string; /** * Apply host-supplied reason rewrites to `bundle` (mutated in place). Only edges * below the confidence floor are eligible; a rewrite that matches no eligible * edge is ignored. Returns a summary; the edge set itself is invariant. */ export declare function applyEdgeReasoning(bundle: GraphBundle, results: EdgeReasoningResults | undefined, options?: EdgeReasoningOptions): EdgeReasoningSummary; //# sourceMappingURL=edgeReasoning.d.ts.map