"""
Constraint checking and candidate assessment system.

This module provides inheritance-based components for checking candidates
against constraints, with different implementations available.
"""

from .base_constraint_checker import (
    BaseConstraintChecker,
    ConstraintCheckResult,
)

# Legacy imports for backward compatibility
from .constraint_checker import ConstraintChecker
from .dual_confidence_checker import DualConfidenceChecker
from .evidence_analyzer import ConstraintEvidence, EvidenceAnalyzer
from .rejection_engine import RejectionEngine
from .strict_checker import StrictChecker
from .threshold_checker import ThresholdChecker

__all__ = [
    # Base classes
    "BaseConstraintChecker",
    "ConstraintCheckResult",
    # Concrete implementations
    "DualConfidenceChecker",
    "ThresholdChecker",
    "StrictChecker",
    # Supporting components
    "EvidenceAnalyzer",
    "ConstraintEvidence",
    "RejectionEngine",
    # Legacy
    "ConstraintChecker",
]
