export interface TextReplacement {
    matchIndex: number;
    matchLength: number;
    newText: string;
}
export declare function applyReplacements(content: string, replacements: TextReplacement[], offset?: number): string;
/**
 * Apply replacements matched against `baseContent` to `originalContent` while
 * preserving unchanged line blocks from the original.
 *
 * This is useful when `baseContent` is a normalized view of the original. Each
 * replacement is widened to the lines it actually touches, those touched lines
 * are rewritten from the normalized base, and all other lines are copied back
 * from `originalContent`. The actual replacement ranges drive preservation so
 * duplicate normalized lines cannot be aligned to the wrong occurrence.
 */
export declare function applyReplacementsPreservingUnchangedLines(originalContent: string, baseContent: string, replacements: TextReplacement[]): string;
//# sourceMappingURL=edit-diff-preserve.d.ts.map