namespace Lattice.Core.Docking.Serialization;
///
/// Определяет контракт для объектов, которые могут предоставлять состояние для сериализации.
///
public interface ISerializableLayout
{
///
/// Получает состояние объекта для сериализации.
///
///
/// Объект состояния, готовый к сериализации.
///
object GetSerializableState();
///
/// Восстанавливает состояние объекта из десериализованного объекта.
///
/// Десериализованное состояние.
///
/// Выбрасывается, когда равен null.
///
void RestoreFromState(object state);
}