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