import type Database from 'better-sqlite3'; import type { MonographNode } from '../types.js'; import { type SymbolCandidate } from './resolve-node.js'; export interface MonographContextResult { node: MonographNode | null; callers: MonographNode[]; callees: MonographNode[]; imports: MonographNode[]; importedBy: MonographNode[]; /** Test files that call this symbol directly (TESTS edges to the node). */ testedBy: MonographNode[]; /** Test files that import this symbol's file — coarser than `testedBy`. */ fileTests: MonographNode[]; community: { id: number; label?: string; } | null; inProcesses: Array<{ id: string; name: string; }>; /** True when `name` matched several nodes and nothing narrowed it to one. */ ambiguous?: boolean; /** Populated when ambiguous (non-test first) — re-query with `nodeId` or `filePath`. */ candidates?: SymbolCandidate[]; } /** * The 360° view of one symbol: who calls it, what it calls, what imports it, * which tests cover it, which community and processes it belongs to. A name * that matches several definitions comes back as candidates rather than a guess. */ export declare function getMonographContext(db: Database.Database, input: { name: string; filePath?: string; nodeId?: string; }): MonographContextResult; //# sourceMappingURL=context.d.ts.map