import { CompoundMeasurement , MeasurementKind , TestEvent , TraceData } from '../types/Report' ; import { ReportUtils } from '../utils/ReportUtils' ; import { TestScriptError } from './TestScriptError' ; export type Worker = { id : string ; name : string ; iteration : number ; } ; export class WorkerReport { public id : string ; public name : string ; public iteration : number ; constructor ( id , name ) { this . id = id ; this . name = name ; } setIteration ( iteration ) { this . iteration = iteration ; } } export interface IReporter { reset ( stepName ) : void ; responseCode : string ; stepName : string ; worker ? : WorkerReport ; report ? : ReportUtils ; param { string } measurement param { string } value param { string } label param { string } responseCode returns { Promise < void > } memberof addMeasurement ( measurement , value , label ? , errorMessage ? ) : void ; addCompoundMeasurement ( measurement , value , label ) : void ; /**
     * Flushes measurements to the collection service
     */ flushMeasurements ( ) : Promise < void > ; param { * } traceData param { string } label param { string } responseCode returns { Promise < void > } memberof addTrace ( traceData , label ) : void ; testLifecycle ( stage , label , subtitle ? , timing ? , errorMessage ? , arg ? ) : void ; testAssertionError ( err ) : void ; testStepError ( err ) : void ; testInternalError ( message , err ) : void ; testScriptConsole ( method , message ? , ... optionalParams ) : void ; addListener ? ( event , listener ) : this ; on ? ( event , listener ) : this ; once ? ( event , listener ) : this ; setWorker ? ( worker ) : void ; sendReport ? ( msg , type ) : void ; }