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