export type ConnectionData = { nodeId: number, data: any } export type InputConnectionData = ConnectionData & { outputKey: string } export type OutputConnectionData = ConnectionData & { inputKey: string } export type InputData = { connections: InputConnectionData[] } export type InputDataJSON = InputData export type OutputData = { connections: OutputConnectionData[] } export type OutputDataJSON = OutputData export type InputsData = Map export type InputsDataJSON = { [key: string]: InputData } export type OutputsData = Map export type OutputsDataJSON = { [key: string]: OutputData } export type NodeData = { id: number; name: string; data: Map; inputs: InputsData; outputs: OutputsData; position: [number, number]; } export type NodeDataJSON = { id: number; name: string; data: { [key: string]: any }; inputs: InputsDataJSON; outputs: OutputsDataJSON; position: [number, number]; } export type NodesData = Map export type NodesDataJSON = { [key in NodeDataJSON['id']]: NodeDataJSON } export type EngineData = { id: string, nodes: NodesData } export type EngineDataJSON = { id: string, nodes: NodesDataJSON } export type WorkerInputs = Map export type WorkerOutputs = Map