export type JsonCanvasColor = string; export type JsonCanvasNodeSide = "top" | "right" | "bottom" | "left"; export interface JsonCanvasTextNode { id: string; type: "text"; x: number; y: number; width: number; height: number; text: string; color?: JsonCanvasColor; } export interface JsonCanvasFileNode { id: string; type: "file"; x: number; y: number; width: number; height: number; file: string; color?: JsonCanvasColor; } export interface JsonCanvasLinkNode { id: string; type: "link"; x: number; y: number; width: number; height: number; url: string; color?: JsonCanvasColor; } export interface JsonCanvasGroupNode { id: string; type: "group"; x: number; y: number; width: number; height: number; label?: string; color?: JsonCanvasColor; } export type JsonCanvasNode = JsonCanvasTextNode | JsonCanvasFileNode | JsonCanvasLinkNode | JsonCanvasGroupNode; export interface JsonCanvasEdge { id: string; fromNode: string; toNode: string; fromSide?: JsonCanvasNodeSide; toSide?: JsonCanvasNodeSide; color?: JsonCanvasColor; label?: string; } export interface JsonCanvas { nodes: JsonCanvasNode[]; edges: JsonCanvasEdge[]; } export interface NodeGeometry { x: number; y: number; width: number; height: number; } export declare function textNode(id: string, geom: NodeGeometry, text: string, color?: JsonCanvasColor): JsonCanvasTextNode; export declare function fileNode(id: string, geom: NodeGeometry, file: string, color?: JsonCanvasColor): JsonCanvasFileNode; export declare function linkNode(id: string, geom: NodeGeometry, url: string, color?: JsonCanvasColor): JsonCanvasLinkNode; export declare function groupNode(id: string, geom: NodeGeometry, label?: string, color?: JsonCanvasColor): JsonCanvasGroupNode; export interface EdgeOptions { fromSide?: JsonCanvasNodeSide; toSide?: JsonCanvasNodeSide; color?: JsonCanvasColor; label?: string; } export declare function edge(id: string, fromNode: string, toNode: string, opts?: EdgeOptions): JsonCanvasEdge; export declare function serializeCanvas(canvas: JsonCanvas): string; //# sourceMappingURL=json-canvas.d.ts.map