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();
}
}