package com.atlassian.bitbucket.scm.git.command.merge.conflict;

import javax.annotation.Nonnull;

public interface GitMergeConflictVisitor {

    void visit(@Nonnull AddAddGitMergeConflict conflict);

    void visit(@Nonnull AddRenameGitMergeConflict conflict);

    void visit(@Nonnull ContentGitMergeConflict conflict);

    void visit(@Nonnull ConvergentRenameGitMergeConflict conflict);

    void visit(@Nonnull DeleteModifyGitMergeConflict conflict);

    void visit(@Nonnull DeleteRenameGitMergeConflict conflict);

    void visit(@Nonnull DirectoryFileGitMergeConflict conflict);

    void visit(@Nonnull DivergentRenameGitMergeConflict conflict);

    void visit(@Nonnull FileDirectoryGitMergeConflict conflict);

    void visit(@Nonnull ModifyDeleteGitMergeConflict conflict);

    void visit(@Nonnull RenameAddGitMergeConflict conflict);

    void visit(@Nonnull RenameDeleteGitMergeConflict conflict);

    void visit(@Nonnull SubmoduleGitMergeConflict conflict);

    void visit(@Nonnull UnknownGitMergeConflict conflict);
}
