from __future__ import annotations from typing import Protocol from time_machine.domain.models import EncounterSession, SavedEncounter class EncounterStore(Protocol): def save_encounter(self, encounter: EncounterSession) -> SavedEncounter: ... def load_encounter(self, encounter_id: str) -> EncounterSession: ... def list_saved(self, session_id: str) -> list[SavedEncounter]: ...