using AuthorBuddy.Web.Data; namespace AuthorBuddy.Web.Services; public interface ISettingsService { Task GetOllamaUrlAsync(); Task GetRagModelAsync(); Task GetStyleModelAsync(); Task GetSpellingModelAsync(); Task GetThemeAsync(); Task SaveOllamaUrlAsync(string url); Task SaveRagModelAsync(string model); Task SaveStyleModelAsync(string model); Task SaveSpellingModelAsync(string model); Task SaveThemeAsync(string theme); Task GetLektorSystemPromptAsync(); Task GetFactCheckTemplateAsync(); Task GetSpellingPromptAsync(); Task GetAdvocatusDiaboliPromptAsync(); Task GetHookFinderPromptAsync(); Task GetEli5PromptAsync(); Task SaveLektorSystemPromptAsync(string prompt); Task SaveFactCheckTemplateAsync(string prompt); Task SaveSpellingPromptAsync(string prompt); Task SaveAdvocatusDiaboliPromptAsync(string prompt); Task SaveHookFinderPromptAsync(string prompt); Task SaveEli5PromptAsync(string prompt); Task GetLanguageAsync(); Task SaveLanguageAsync(string language); Task> GetUsersAsync(); Task GetCurrentUserAsync(); void SetCurrentUser(int userId); Task CreateUserAsync(string name); int? CurrentProjectId { get; set; } string? CurrentFilePath { get; set; } string? PendingAssistantInput { get; set; } string? PendingAssistantOutput { get; set; } Task GetLastProjectIdAsync(); Task SaveLastProjectIdAsync(int projectId); Task LoadProjectSettingsAsync(); Task InitializeAsync(); }