import { z } from "zod";
import type { AgentTool } from "@prestyj/agent";
import { type ToolOperations } from "./operations.js";
import { type ReadTracker } from "./read-tracker.js";
import { type GoalMode } from "../core/runtime-mode.js";
type MutationCallback = (filePath: string) => void | Promise<void>;
declare const EditParams: z.ZodObject<{
    file_path: z.ZodString;
    edits: z.ZodPreprocess<z.ZodArray<z.ZodObject<{
        old_text: z.ZodString;
        new_text: z.ZodString;
        replace_all: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>>;
    atomic: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare function createEditTool(cwd: string, readFiles?: ReadTracker, ops?: ToolOperations, planModeRefOrOnFileMutated?: {
    current: boolean;
} | {
    current: GoalMode;
} | MutationCallback, onFileMutated?: MutationCallback, onPreFileMutation?: MutationCallback, goalModeRefArg?: {
    current: GoalMode;
}): AgentTool<typeof EditParams>;
export {};
//# sourceMappingURL=edit.d.ts.map