import type { JSX } from "solid-js"; import type { XYPosition } from "./utils"; export interface NodeI { id: number; position: XYPosition; data: T; width?: number; height?: number; bgColor?: string; fontSize?: number; borderColor?: string; borderRadius?: number; textColor?: string; } export interface EdgeI { source: number; target: number; label?: string; type?: string; animated?: boolean; noHandle?: boolean; arrow?: boolean; style?: JSX.CSSProperties; labelStyle?: JSX.CSSProperties; labelBgStyle?: JSX.CSSProperties; } export interface StoreProps { nodes: NodeI[]; edges: EdgeI[]; width: number; height: number; children: JSX.Element; } export interface GraphProps { nodes: NodeI[]; edges: EdgeI[]; width: number; height: number; } export interface EdgeProps extends EdgeI { sourceX: number; sourceY: number; targetX: number; targetY: number; sourcePosition: string; targetPosition: string; path: string; } export declare type HandleType = "source" | "target"; export declare type KeyCode = string | Array;