using System.Runtime.InteropServices;

namespace QC.QSPRAutomationInterface;

[ComVisible(true)]
public interface IXTTDocument
{
	[DispId(4)]
	int GoNoGoStatus { get; }

	[DispId(1)]
	int GoNoGo();

	[DispId(3)]
	int CloseXTT();

	[DispId(5)]
	int SetTestParameterInAllTests(string ParamName, object newVal);

	[DispId(6)]
	int SetSkipRunSequence(string TestName, int newVal);

	[DispId(7)]
	int SetTestParameter(string TestName, string ParamName, object newVal);

	[DispId(8)]
	int RenameTest(string oldTestName, string newTestName);

	[DispId(9)]
	int ImportTests(string TestList, string treeFilePath, string DestinationFolder);

	[DispId(10)]
	int DeleteTest(string TestName);

	[DispId(11)]
	int SetRootName(string RootFolderName);

	[DispId(12)]
	int Save();

	[DispId(13)]
	int SaveAs(string treeFilePath);

	[DispId(14)]
	int XTTStop();

	[DispId(15)]
	int XTTAbort();

	[DispId(16)]
	int SetTestParametersInFolder(string paramName, string paramValue, string testTreeFolderName);

	[DispId(17)]
	int ShowWindow();

	[DispId(18)]
	int HideWindow();

	[DispId(19)]
	TestNode CreateFolder(string subFolderName, string destinationFolderName);

	[DispId(20)]
	int SetLoopType(string folderName, int countdownValue, string parameterName, string loopValue, int loopType);

	[DispId(32)]
	int SetLoopTypeInFolder(string folderName, int countdownValue, string parameterName, string loopValue, int loopType, string inFolderName);

	[DispId(21)]
	int SetFolderPosition(int insertPosition);

	[DispId(22)]
	int RemoveRootFolder(int removeRoot);

	[DispId(23)]
	int SetUUTId(int phoneindex, string UUID);

	[DispId(24)]
	int SetUserInput(string sCaption, string sLabel, string sUserInput);

	[DispId(25)]
	int SetImportTestsPosition(int pos);

	[DispId(26)]
	int SetNodeDescription(string nodeName, string description);

	[DispId(27)]
	int SetNodeNotes(string nodeName, string nodeNotes);

	[DispId(28)]
	string GetNodeNotes(string nodeName);

	[DispId(29)]
	string GetNodeDescription(string nodeName);

	[DispId(30)]
	int SyncTest(string testName);

	[DispId(31)]
	int GetAllTestDoneMessages(int getAllTestDoneMessages);

	[DispId(33)]
	int AddCTSDll(string dllPath);

	[DispId(34)]
	int AddSUITEDll(string dllPath);

	[DispId(35)]
	int AddScriptTest(string filePath);

	[DispId(36)]
	int AddLabViewVI(string filePath);

	[DispId(37)]
	int AddDotNetDll(string dllPath);

	[DispId(38)]
	TestNode GetTestNode(string testName);

	[DispId(39)]
	int AddScriptParameter(string scriptTestName, string parameterName, int IOType, int dataType, string value, string unit, string description, string lowerLimit, string upperLimit);

	[DispId(40)]
	int RegisterTree(string serverName, string databaseName, int regsiterWithoutDatabase);

	[DispId(41)]
	int SetParameterLimits(string TestName, string ParamName, string LowerLimit, string UpperLimit);

	[DispId(42)]
	int SaveAsQSPRFormat(string treeFilePath);

	[DispId(43)]
	int RunTest(string TestName);

	[DispId(44)]
	int SelectTestsByIndex(string guids);

	[DispId(45)]
	int SelectTestsByName(string names);

	[DispId(46)]
	string GetLoopValues(string TestName, string LoopName);

	[DispId(47)]
	int ResumeTree();

	[DispId(48)]
	int EnableLoopValues(string TestName, string LoopName, string Values, int Enable);

	[DispId(97)]
	string GetLastError();

	[DispId(98)]
	string LastCallInfo();
}
