package jetbrains.mps.refactoring.framework;
/*Generated by MPS */
import java.util.List;
import org.jetbrains.mps.openapi.model.SModel;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.ide.findusages.model.SearchResults;
public interface IRefactoring {
String getUserFriendlyName();
Class getOverridenRefactoringClass();
IRefactoringTarget getRefactoringTarget();
boolean init(RefactoringContext refactoringContext);
void refactor(RefactoringContext refactoringContext);
List<SModel> getModelsToGenerate(RefactoringContext refactoringContext);
void doWhenDone(RefactoringContext refactoringContext);
@Nullable
SearchResults getAffectedNodes(RefactoringContext refactoringContext);
}