/** * Helpers for building `suggestedNextCalls` arrays. Centralized so multiple * tools agree on the same heuristics for "which class is most actionable" * and "which followup is most useful". */ import type { CycleSummary } from "../tools/analyzeMemgraph.js"; import type { NextCallSuggestion } from "../types.js"; /** True when this class name looks like the user's own code (not stdlib / system). */ export declare function looksAppLevel(className: string): boolean; /** * From a list of class names in a cycle, pick the most likely "the thing the * user wrote" — the dominant app-level class. Used to seed swift* followups. */ export declare function pickPrimaryAppClass(classNames: string[]): string | null; /** Pull primary app-level class from a CycleSummary's chain. */ export declare function primaryAppClassFor(summary: CycleSummary): string | null; /** * Build a suggestedNextCalls array for `classifyCycle`'s output. * Maps the matched pattern + the cycle root to the most useful followups. */ export declare function suggestionsForClassification(opts: { patternId: string | null; rootClass: string; appLevelClass: string | null; }): NextCallSuggestion[]; /** Build suggestion to call swiftFindSymbolReferences for a class name. */ export declare function suggestionFindReferences(opts: { symbolName: string; filePath?: string; }): NextCallSuggestion; /** Build suggestion to call swiftGetSymbolDefinition for a class name. */ export declare function suggestionGetDefinition(opts: { symbolName: string; candidatePaths?: string[]; }): NextCallSuggestion; /** Build suggestion to call classifyCycle (used after analyzeMemgraph). */ export declare function suggestionClassifyCycle(opts: { path: string; }): NextCallSuggestion; /** Build suggestion to call reachableFromCycle (used after analyzeMemgraph). */ export declare function suggestionReachableFromCycle(opts: { path: string; cycleIndex?: number; }): NextCallSuggestion;