import { Diff } from 'diff-match-patch'; import { MergeConflictFormatter } from './conflict-formatters'; export declare const CONFLICT_MARKER_LENGTH = 7; export interface Diff3Options { diffFunction?: (a: string, b: string) => Diff[]; conflictFormatter?: MergeConflictFormatter; aLabel?: string; bLabel?: string; } export declare class Diff3 { private conflictFormatter; private readonly lines; private currentLine; private readonly matches; private readonly mergedChunks; private readonly options?; constructor(a: string, o: string, b: string, options?: Diff3Options); getMerged(): string; private merge; /** * Find the offset from the current line to the next mismatch * @returns the number of lines to the next mismatch, or undefined if there is no mismatch */ private findMismatch; private findMatch; private pushRemainingChunk; private pushChunk; } /** * Splits a string into lines, preserving the newline character at the end of each line. * @param s the string to split * @returns an array of lines */ export declare function splitLines(s: string): string[];