import { EvaluatorContext, EvaluatorEvaluation } from "../Evaluator"; import { Experiment, ParameterConfiguration, Variation, VariationId, VariationKey } from "../../../model/model"; import ExperimentRequest from "./ExperimentRequest"; export default class ExperimentEvaluation implements EvaluatorEvaluation { readonly reason: string; readonly targetEvaluations: EvaluatorEvaluation[]; readonly experiment: Experiment; readonly variationId: VariationId | undefined; readonly variationKey: VariationKey; readonly config: ParameterConfiguration | undefined; constructor(reason: string, targetEvaluations: EvaluatorEvaluation[], experiment: Experiment, variationId: VariationId | undefined, variationKey: VariationKey, config: ParameterConfiguration | undefined); with(reason: string): ExperimentEvaluation; static of(request: ExperimentRequest, context: EvaluatorContext, variation: Variation, reason: string): ExperimentEvaluation; static ofDefault(request: ExperimentRequest, context: EvaluatorContext, reason: string): ExperimentEvaluation; }