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);
}
}