usage.d.ts 847 Bytes
Newer Older
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 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>;