blob: 983dcd048e106d48a70453d97f53725c52fa6edf [file] [log] [blame]
import { TSESTree } from '@typescript-eslint/types';
import { Definition } from '../definition';
import { Reference } from '../referencer/Reference';
import { Scope } from '../scope';
declare class VariableBase {
/**
* A unique ID for this instance - primarily used to help debugging and testing
*/
readonly $id: number;
/**
* The array of the definitions of this variable.
* @public
*/
readonly defs: Definition[];
/**
* True if the variable is considered used for the purposes of `no-unused-vars`, false otherwise.
* @public
*/
eslintUsed: boolean;
/**
* The array of `Identifier` nodes which define this variable.
* If this variable is redeclared, this array includes two or more nodes.
* @public
*/
readonly identifiers: TSESTree.Identifier[];
/**
* The variable name, as given in the source code.
* @public
*/
readonly name: string;
/**
* List of {@link Reference} of this variable (excluding parameter entries) in its defining scope and all nested scopes.
* For defining occurrences only see {@link Variable#defs}.
* @public
*/
readonly references: Reference[];
/**
* Reference to the enclosing Scope.
*/
readonly scope: Scope;
constructor(name: string, scope: Scope);
}
export { VariableBase };
//# sourceMappingURL=VariableBase.d.ts.map