import { Scope } from "./scope"; import { Variable } from "./variable"; import * as ESTree from "estree"; export declare class ScopeManager { readonly __options: any; constructor(__options: any); globalScope: Scope | null; __currentScope: Scope | null; readonly scopes: Scope[]; readonly __nodeToScope: WeakMap<any, Scope[]>; readonly __declaredVariables: WeakMap<any, Variable[]>; __useDirective(): any; __isOptimistic(): any; __ignoreEval(): any; __isNodejsScope(): any; isModule(): boolean; isImpliedStrict(): any; isStrictModeSupported(): boolean; __get(node: ESTree.Node): Scope<ESTree.Node>[] | undefined; getDeclaredVariables(node: ESTree.Node[]): Variable[]; acquire(node: ESTree.Node, inner: boolean): Scope | null; acquireAll(node: ESTree.Node): Scope[] | undefined; release(node: ESTree.Node, inner: boolean): Scope | null; attach(): void; detach(): void; __nestScope(scope: Scope): Scope<ESTree.Node>; __nestGlobalScope(node: ESTree.Node): Scope<ESTree.Node>; __nestBlockScope(node: ESTree.Node): Scope<ESTree.Node>; __nestFunctionScope(node: ESTree.Function | ESTree.Program, isMethodDefinition: boolean): Scope<ESTree.Node>; __nestForScope(node: ESTree.Node): Scope<ESTree.Node>; __nestCatchScope(node: ESTree.Node): Scope<ESTree.Node>; __nestWithScope(node: ESTree.Node): Scope<ESTree.Node>; __nestClassScope(node: ESTree.Node): Scope<ESTree.Node>; __nestSwitchScope(node: ESTree.SwitchStatement): Scope<ESTree.Node>; __nestModuleScope(node: ESTree.Node): Scope<ESTree.Node>; __nestTDZScope(node: ESTree.Node): Scope<ESTree.Node>; __nestFunctionExpressionNameScope(node: ESTree.FunctionExpression): Scope<ESTree.Node>; __isES6(): boolean; }