"""Auto-generated stub for module: contracts."""
from typing import Any

from .schemas import MetricPayload

# Classes
class ActionTrackerProtocol:
    # Minimal tracker interface used by eval flows.

    def log_error(self: Any, file_path: str, module: str, message: str) -> Any:
        """
        Persist an evaluation error entry for observability.
        
                Args:
                    file_path: Source file associated with the error.
                    module: Logical module or location string.
                    message: Error details to persist.
        
                Returns:
                    Tracker-specific result, if any.
        """
        ...

    def save_evaluation_results(self: Any, payload: Any) -> Any:
        """
        Persist normalized evaluation payload records.
        
                Args:
                    payload: Normalized metric payload records to persist.
        
                Returns:
                    Tracker-specific result, if any.
        """
        ...

    def update_status(self: Any, step_code: str, status: str, description: str) -> None:
        """
        Persist lifecycle status for a specific evaluation step.
        
                Args:
                    step_code: Evaluation lifecycle step identifier.
                    status: Status level such as ``OK`` or ``ERROR``.
                    description: Human-readable status description.
        
                Returns:
                    Tracker-specific result, if any.
        """
        ...

class InferenceRunnerProtocol:
    # Inference runner callable contract.
    #
    #     Runners usually return tuples like:
    #     - (predictions, outputs, targets) for classification
    #     - (outputs, targets) for detection/segmentation

    ...
class ModelLoaderProtocol:
    # Runtime model loader callable contract.

    ...
class ResultFormatterProtocol:
    # Result formatter callable contract.

    ...
class SplitEvaluatorProtocol:
    # Single split evaluator callable contract.

    ...
