using RealTimeGraphX.EventArguments; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RealTimeGraphX { /// /// Represents a graph component which passes data to some other type of component. /// /// The type of the out. /// public interface IGraphOutputComponent : IGraphComponent where TOut : IGraphComponent { /// /// Occurs when the property has changed. /// event EventHandler> OutputChanged; /// /// Gets the connected output . /// TOut Output { get; } /// /// Connects this component to another . /// /// The output component. /// Specifies whether this call was made from a component. void ConnectOutput(TOut output, bool fromOutput = false); /// /// Disconnects this component from the connected . /// /// Specifies whether this call was made from a component. void DisconnectOutput(bool fromOutput = false); } }