using DiscordBotCore.PluginManagement.Models; using DiscordBotCore.Utilities.Responses; namespace DiscordBotCore.PluginManagement; public interface IPluginManager { Task> GetPluginsList(); Task> GetPluginDataByName(string pluginName); Task> GetPluginDataById(int pluginId); Task> AppendPluginToDatabase(LocalPlugin pluginData); Task> GetInstalledPlugins(); Task> GetDependencyLocation(string dependencyName); Task> GetDependencyLocation(string dependencyName, string pluginName); string GenerateDependencyRelativePath(string pluginName, string dependencyPath); Task> InstallPlugin(OnlinePlugin plugin, IProgress progress); Task SetEnabledStatus(string pluginName, bool status); Task> UninstallPluginByName(string pluginName); Task> GetLocalPluginByName(string pluginName); }