blob: 004dec4a18e638a96caddacb6caee89c711caa82 [file] [log] [blame]
import * as scopeManager from '@typescript-eslint/scope-manager';
import { TSESTree } from '@typescript-eslint/types';
declare namespace Scope {
class ESLintScopeVariable {
readonly defs: Definition[];
readonly identifiers: TSESTree.Identifier[];
readonly name: string;
readonly references: Reference[];
readonly scope: Scope;
/**
* Written to by ESLint.
* If this key exists, this variable is a global variable added by ESLint.
* If this is `true`, this variable can be assigned arbitrary values.
* If this is `false`, this variable is readonly.
*/
writeable?: boolean;
/**
* Written to by ESLint.
* This property is undefined if there are no globals directive comments.
* The array of globals directive comments which defined this global variable in the source code file.
*/
eslintExplicitGlobal?: boolean;
/**
* Written to by ESLint.
* The configured value in config files. This can be different from `variable.writeable` if there are globals directive comments.
*/
eslintImplicitGlobalSetting?: 'readonly' | 'writable';
/**
* Written to by ESLint.
* If this key exists, it is a global variable added by ESLint.
* If `true`, this global variable was defined by a globals directive comment in the source code file.
*/
eslintExplicitGlobalComments?: TSESTree.Comment[];
}
export type ScopeManager = scopeManager.ScopeManager;
export type Reference = scopeManager.Reference;
export type Variable = scopeManager.Variable | ESLintScopeVariable;
export type Scope = scopeManager.Scope;
export type DefinitionType = scopeManager.Definition;
export type Definition = scopeManager.Definition;
export {};
}
export { Scope };
//# sourceMappingURL=Scope.d.ts.map