using DramaLing.Api.Data; using DramaLing.Api.Models.Entities; namespace DramaLing.Api.Services.AI.Generation; public interface IGenerationStateManager { Task UpdateRequestStatusAsync(Guid requestId, string overallStatus, string geminiStatus, string replicateStatus); Task UpdateGeminiResultAsync(Guid requestId, string optimizedPrompt); Task CompleteRequestAsync(Guid requestId, Guid imageId, long totalProcessingTimeMs); Task MarkRequestAsFailedAsync(Guid requestId, string stage, string? errorMessage); }