--- /dev/null
+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 enum DeclarationDomain {
+ Namespace = 1,
+ Type = 2,
+ Value = 4,
+ Import = 8,
+ Any = 7
+}
+export declare 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>;