// /**
//  * Created by jd on 18/03/2016.
//  */
//
// export interface IFlowNetwork
// {
//     name:string;
//     components:IFlowComponent[];
//     connections?:IFlowConnection[];
//     iips?:IFlowInformationPacket[];
// }
//
//
// export interface IFlowVariableType
// {
//     name:string;
//     color:string;
//     defaultValue:Object;
// }
//
// export interface IFlowVariable
// {
//     name:string;
//     type:IFlowVariableType;
//     tolltip?:string;
//     category?:string;
// }
//
//
// interface IFlowInformationPacket
// {
//     data:Object;
//     component:IFlowComponent;
//     port:IFlowPort;
// }
//
// export enum IFlowComponentType
// {
//     NODE,
//     EVENT,
//     VARIABLE,
//     FUNCTION
// }
//
// export interface IFlowComponent
// {
//     id:number;
//     description:string;
//     type:string;
//     layout?:IFlowLayout;
//     icon?:string;
//     color?:string;
//     inputPorts?:IFlowInputPort[];
//     outputPorts?:IFlowOutputPort[];
//     componentType?:string;
//     value?:Object;
// }
//
// interface IFlowPort
// {
//     name:string;
//     type:string;
// }
//
// interface IFlowInputPort extends IFlowPort
// {
//     description?:string;
// }
//
// interface IFlowOutputPort extends IFlowPort
// {
//     arrayPort?:boolean;
//     optional?:boolean;
// }
//
// interface IFlowConnection
// {
//     source:IFlowConnectionData;
//     destination:IFlowConnectionData;
// }
//
// interface IFlowConnectionData
// {
//     componentName:string;
//     ComponentPort:string;
// }
//
//
// interface IFlowLayout
// {
//     isDraging?:boolean;
//     canDrag?:boolean;
//     x:number;
//     y:number;
// }