import { RequestActionInfo } from "./actions"; import { Phase, PhaseContext } from "./phases"; import { Scenario, ScenarioContext } from "./scenarios"; import { LoadTest } from "./tests"; declare type JSONValue = string | boolean | null | number; declare type JSONArray = (JSONValue | JSONArray | JSONObject)[]; interface JSONObject { [k: string]: JSONValue | JSONObject | JSONArray; } export declare type BaseWorkerData = JSONValue | JSONArray | JSONObject; export interface Reporter { onRunStart(run: LoadTest): void | Promise; onRunComplete(run: LoadTest): void | Promise; onRunError(run: LoadTest): void | Promise; onPhaseStart(phase: Phase, context: PhaseContext): void | Promise; onPhaseComplete(phase: Phase, context: PhaseContext): void | Promise; workerReporterFor(test: LoadTest, phase: Phase): WorkerReporter; onDataFromWorker(data: WorkerDataT): void | Promise; } export interface WorkerReporter { init(): void | Promise; complete(): WorkerDataT | Promise; onScenarioStart(scenario: Scenario, context: ScenarioContext): void; onScenarioComplete(scenario: Scenario, context: ScenarioContext): void; onScenarioError(scenario: Scenario, context: ScenarioContext): void; onRequestComplete(request: RequestActionInfo, scenario: Scenario, context: ScenarioContext): void; } export {};