--- /dev/null
+package jalview.bin;
+
+import jalview.gui.AlignFrame;
+import jalview.javascript.JalviewLiteJsApi;
+
+/**
+ * JAL-3369 JalviewJS API BH 2019.07.17
+ *
+ * @author hansonr
+ *
+ */
+public interface JalviewJSApi extends JalviewLiteJsApi
+{
+
+ void showOverview();
+
+ /**
+ * process commandline arguments after the JavaScript application has started
+ *
+ * @param args
+ * @return
+ */
+ Object parseArguments(String[] args);
+
+
+ /**
+ * Open a new Tree panel on the desktop statically. Params are standard (not
+ * set by Groovy). No dialog is opened.
+ *
+ * @param af
+ * may be null
+ * @param treeType
+ * @param modelName
+ * @return null, or the string "label.you_need_at_least_n_sequences" if number
+ * of sequences selected is inappropriate
+ */
+ public Object openTreePanel(AlignFrame af, String treeType,
+ String modelName);
+
+ /**
+ * public static method for JalviewJS API to open a PCAPanel without
+ * necessarily using a dialog.
+ *
+ * @param af
+ * may be null
+ * @param modelName
+ * @return the PCAPanel, or the string "label.you_need_at_least_n_sequences"
+ * if number of sequences selected is inappropriate
+ */
+ public Object openPcaPanel(AlignFrame af, String modelName);
+
+}