import type { PatchBuilderV2 } from "@git-stunts/git-warp"; import type { WarpContext } from "./context.js"; type TSNode = import("web-tree-sitter").SyntaxNode; /** * Emit a tiny AST root anchor into graph state. * * The full tree belongs in an attached blob, not materialized WARP graph * state. This anchor preserves a stable graph join point for tools that need * to know a file has an attached AST snapshot. * * Call this inside a `warp.patch()` callback to co-locate AST emission * with other graph operations in the same atomic commit. */ export declare function emitAstNodes(patch: PatchBuilderV2, filePath: string, root: TSNode): void; /** * Attach the complete tree-sitter CST as node content on the file node. * * The blob remains reachable through the WARP patch commit tree, but the * materialized graph only carries the `_content` OID and metadata. */ export declare function attachAstSnapshot(patch: PatchBuilderV2, filePath: string, root: TSNode): Promise; /** * Standalone convenience: emit the AST root anchor and attach the full AST * snapshot as blob content in one patch. */ export declare function emitFullAst(ctx: WarpContext, filePath: string, root: TSNode): Promise; export {}; //# sourceMappingURL=ast-emitter.d.ts.map