/** * AstSymbolCache — memoizes per-file AST symbol extraction (the work `get_ast_hologram` * does per file) keyed on a stat-only fingerprint (mtimeMs + size), the same cheap * invalidation `DepGraph.ts` already uses for the import graph. * * Exists so `SpeculativeWarmer` has something local to warm: precomputing a file's symbols * before the model asks for them only pays off if a real `get_ast_hologram` call afterwards * can find them already done, instead of re-parsing from scratch. */ export interface AstSymbol { kind: string; name: string; file: string; line: number; } type Extractor = (absPath: string, relPath: string, parseErrors?: string[]) => AstSymbol[]; /** * Return the cached symbols for `absPath` if the file hasn't changed since they were * computed, otherwise run `extractor` and cache the result. A file that can't be stat'd * (deleted mid-scan, permissions) always falls through to a fresh extraction — never served * from a fingerprint that might no longer describe it. */ export declare function getOrExtractSymbols(absPath: string, relPath: string, extractor: Extractor, parseErrors?: string[]): AstSymbol[]; /** True if a fresh, unexpired entry already exists — lets the warmer skip redundant work. */ export declare function hasFreshEntry(absPath: string): boolean; /** Test seam — the map is process-global and would otherwise leak between test cases. */ export declare function resetAstSymbolCache(): void; export {}; //# sourceMappingURL=AstSymbolCache.d.ts.map