export interface CanvasContent { nodes?: CanvasNode[]; edges?: CanvasEdge[]; groups?: CanvasGroup[]; } export type CanvasColor = { class?: string; } & { hex?: string; } export interface CanvasNode { type: 'group' | 'text'; id: string; x: number; y: number; width: number; height: number; color?: CanvasColor; label?: string; text?: string; }; export interface CanvasEdge { id: string; fromNode: string; fromSide: 'bottom' | 'top' | 'left' | 'right'; toNode: string; toSide: 'bottom' | 'top' | 'left' | 'right'; color?: CanvasColor; label?: string; }; export interface CanvasGroup { name: string; nodes: string[]; }