import { z } from "zod"; import type { AgentTool } from "@kenkaiiii/gg-agent"; import { type ToolOperations } from "./operations.js"; import { type ReadTracker } from "./read-tracker.js"; import type { EditSource } from "../core/lsp/edit-telemetry.js"; import { type WriteGuardSettings } from "../core/workspace-guard.js"; type MutationCallback = (filePath: string) => void | Promise; /** Post-write diagnostics provider (LSP). Non-empty results are appended to successful tool output. */ type DiagnosticsProvider = (filePath: string, content: string, source?: EditSource) => Promise; declare const EditParams: z.ZodPreprocess; edits: z.ZodOptional; new_text: z.ZodOptional; replace_all: z.ZodOptional; span: z.ZodOptional>; lines: z.ZodOptional>; }, z.core.$loose>>, unknown>>; files: z.ZodOptional; new_text: z.ZodOptional; replace_all: z.ZodOptional; }, z.core.$strip>>, unknown>; }, z.core.$strip>>>; atomic: z.ZodOptional; }, z.core.$strip>, unknown>; export declare function createEditTool(cwd: string, readFiles?: ReadTracker, ops?: ToolOperations, planModeRefOrOnFileMutated?: { current: boolean; } | MutationCallback, onFileMutated?: MutationCallback, onPreFileMutation?: MutationCallback, getDiagnostics?: DiagnosticsProvider, getWriteGuardSettings?: () => WriteGuardSettings | undefined): AgentTool; export declare function createFlatEditTool(...args: Parameters): AgentTool; export {};