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