using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.Editors { /// /// Represents the base interface for all configurable types. /// public interface IConfigurable { /// /// Gets a configuration object representing the configurable properties. This configuration can be serialized to a stream or file, and later be loaded and applied to the configurable object. /// /// IConfiguration GetConfiguration(); /// /// Applies the specified configuration with an optional animation if supported by the configurable type. /// /// The configuration. /// The animation. void SetConfiguration(IConfiguration configuration, ConfigurationAnimation animation); } }