using System;
using System.Collections.Generic;

namespace QC.TestDataConvertor;

public interface ITestDataConvertor
{
	void StartConversion();

	void InitializeGlobalVariables(Dictionary<string, string> globalVariables);

	void WriteConfiguration(string serialNumber, string globalResult, DateTime startTime, DateTime stopTime, string testerID, string treeRID, string workstation, string mcn, string comments, string errorCode, string treeFileName, string treeType);

	void WriteTest(string testName, string testResult, string testErrorCode, TimeSpan testDuration);

	void WriteLoopInfo(string loopName, string loopValue);

	void WriteParameter(string parameterName, string unitOfMeasure, string charValue, double? lowerLimit, double? upperLimit, double? value);

	void WriteArrayParameter(string parameterName, string unitOfMeasure, string[] charValues, double?[] lowerLimits, double?[] upperLimits, double?[] values);

	void StopConversion();
}
