import type { ImpactOptions, ImpactResult } from "./types"; import type { CallGraph } from "./types"; /** * pi-impact-analyzer * * AST-based dependency tracing that answers: * "If I change this symbol, what else could break?" * * v0.3.0 - Passive mode with auto-indexing and caching */ declare const DEFAULT_CONFIG: { /** Auto-index project on session start */ autoIndex: boolean; /** Cache graph to disk for faster startup */ cacheEnabled: boolean; /** Cache TTL in milliseconds (5 minutes) */ cacheTTL: number; /** Directories to ignore when scanning */ ignoreDirs: Set; /** File extensions to index */ extensions: Set; /** Enable debug logging */ debug: boolean; }; type Config = typeof DEFAULT_CONFIG; export declare function scanAndBuildGraph(rootDir?: string): Promise; export declare function buildGraph(files: Array<{ path: string; content: string; }>): Promise; export declare function indexFile(filePath: string, content: string): Promise; export declare function impactAnalyzeExecute(_toolCallId: string, params: { type: "symbol" | "file" | "diff"; target: string; options?: ImpactOptions; }, _signal: AbortSignal | undefined, _onUpdate: any, _ctx: any): ImpactResult | string; export declare function impactAnalyzeHandler(input: { type: "symbol" | "file" | "diff"; target: string; options?: ImpactOptions; }, _ctx?: any): ImpactResult | string; /** * Auto-index the project directory. * Called automatically on session start if autoIndex is enabled. */ export declare function autoIndex(rootDir?: string): Promise; /** * Check if a file is a source file that should be indexed. */ export declare function isSourceFile(filePath: string): boolean; /** * Get indexing status. */ export declare function getIndexingStatus(): { initialized: boolean; indexing: boolean; nodeCount: number; fileCount: number; lastIndexTime: number; }; /** * Invalidate cache for a specific file. */ export declare function invalidateFile(filePath: string): void; /** * Clear all caches. */ export declare function clearCache(): void; /** * Update configuration. */ export declare function updateConfig(newConfig: Partial): void; /** * Get current configuration. */ export declare function getConfig(): Readonly; export declare function scanProject(rootDir: string, options?: { includeNodeModules?: boolean; extensions?: string[]; }): string[]; export declare function buildGraphFromProject(rootDir: string, options?: { includeNodeModules?: boolean; extensions?: string[]; }): Promise; export declare function getRiskiestSymbols(topN?: number): import("./types").AffectedSymbol[]; export declare function getOrphans(): import("./types").AffectedSymbol[]; export { TreeSitterParser } from "./parser"; export { GraphBuilder } from "./graph-builder"; export { ImpactAnalyzer } from "./impact-analyzer"; export { ASTExtractor } from "./extractor"; export { SymbolResolver } from "./symbol-resolver"; export type { ImpactResult, ImpactOptions, AffectedSymbol, SymbolDefinition, CallSite, CallGraph, GraphNode, } from "./types"; /** * Pi extension factory function. * This is the default export that Pi calls to initialize the extension. * * v0.3.0 - Passive mode with auto-indexing */ export default function piImpactAnalyzer(pi: any): Promise; //# sourceMappingURL=index.d.ts.map