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>;
/** Post-write diagnostics provider (LSP). Non-empty results are appended to successful tool output. */
type DiagnosticsProvider = (filePath: string, content: string) => Promise<string>;
declare const WriteParams: z.ZodObject<{
    file_path: z.ZodString;
    content: z.ZodString;
}, z.core.$strip>;
export declare function createWriteTool(cwd: string, readFiles?: ReadTracker, ops?: ToolOperations, planModeRefOrOnFileMutated?: {
    current: boolean;
} | {
    current: GoalMode;
} | MutationCallback, onFileMutated?: MutationCallback, onPreFileMutation?: MutationCallback, getDiagnostics?: DiagnosticsProvider, goalModeRefArg?: {
    current: GoalMode;
}): AgentTool<typeof WriteParams>;
export {};
//# sourceMappingURL=write.d.ts.map