/** * This module annotates the AST with the following information: * * 1. All scopeable nodes are annotated with a set of free identifiers. * 2. All function and program nodes are annotated with the set of * free identifiers in their enclosing functions. */ import * as t from 'babel-types'; import { NodePath } from 'babel-traverse'; export interface NestedFunctionFree { nestedFunctionFree: Set; } export declare function annotate(path: NodePath): void; export declare function enclosingFunction(path: NodePath): NodePath<(t.Function | t.Program) & NestedFunctionFree>; export declare function isNestedFree(path: NodePath, x: string): boolean;