import { MergeConflict } from 'simple-git';
import type ProgressCallback from '../../../interfaces/ProgressCallback.interface';
import { ResolveConflicts, MergeStatus, PrepareOptions } from '../../../interfaces/MergeTool.interface';
export default class MergeTool {
    private cwd;
    private gitDriver;
    constructor(cwd: string);
    init(): Promise<void>;
    prepareToMerge({ base, local, remote }: PrepareOptions, onProgressCallback?: ProgressCallback): Promise<void>;
    merge(): Promise<{
        status: MergeStatus;
        conflicts: MergeConflict[];
    }>;
    resolveConflictsForDeletedFiles(resolve: ResolveConflicts, { status, conflicts }: {
        status: MergeStatus;
        conflicts: MergeConflict[];
    }): MergeStatus;
    applyMergeResult(dest: string, mergeStatus: MergeStatus, resolve: ResolveConflicts): Promise<void>;
    generateMergeStatusMessage(status: MergeStatus, resolve: ResolveConflicts): string;
}
