using System; using System.Collections.Generic; namespace SharedLibraryCore.Interfaces { /// <summary> /// defines the capabilities of the plugin importer /// </summary> public interface IPluginImporter { /// <summary> /// discovers C# assembly plugin and command types /// </summary> /// <returns>tuple of IPlugin implementation type definitions, and IManagerCommand type definitions</returns> (IEnumerable<Type>, IEnumerable<Type>, IEnumerable<Type>) DiscoverAssemblyPluginImplementations(); /// <summary> /// discovers the script plugins /// </summary> /// <returns>initialized script plugin collection</returns> IEnumerable<IPlugin> DiscoverScriptPlugins(); } }