using System.Runtime.InteropServices;

namespace QC.QSPRAutomationInterface;

[ComVisible(true)]
public interface IQSPRApplication
{
	int MinimizeApp { get; set; }

	int ReceiveQSPRDebugMessages { get; set; }

	XTTDocument ActiveDocument { get; }

	int IsQsprProcessAlive { get; }

	int CloseHidesWindow { get; set; }

	int EnableRegexSupport { get; set; }

	int ErrorsExist { get; set; }

	int SecurityLevel { get; set; }

	XTTDocument OpenXTT(string treeFilePath);

	XTTDocument NewXTT();

	int SetUUTId(int phoneIndex, string uutID);

	int Exit();

	int SetUserInput(string sCaption, string sLabel, string sUserInput);

	int SetGlobalVariable(string globalVariableName, string globalVariableValue);

	string GetGlobalVariable(string globalVariableName);

	int AddDllPath(string dllPath);

	int EnableDllSearchPaths(int enable);

	string GetVersion();

	int GetProcessID();

	int SupressAllMessages(int supress);

	string LastCallInfo();

	string GetLastError();

	XTTDocument LoadTestPlan(long id, int versionNumber, string databaseServer, string databaseName);

	XTTDocument LoadTestPlanByName(string name, int versionNumber, string databaseServer, string databaseName);

	int SetTesterConfigItem(string name, string value, int addToResults);
}
