import { SchemaRoot } from 'fusefx-modeldescription'; import { Camera } from './Camera'; import { Position } from './Position'; import { BoardState } from './BoardState'; export declare function getBoardPosFromWindowPos(windowPos: Position): Position; export declare function getViewPosFromWorldPos(boardPos: Position, cam: Camera): Position; export declare function getWorldPosFromViewPos(boardPos: Position, cam: Camera): Position; export declare function getBoardStateFromSchema(schema: SchemaRoot): BoardState; export declare function getSchemaFromBoardState(boardState: BoardState): SchemaRoot; /** * Calculate the optimal connection points on the borders of two rectangular nodes * @param node1Pos Position of the first node (top-left corner) * @param node1Width Width of the first node * @param node1Height Height of the first node * @param node2Pos Position of the second node (top-left corner) * @param node2Width Width of the second node * @param node2Height Height of the second node * @returns Object with startPoint (on node1 border) and endPoint (on node2 border) */ export declare function calculateNodeConnectionPoints(node1Pos: Position, node1Width: number, node1Height: number, node2Pos: Position, node2Width: number, node2Height: number): { startPoint: Position; endPoint: Position; };