using System.Collections.Generic; namespace Jovian.SaveSystem { /// /// Manages save slot allocation, session tracking, and auto-save rotation. /// public interface ISaveSlotManager { SaveSlotInfo AllocateManualSlot(string sessionId); SaveSlotInfo AllocateAutoSlot(string sessionId); SaveSlotInfo AllocateQuickSlot(string sessionId); IReadOnlyList GetSlots(string sessionId); IReadOnlyList GetAllSessions(); string CreateSession(); void DeleteSlot(SaveSlotInfo slot); void DeleteSession(string sessionId); bool HasAnySaves(); void UpdateSlotMetadata(SaveSlotInfo slot, long timestampUtc, int saveVersion); void PersistIndex(); } }