+++ /dev/null
-import { TSESTree } from '../ts-estree';
-declare namespace Scope {
- interface ScopeManager {
- scopes: Scope[];
- globalScope: Scope | null;
- acquire(node: TSESTree.Node, inner?: boolean): Scope | null;
- getDeclaredVariables(node: TSESTree.Node): Variable[];
- }
- interface Reference {
- identifier: TSESTree.Identifier;
- from: Scope;
- resolved: Variable | null;
- writeExpr: TSESTree.Node | null;
- init: boolean;
- isWrite(): boolean;
- isRead(): boolean;
- isWriteOnly(): boolean;
- isReadOnly(): boolean;
- isReadWrite(): boolean;
- }
- interface Variable {
- name: string;
- identifiers: TSESTree.Identifier[];
- references: Reference[];
- defs: Definition[];
- scope: Scope;
- eslintUsed?: boolean;
- }
- interface Scope {
- type: 'block' | 'catch' | 'class' | 'for' | 'function' | 'function-expression-name' | 'global' | 'module' | 'switch' | 'with' | 'TDZ';
- isStrict: boolean;
- upper: Scope | null;
- childScopes: Scope[];
- variableScope: Scope;
- block: TSESTree.Node;
- variables: Variable[];
- set: Map<string, Variable>;
- references: Reference[];
- through: Reference[];
- functionExpressionScope: boolean;
- }
- type DefinitionType = {
- type: 'CatchClause';
- node: TSESTree.CatchClause;
- parent: null;
- } | {
- type: 'ClassName';
- node: TSESTree.ClassDeclaration | TSESTree.ClassExpression;
- parent: null;
- } | {
- type: 'FunctionName';
- node: TSESTree.FunctionDeclaration | TSESTree.FunctionExpression;
- parent: null;
- } | {
- type: 'ImplicitGlobalVariable';
- node: TSESTree.Program;
- parent: null;
- } | {
- type: 'ImportBinding';
- node: TSESTree.ImportSpecifier | TSESTree.ImportDefaultSpecifier | TSESTree.ImportNamespaceSpecifier;
- parent: TSESTree.ImportDeclaration;
- } | {
- type: 'Parameter';
- node: TSESTree.FunctionDeclaration | TSESTree.FunctionExpression | TSESTree.ArrowFunctionExpression;
- parent: null;
- } | {
- type: 'Variable';
- node: TSESTree.VariableDeclarator;
- parent: TSESTree.VariableDeclaration;
- };
- type Definition = DefinitionType & {
- name: TSESTree.Identifier;
- };
-}
-export { Scope };
-//# sourceMappingURL=Scope.d.ts.map
\ No newline at end of file