import { TargetCondition, TargetKeyType } from "../../model/model"; import Evaluator, { EvaluatorContext, EvaluatorRequest } from "../evalautor/Evaluator"; import { Clock } from "../../util/TimeUtil"; export default interface ConditionMatcher { matches(request: EvaluatorRequest, context: EvaluatorContext, condition: TargetCondition): boolean; } export declare class ConditionMatcherFactory { private readonly userConditionMatcher; private readonly eventConditionMatcher; private readonly segmentConditionMatcher; private readonly experimentConditionMatcher; private readonly cohortConditionMatcher; private readonly userTargetConditionMatcher; constructor(evaluator: Evaluator, clock: Clock); getMatcher(type: TargetKeyType): ConditionMatcher; }