"""Base evaluator interface."""

from abc import ABC, abstractmethod
from typing import Dict, Any


class BaseEvaluator(ABC):
    """Base class for all evaluators."""
    
    def __init__(self, config):
        self.config = config
    
    @abstractmethod
    def evaluate(self, item: Dict[str, Any]) -> Dict[str, Any]:
        """
        Evaluate a single benchmark item.
        
        Args:
            item: Benchmark item with 'id', 'content', 'category', etc.
        
        Returns:
            Result dict with item_id, decisions, metrics, etc.
        """
        pass
