.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / @typescript-eslint / experimental-utils / dist / ts-eslint / Scope.d.ts
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts b/.config/coc/extensions/node_modules/coc-prettier/node_modules/@typescript-eslint/experimental-utils/dist/ts-eslint/Scope.d.ts
new file mode 100644 (file)
index 0000000..693da2a
--- /dev/null
@@ -0,0 +1,76 @@
+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