import {
  EvaluationRuleTypeValue,
  EvaluationFailureActionValue,
} from '../../domain/entities/evaluation-rule.entity';

export interface CreateEvaluationRuleDto {
  stage: string;
  ruleType: EvaluationRuleTypeValue;
  name: string;
  description?: string;
  config: Record<string, unknown>;
  priority?: number;
  failureAction?: EvaluationFailureActionValue;
}

export interface UpdateEvaluationRuleDto {
  stage?: string;
  ruleType?: EvaluationRuleTypeValue;
  name?: string;
  description?: string;
  config?: Record<string, unknown>;
  priority?: number;
  failureAction?: EvaluationFailureActionValue;
  enabled?: boolean;
}

export interface TestEvaluationDto {
  stage: string;
  responseText: string;
  collectedInfo?: Record<string, unknown>;
  assessmentResult?: {
    topRecommended: string[];
    suitabilityScore: number;
  };
  turnCount?: number;
  messageCount?: number;
}
