using System.Runtime.InteropServices;

namespace QC.QSPRAutomationInterface;

[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
[ComVisible(true)]
public interface IQSPRApplicationEvents
{
	[DispId(1)]
	void QsprStarted();

	[DispId(2)]
	void QsprExited(int exitCode);

	[DispId(3)]
	void QsprHidden(bool hiddenOkay);

	[DispId(4)]
	void QsprShown(bool shownOkay);

	[DispId(5)]
	void GlobalVariableModified(string globalVariableName, string globalVariableValue);

	[DispId(6)]
	void DebugMessage(string windowName, string debugText, int traceLevel);

	[DispId(7)]
	void TestMessageReceived(object message);
}
