import { z } from 'zod'; import type { ToolHandler } from '../tool.js'; import type { FilesystemProvider } from './provider.js'; export declare const toolInfo: { readonly name: "replaceInFile"; readonly description: "Make targeted edits to an existing file with SEARCH/REPLACE blocks. Use writeToFile for new files or full-file replacement. Read the file first when you do not know the exact text to replace.\n\nSEARCH/REPLACE format:\n<<<<<<< SEARCH\n[exact content to find]\n=======\n[new content to replace with]\n>>>>>>> REPLACE\n\nRules:\n1. SEARCH content must match EXACTLY (character-for-character including whitespace)\n2. Each block replaces only first occurrence\n3. Include just enough lines for uniqueness (not too many, not too few)\n4. Keep blocks concise (don't include long unchanged sections)\n5. List blocks in order they appear in file\n6. Use multiple blocks for multiple independent changes\n\nSpecial operations:\n- Move code: Two blocks (delete from original + insert at new location)\n- Delete code: Empty REPLACE section"; readonly parameters: z.ZodObject<{ path: z.ZodString; diff: z.ZodString; }, z.core.$strip>; }; export declare const handler: ToolHandler; declare const _default: { handler: ToolHandler<{ readonly name: "replaceInFile"; readonly description: "Make targeted edits to an existing file with SEARCH/REPLACE blocks. Use writeToFile for new files or full-file replacement. Read the file first when you do not know the exact text to replace.\n\nSEARCH/REPLACE format:\n<<<<<<< SEARCH\n[exact content to find]\n=======\n[new content to replace with]\n>>>>>>> REPLACE\n\nRules:\n1. SEARCH content must match EXACTLY (character-for-character including whitespace)\n2. Each block replaces only first occurrence\n3. Include just enough lines for uniqueness (not too many, not too few)\n4. Keep blocks concise (don't include long unchanged sections)\n5. List blocks in order they appear in file\n6. Use multiple blocks for multiple independent changes\n\nSpecial operations:\n- Move code: Two blocks (delete from original + insert at new location)\n- Delete code: Empty REPLACE section"; readonly parameters: z.ZodObject<{ path: z.ZodString; diff: z.ZodString; }, z.core.$strip>; }, FilesystemProvider>; name: "replaceInFile"; description: "Make targeted edits to an existing file with SEARCH/REPLACE blocks. Use writeToFile for new files or full-file replacement. Read the file first when you do not know the exact text to replace.\n\nSEARCH/REPLACE format:\n<<<<<<< SEARCH\n[exact content to find]\n=======\n[new content to replace with]\n>>>>>>> REPLACE\n\nRules:\n1. SEARCH content must match EXACTLY (character-for-character including whitespace)\n2. Each block replaces only first occurrence\n3. Include just enough lines for uniqueness (not too many, not too few)\n4. Keep blocks concise (don't include long unchanged sections)\n5. List blocks in order they appear in file\n6. Use multiple blocks for multiple independent changes\n\nSpecial operations:\n- Move code: Two blocks (delete from original + insert at new location)\n- Delete code: Empty REPLACE section"; parameters: z.ZodObject<{ path: z.ZodString; diff: z.ZodString; }, z.core.$strip>; }; export default _default;