using DiscordBotCore.PluginManagement.Models; namespace DiscordBotCore.PluginManagement; public interface IPluginManager { Task> GetPluginsList(); Task GetPluginDataByName(string pluginName); Task GetPluginDataById(int pluginId); Task AppendPluginToDatabase(LocalPlugin pluginData); Task> GetInstalledPlugins(); Task IsPluginInstalled(string pluginName); 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); }