import { Node } from "./cst/Node"; export declare enum VisitorAction { /** Return from visitor function to skip iterating over child nodes. */ SKIP = 1 } /** * A map with a visitor function for each Node type, like: * * { select_clause: (node: SelectClause) => {}, * from_clause: (node: FromClause) => {}, * paren_expr: (node: ParenExpr) => {}, * ... } */ export type FullVisitorMap = { [K in Node["type"]]: (node: Extract) => VisitorAction | void; }; /** * Creates a function that visits the whole syntax tree. * @param map An object with a visitor functions */ export declare function cstVisitor(map: Partial): (node: Node) => void;