/** * WARP Structural Query Helpers — commit-symbol traversals. * * Shared infrastructure for graft log, graft blame, and graft churn. * Uses traverse for edge-following and QueryBuilder for pattern matching * and batch prop reads. No getEdges() — filtering stays substrate-side. */ import type { WarpContext } from "./context.js"; /** A symbol that was added, removed, or changed in a commit. */ export interface SymbolChange { readonly name: string; readonly kind: string; readonly signature?: string | undefined; readonly exported: boolean; readonly filePath: string; } /** All symbol changes for a single commit. */ export interface CommitSymbols { readonly sha: string; readonly added: readonly SymbolChange[]; readonly removed: readonly SymbolChange[]; readonly changed: readonly SymbolChange[]; } /** The kind of change a commit made to a symbol. */ export type ChangeKind = "added" | "removed" | "changed"; /** A single commit entry in a symbol's history. */ export interface SymbolCommit { readonly sha: string; readonly changeKind: ChangeKind; readonly signature?: string | undefined; } /** Full change history for a symbol across commits. */ export interface SymbolHistory { readonly symbol: string; readonly filePath?: string | undefined; readonly commits: readonly SymbolCommit[]; } /** * Given a commit SHA, return all symbols that were added, removed, * or changed in that commit. * * Uses traverse for edge-following (substrate-side), then QueryBuilder * for batch prop reads. Removals are detected by temporal diff at * tick N-1 vs tick N. */ export declare function symbolsForCommit(ctx: WarpContext, commitSha: string): Promise; /** @deprecated Use symbolTimeline() from ./symbol-timeline.ts instead. */ export declare function commitsForSymbol(ctx: WarpContext, symbolName: string, filePath?: string): Promise; //# sourceMappingURL=structural-queries.d.ts.map