import { Map } from 'immutable'; import { NodeRecord as NodeRecordType, NestedNodeRecord as NestedNodeRecordType } from '../../customTypings/index.d'; /** * @desc represent a Node on the flow diagram * @typedef {Immutable.Record} NodeRecord */ /** * Test if the first parameter is a NodeRecord instance * @param {NodeRecord} node * @returns {bool} * @throws */ export declare function isNode(node: NodeRecordType | NestedNodeRecordType): boolean; /** * Test if the first parameter is a NodeRecord, throw if not * @param {*} node * @returns {bool} * @throws */ export declare function isNodeElseThrow(node: NodeRecordType | NestedNodeRecordType): boolean; /** * @param {NodeRecord} node * @returns {string} */ export declare function getId(node: NodeRecordType | NestedNodeRecordType): any; /** * @function * @param {string} id * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const setId: import("lodash").CurriedFunction2; /** * @param {NodeRecord} node * @returns {PositionRecord} */ export declare function getPosition(node: NodeRecordType | NestedNodeRecordType): any; /** * @function * @param {PositionRecord} position * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const setPosition: import("lodash").CurriedFunction2; /** * @param {NodeRecord} node * @returns {SizeRecord} */ export declare function getSize(node: NodeRecordType | NestedNodeRecordType): any; /** * @function * @param {SizeRecord} size * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const setSize: import("lodash").CurriedFunction2; /** * @param {NodeRecord} node * @returns {NodeRecord} */ export declare function getComponentType(node: NodeRecordType | NestedNodeRecordType): any; /** * @function * @param {string} nodeType * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const setComponentType: import("lodash").CurriedFunction2; /** * @function * @param {List} components * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const setComponents: import("lodash").CurriedFunction2, any, any>; /** * @param {NodeRecord} node * @returns {NodeRecord} */ export declare function getComponents(node: NestedNodeRecordType): any; /** * @function * @param {string} key * @param {any} value * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const setData: import("lodash").CurriedFunction3; /** * @function * @param {string} key * @param {NodeRecord} node * @returns {any | null} */ export declare const getData: import("lodash").CurriedFunction2; /** * @function * @param {string} key * @param {NodeRecord} node * @returns {bool} */ export declare const hasData: import("lodash").CurriedFunction2; /** * @function * @param {string} key * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const deleteData: import("lodash").CurriedFunction2; /** * given a key check if that key is white listed * @param {string} key * @returns {bool} */ export declare function isWhiteListAttribute(key: string): boolean; /** * @function * @param {string} key * @param {any} value * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const setGraphicalAttribute: import("lodash").CurriedFunction3; /** * @function * @param {string} key * @param {NodeRecord} node * @returns {any | null} */ export declare const getGraphicalAttribute: import("lodash").CurriedFunction2; /** * @function * @param {string} key * @param {NodeRecord} node * @returns {bool} */ export declare const hasGraphicalAttribute: import("lodash").CurriedFunction2; /** * @function * @param {string} key * @param {NodeRecord} node * @returns {NodeRecord} */ export declare const deleteGraphicalAttribute: import("lodash").CurriedFunction2; /** * Create a new Node * @function * @param {string} id * @param {PositionRecord} position * @param {SizeRecord} size * @param {string} componentType * @param {boolean} nested * @returns {NodeRecord} */ export declare const create: import("lodash").CurriedFunction4;