package jetbrains.mps.lang.migration.runtime.base;

/*Generated by MPS */

import jetbrains.mps.annotations.GeneratedClass;
import org.jetbrains.mps.openapi.module.SModule;

@GeneratedClass(node = "528ff3b9-5fc4-40dd-931f-c6ce3650640e/r:f69c3fa1-0e30-4980-84e2-190ae44e4c3d(jetbrains.mps.lang.migration.runtime/jetbrains.mps.lang.migration.runtime.base)/3309033097909944447", model = "528ff3b9-5fc4-40dd-931f-c6ce3650640e/r:f69c3fa1-0e30-4980-84e2-190ae44e4c3d(jetbrains.mps.lang.migration.runtime/jetbrains.mps.lang.migration.runtime.base)")
public interface MigrationScript extends BaseScript {
  MigrationScriptReference getReference();
  Iterable<MigrationScriptReference> executeAfter();
  Iterable<MigrationScriptReference> requiresData();
  boolean isRerunnable();

  void setDataCollector(DataCollector dataCollector);
  Iterable<Problem> check(SModule module);
}
