blob: 93739407479551e57df95bc8d01548a6d45de17c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import * as ts from 'typescript';
export interface VariableInfo {
domain: DeclarationDomain;
exported: boolean;
uses: VariableUse[];
inGlobalScope: boolean;
declarations: ts.Identifier[];
}
export interface VariableUse {
domain: UsageDomain;
location: ts.Identifier;
}
export declare const enum DeclarationDomain {
Namespace = 1,
Type = 2,
Value = 4,
Import = 8,
Any = 7,
}
export declare const enum UsageDomain {
Namespace = 1,
Type = 2,
Value = 4,
ValueOrNamespace = 5,
Any = 7,
TypeQuery = 8,
}
export declare function getUsageDomain(node: ts.Identifier): UsageDomain | undefined;
export declare function getDeclarationDomain(node: ts.Identifier): DeclarationDomain | undefined;
export declare function collectVariableUsage(sourceFile: ts.SourceFile): Map<ts.Identifier, VariableInfo>;
|