import { EvaluationRuleEntity } from '../entities/evaluation-rule.entity';

export interface IEvaluationRuleRepository {
  findByTenantAndStage(tenantId: string | null, stage: string): Promise<EvaluationRuleEntity[]>;
  findAllByTenant(tenantId: string | null): Promise<EvaluationRuleEntity[]>;
  findById(id: string): Promise<EvaluationRuleEntity | null>;
  save(rule: EvaluationRuleEntity): Promise<EvaluationRuleEntity>;
  update(rule: EvaluationRuleEntity): Promise<EvaluationRuleEntity>;
  delete(id: string): Promise<void>;
}

export const EVALUATION_RULE_REPOSITORY = Symbol('IEvaluationRuleRepository');
