import { AlgorithmNode, CommutatorNode, ConjugateNode, Node, NodeTypes, RepeatingNode, SequenceNode, TurnNode } from '../Nodes'; declare type VisitorFn = (node: T) => Node | Node[] | null; export declare type Visitor = Readonly<{ [NodeTypes.Turn]: VisitorFn; [NodeTypes.Sequence]: VisitorFn; [NodeTypes.Conjugate]: VisitorFn; [NodeTypes.Commutator]: VisitorFn; [NodeTypes.Repeating]: VisitorFn; [NodeTypes.Algorithm]: (node: AlgorithmNode) => AlgorithmNode; }>; export {};