import { VisitorContext } from './VisitorContext'; import { VisitorResult } from './VisitorResult'; export interface Visitor { /** * Select nodes eligible to be visited. **/ pick(ctx: VisitorContext, root: any): Promise>; /** * Visit a node. */ visit(ctx: VisitorContext, node: any): Promise; }