from __future__ import annotations

from typing import Protocol

from packages.domain import ClassificationJob


class ClassificationJobRepository(Protocol):
    def create(self, job: ClassificationJob) -> ClassificationJob:
        """Persist a classification job and return it."""

    def get(self, job_id: str) -> ClassificationJob | None:
        """Retrieve a classification job by ID."""

    def update(self, job: ClassificationJob) -> ClassificationJob:
        """Update a classification job and return it."""
