package jetbrains.mps.ide.migration;
/*Generated by MPS */
import org.jetbrains.mps.openapi.module.SModule;
import jetbrains.mps.migration.global.ProjectMigration;
import java.util.List;
import jetbrains.mps.migration.global.MigrationOptions;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.lang.migration.runtime.base.BaseScriptReference;
public interface MigrationManager {
boolean isMigrationRequired();
boolean isMigrationRequired(Iterable<SModule> modules);
boolean importVersionsUpdateRequired(Iterable<SModule> modules);
void doUpdateImportVersions(SModule module);
void executeScript(ScriptApplied s);
Iterable<ProjectMigration> getProjectMigrationsToApply();
List<ScriptApplied> getModuleMigrationsToApply(Iterable<SModule> modules);
List<ScriptApplied> getMissingMigrations();
int projectStepsCount(boolean isCleanup);
ProjectMigration nextProjectStep(MigrationOptions options, boolean cleanup);
int moduleStepsCount();
ScriptApplied nextModuleStep(@Nullable BaseScriptReference preferredId);
}