/** Angular2 */ import * as ng from "@angular/core"; export declare const GENERIC_DIAGRAM_NODE_DEFAULT_INPUTS: string[]; export declare const GENERIC_DIAGRAM_NODE_DEFAULT_OUTPUTS: string[]; /** * GenericDiagramNodeComponent */ export interface GenericDiagramNodeComponent { id: any; isSelected: boolean; isHighlighted: boolean; object?: any; onSizeChange: ng.EventEmitter; onRemove: ng.EventEmitter; onObjectUpdated: ng.EventEmitter<{ id: any; object: any; }>; contextClick: () => void; } /** * Vector2D */ export interface GenericDiagramPoint { x: number; y: number; } /** * Model */ export interface GenericDiagramModel { nodes: GenericDiagramNode[]; links: GenericDiagramLink[]; } /** * Node */ export interface GenericDiagramNode { id: string; tag: any; object?: any; dontAllowConnectionFrom?: boolean; position: GenericDiagramPoint; component: ng.Type | string; componentModule: ng.Type | string; inputs?: any; outputs?: any; } /** * Link */ export interface GenericDiagramLink { id: string; source: GenericDiagramPoint | { id: string; }; target: GenericDiagramPoint | { id: string; }; object?: any; label?: string; vertices?: GenericDiagramPoint[]; color?: string; width?: number; dashed: boolean; } /** * GenericDiagramNodeThumbnail */ export interface GenericDiagramNodeThumbnail { isCircle: boolean; sizeX: number; sizeY: number; color?: string; }