import { CombinedAllNodeVisitor } from '../../../combined/visitors/CombinedAllNodeVisitor'; import { IReferenceNode } from '../../../core/models/IReferenceNode'; import { Node } from '../../../core/models/Node'; /** * Collect all nodes representing reference objects. Those nodes * MUST implement {@link IReferenceNode} and {@link INamed}. *

* Warning: The nodes are not cloned, so modifying them would modify the original model. * You MUST clone them yourself before changing their state. *

* Do not reuse visitor instances for multiple traversals. * * @author Jakub Senko * @class * @extends CombinedAllNodeVisitor */ export declare class ReferenceCollectionVisitor extends CombinedAllNodeVisitor { fullNodes: Array; referencedNodes: Array; /** * Visit a node. This is a common method called for every node type. * * @param {Node} node */ visitNode(node: Node): void; /** * @return {*[]} An map of collected nodes that CONTAIN an actual reference string. */ getReferencedNodes(): Array; /** * @return {*[]} An map of collected nodes that DO NOT CONTAIN an actual reference string, * i.e. full nodes. */ getFullNodes(): Array; constructor(); }