+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+
+package jalview.fts.api;
+
+import javax.swing.JTable;
+
+/**
+ *
+ * @author tcnofoegbu
+ *
+ */
+public interface GFTSPanelI
+{
+
+ /**
+ * Action performed when a text is entered in the search field.
+ */
+ public void searchAction();
+
+ /**
+ * Action performed when search results are selected and the 'ok' button is
+ * pressed.
+ */
+ public void okAction();
+
+ /**
+ * Return the entered text
+ *
+ * @return the entered text
+ */
+ public String getTypedText();
+
+ /**
+ * The JTable for presenting the query result
+ *
+ * @return JTable
+ */
+ public JTable getResultTable();
+
+ /**
+ * Return the title to display on the search interface main panel
+ *
+ * @return String - the title
+ */
+ public String getFTSFrameTitle();
+
+ /**
+ * Return a singleton instance of FTSRestClientI
+ *
+ * @return FTSRestClientI
+ */
+ public FTSRestClientI getFTSRestClient();
+
+ /**
+ * Set error message when one occurs
+ *
+ * @param message
+ * the error message to set
+ */
+ public void setErrorMessage(String message);
+
+ /**
+ * Updates the title displayed on the search interface's main panel
+ *
+ * @param newTitle
+ */
+ public void updateSearchFrameTitle(String newTitle);
+
+ /**
+ * Controls the progress spinner, set to 'true' while search operation is in
+ * progress and 'false' after it completes
+ *
+ * @param isSearchInProgress
+ */
+ public void setSearchInProgress(Boolean isSearchInProgress);
+}