import { ToolResult } from "../types"; interface ChangeOperation { type: 'keep' | 'remove' | 'add'; lines: string[]; lineNumber?: number; } export declare class PatchEditor { private static readonly CONTEXT_LINES; private static readonly FUZZ_THRESHOLD; /** * Apply a patch using context-based matching similar to OpenCode */ applyPatch(filePath: string, operations: ChangeOperation[]): Promise; /** * Create a patch from search/replace with context */ createContextualPatch(filePath: string, searchText: string, replaceText: string, contextLines?: number): Promise; /** * Smart string replacement using contextual matching */ smartReplace(filePath: string, oldStr: string, newStr: string): Promise; private processOperations; private findContextualMatch; private findAndKeepLines; private findAndRemoveLines; private linesMatch; private fuzzyMatchLines; private calculateSimilarity; private calculateSimilarityInPlace; private stringSimilarity; private levenshteinDistance; private levenshteinDistanceOptimized; private normalizeForComparison; private generateUnifiedDiff; private generateHunks; private findChanges; } export {};