import fs = require("fs");
import * as Diff3 from "node-diff3";
import { IEndevorWorkspaceElement } from "..";
export declare class MergeUtils {
    static MINE_MARKUP: string;
    static ROOT_MARKUP: string;
    static SEPARATOR: string;
    static THEIR_MARKUP: string;
    static perform2WayMerge(mine: Buffer, theirs: Buffer, output: fs.PathLike, mineDescription: string, theirsDescription: string, encoding: BufferEncoding, endOfLine: string): boolean;
    static perform3WayMerge(root: Buffer, mine: Buffer, theirs: Buffer, output: fs.PathLike, mineDescription: string, theirsDescription: string, encoding: BufferEncoding, endOfLine: string, rootDescription?: string): boolean;
    static checkFileForMergeNotation(file: fs.PathLike, encoding: BufferEncoding): boolean;
    static markElementAsMerged(element: IEndevorWorkspaceElement): Promise<void>;
    private static toTrimmedArray;
    private static MergeStringArrays3Way;
    static MergeStringArrays2Way(mine: string[], theirs: string[], mineDescription: string, theirsDescription: string): Diff3.MergeResult;
    static getMergeCommand(localFile: string): string;
}
