import type { JsonObject } from "../contracts/json-object.js"; export interface CommitInfo { readonly sha: string; readonly author: string; readonly date: string; readonly message: string; } export interface LastSignatureChange extends CommitInfo { readonly previousSignature?: string | undefined; } export interface BlameHistoryEntry { readonly sha: string; readonly changeKind: string; readonly date: string; readonly author: string; readonly signature?: string | undefined; } export interface StructuralBlameResult { readonly symbol: string; readonly filePath?: string | undefined; readonly currentSignature?: string | undefined; readonly kind: string; readonly exported: boolean; readonly created?: CommitInfo | undefined; readonly lastSignatureChange?: LastSignatureChange | undefined; readonly changeCount: number; readonly referenceCount: number; readonly referencingFiles: readonly string[]; readonly history: readonly BlameHistoryEntry[]; } /** A single commit entry from the WARP symbol history. */ export interface SymbolCommitInput { readonly sha: string; readonly changeKind: string; readonly signature?: string | undefined; } /** Git metadata for a commit. */ export interface CommitMetaInput { readonly author: string; readonly date: string; readonly message: string; } /** Symbol metadata from the most recent commit's WARP observation. */ export interface SymbolMetaInput { readonly kind: string; readonly exported: boolean; } export interface StructuralBlameInput { readonly symbolName: string; readonly filePath?: string | undefined; /** The symbol's commit history from WARP. */ readonly commits: readonly SymbolCommitInput[]; /** Git metadata keyed by commit SHA. */ readonly commitMeta: ReadonlyMap; /** Symbol kind/exported from the latest WARP observation. */ readonly symbolMeta?: SymbolMetaInput | undefined; /** Reference count from the reference-counting query. */ readonly referenceCount: number; /** Files referencing this symbol. */ readonly referencingFiles: readonly string[]; } export declare function structuralBlame(input: StructuralBlameInput): StructuralBlameResult; /** * Convert a StructuralBlameResult to a plain JsonObject for MCP responses. */ export declare function structuralBlameToJson(result: StructuralBlameResult): JsonObject; //# sourceMappingURL=structural-blame.d.ts.map