import type { ToolDefinition } from "../agent/types.js";
/**
 * Minimal options needed by the edit_file tool. `AgentConfig` satisfies
 * this structurally, so passing the full config keeps working.
 */
export interface EditFileToolOptions {
    workspaceRoot: string;
}
export interface EditFileHooks {
    /**
     * Called after a successful edit. If the hook returns a non-empty string,
     * it is appended to the tool's success message — used to surface post-edit
     * diagnostics (e.g. type-check errors) so the model can fix bad edits on
     * the next turn.
     */
    afterEdit?: ((filePath: string, content: string) => void | string | Promise<void | string>) | undefined;
}
export declare function createEditFileTool(options: EditFileToolOptions, hooks?: EditFileHooks): ToolDefinition;
//# sourceMappingURL=edit-file.d.ts.map