1 | import { TSESTree } from '../ts-estree';
|
2 | import { EcmaVersion } from '../ts-eslint';
|
3 | import { Scope } from './Scope';
|
4 | import { Variable } from './Variable';
|
5 | interface ScopeManagerOptions {
|
6 | directive?: boolean;
|
7 | optimistic?: boolean;
|
8 | ignoreEval?: boolean;
|
9 | nodejsScope?: boolean;
|
10 | sourceType?: 'module' | 'script';
|
11 | impliedStrict?: boolean;
|
12 | ecmaVersion?: EcmaVersion;
|
13 | }
|
14 | interface ScopeManager {
|
15 | __options: ScopeManagerOptions;
|
16 | __currentScope: Scope;
|
17 | __nodeToScope: WeakMap<TSESTree.Node, Scope[]>;
|
18 | __declaredVariables: WeakMap<TSESTree.Node, Variable[]>;
|
19 | scopes: Scope[];
|
20 | globalScope: Scope;
|
21 | __useDirective(): boolean;
|
22 | __isOptimistic(): boolean;
|
23 | __ignoreEval(): boolean;
|
24 | __isNodejsScope(): boolean;
|
25 | isModule(): boolean;
|
26 | isImpliedStrict(): boolean;
|
27 | isStrictModeSupported(): boolean;
|
28 | __get(node: TSESTree.Node): Scope | undefined;
|
29 | getDeclaredVariables(node: TSESTree.Node): Variable[];
|
30 | acquire(node: TSESTree.Node, inner?: boolean): Scope | null;
|
31 | acquireAll(node: TSESTree.Node): Scope | null;
|
32 | release(node: TSESTree.Node, inner?: boolean): Scope | null;
|
33 | attach(): void;
|
34 | detach(): void;
|
35 | __nestScope<T extends Scope>(scope: T): T;
|
36 | __nestGlobalScope(node: TSESTree.Node): Scope;
|
37 | __nestBlockScope(node: TSESTree.Node): Scope;
|
38 | __nestFunctionScope(node: TSESTree.Node, isMethodDefinition: boolean): Scope;
|
39 | __nestForScope(node: TSESTree.Node): Scope;
|
40 | __nestCatchScope(node: TSESTree.Node): Scope;
|
41 | __nestWithScope(node: TSESTree.Node): Scope;
|
42 | __nestClassScope(node: TSESTree.Node): Scope;
|
43 | __nestSwitchScope(node: TSESTree.Node): Scope;
|
44 | __nestModuleScope(node: TSESTree.Node): Scope;
|
45 | __nestFunctionExpressionNameScope(node: TSESTree.Node): Scope;
|
46 | __isES6(): boolean;
|
47 | }
|
48 | declare const ScopeManager: new (options: ScopeManagerOptions) => ScopeManager;
|
49 | export { ScopeManager, ScopeManagerOptions };
|
50 |
|
\ | No newline at end of file |