using System.Collections.Generic; using Artemis.Core.Modules; namespace Artemis.Core.Services; /// /// A service that allows you to register and retrieve data models /// public interface IDataModelService : IArtemisService { /// /// Add a data model to so that it is available to conditions and data bindings /// /// DataModelRegistration RegisterDataModel(DataModel dataModel); /// /// Remove a previously added data model so that it is no longer available /// void RemoveDataModel(DataModelRegistration registration); /// /// Returns a list of all registered data models /// List GetDataModels(); /// /// If found, returns the registered data model of type /// /// The type of the data model to find T? GetDataModel() where T : DataModel; /// /// If found, returns the data model of the provided plugin /// /// The plugin to find the data model of DataModel? GetPluginDataModel(PluginFeature pluginFeature); }