using System;
namespace DevComponents.AdvTree
{
	/// 
	/// Specifies the notification interface that node uses to communicate status changes to it's parent tree.
	/// 
	public interface INodeNotify
	{
		/// Called when Node.Expanded property has changed.
		/// Node which Expanded property has changed.
		void ExpandedChanged(Node node);
		/// Called before node is collapsed
		/// Context information.
		void OnBeforeCollapse(AdvTreeNodeCancelEventArgs e);
		/// Called before node is expanded
		/// Context information.
		void OnBeforeExpand(AdvTreeNodeCancelEventArgs e);
		/// Called after node is collapsed.
		/// Context information.
		void OnAfterCollapse(AdvTreeNodeEventArgs e);
		/// Called after node is expanded
		/// Context information
		void OnAfterExpand(AdvTreeNodeEventArgs e);
	}
}