Try your search with a different keyword or use * as a wildcard.
using Nop.Core.Domain.Customers;
namespace Nop.Services.Plugins;
/// 
/// Represents a plugin service
///  
public partial interface IPluginService
{
    /// 
    /// Get plugin descriptors
    ///  
    /// The type of plugins to get 
    /// Filter by load plugins mode
    /// Filter by  customer; pass null to load all records
    /// Filter by store; pass 0 to load all records
    /// Filter by plugin group; pass null to load all records
    /// Filter by plugin friendly name; pass null to load all records
    /// Filter by plugin author; pass null to load all records
    /// System name of the plugin to define dependencies
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the plugin descriptors
    ///  
    Task> GetPluginDescriptorsAsync(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly,
        Customer customer = null, int storeId = 0, string group = null, string dependsOnSystemName = "", string friendlyName = null, string author = null) where TPlugin : class, IPlugin;
    /// 
    /// Get a plugin descriptor by the system name
    ///  
    /// The type of plugin to get 
    /// Plugin system name
    /// Load plugins mode
    /// Filter by  customer; pass null to load all records
    /// Filter by store; pass 0 to load all records
    /// Filter by plugin group; pass null to load all records
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the >Plugin descriptor
    ///  
    Task GetPluginDescriptorBySystemNameAsync(string systemName,
        LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly,
        Customer customer = null, int storeId = 0, string group = null) where TPlugin : class, IPlugin;
    /// 
    /// Get plugins
    ///  
    /// The type of plugins to get 
    /// Filter by load plugins mode
    /// Filter by  customer; pass null to load all records
    /// Filter by store; pass 0 to load all records
    /// Filter by plugin group; pass null to load all records
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the plugins
    ///  
    Task> GetPluginsAsync(LoadPluginsMode loadMode = LoadPluginsMode.InstalledOnly,
        Customer customer = null, int storeId = 0, string group = null) where TPlugin : class, IPlugin;
    /// 
    /// Find a plugin by the type which is located into the same assembly as a plugin
    ///  
    /// Type
    /// Plugin 
    IPlugin FindPluginByTypeInAssembly(Type typeInAssembly);
    /// 
    /// Get plugin logo URL
    ///  
    /// Plugin descriptor
    /// 
    /// A task that represents the asynchronous operation
    /// The task result contains the logo URL
    ///  
    Task GetPluginLogoUrlAsync(PluginDescriptor pluginDescriptor);
    /// 
    /// Prepare plugin to the installation
    ///  
    /// Plugin system name
    /// Customer
    /// Specifies whether to check plugin dependencies
    /// A task that represents the asynchronous operation 
    Task PreparePluginToInstallAsync(string systemName, Customer customer = null, bool checkDependencies = true);
    /// 
    /// Prepare plugin to the uninstallation
    ///  
    /// Plugin system name
    /// A task that represents the asynchronous operation 
    Task PreparePluginToUninstallAsync(string systemName);
    /// 
    /// Prepare plugin to the removing
    ///  
    /// Plugin system name
    /// A task that represents the asynchronous operation 
    Task PreparePluginToDeleteAsync(string systemName);
    /// 
    /// Reset changes
    ///  
    void ResetChanges();
    /// 
    /// Clear installed plugins list
    ///  
    void ClearInstalledPluginsList();
    /// 
    /// Install plugins
    ///  
    /// A task that represents the asynchronous operation 
    Task InstallPluginsAsync();
    /// 
    /// Uninstall plugins
    ///  
    /// A task that represents the asynchronous operation 
    Task UninstallPluginsAsync();
    /// 
    /// Delete plugins
    ///  
    /// A task that represents the asynchronous operation 
    Task DeletePluginsAsync();
    /// 
    /// Update plugins
    ///  
    /// A task that represents the asynchronous operation 
    Task UpdatePluginsAsync();
    /// 
    /// Check whether application restart is required to apply changes to plugins
    ///  
    /// Result of check 
    bool IsRestartRequired();
    /// 
    /// Get names of incompatible plugins
    ///  
    /// List of plugin names 
    IDictionary GetIncompatiblePlugins();
    /// 
    /// Get all assembly loaded collisions
    ///  
    /// List of plugin loaded assembly info 
    IList GetAssemblyCollisions();
}