import * as ts from 'typescript'; import * as config from './config'; import * as Symbol from './symbol'; export default class TypeScriptParser { private fileNames; private config; private program; private typeChecker; private moduleCache; private typeCache; private symbols; private arrayTypeName; private typeReferenceStack; private readonly currentTypeReference; constructor(fileNames: string[], config: config.Config); readonly sourceFiles: ts.SourceFile[]; readonly types: Symbol.Type[]; readonly modules: Symbol.Module[]; parse(): void; validate(): void; private getSymbolAtLocation(node); private checkFlags(flagsA, flagsB); private throwErrorWithSymbolInfo(message, symbol); private parseType(type); private createTyphenSymbol(symbol, typhenSymbolClass, assumedNameSuffix?); private createTyphenSymbol(signature, typhenSymbolClass, assumedNameSuffix?); private createTyphenType(type, typhenTypeClass, assumedNameSuffix?); private getOrCreateTyphenModule(symbol); private getDeclarationInfos(symbol); private getDecorators(symbol); private getDecorators(signature); private getParentModule(symbol); private getParentModule(signature); private getDocComment(symbol); private getDocComment(signature); private getAssumedName(symbol, typeName); private getAssumedName(signature, typeName); private isTyphenPrimitiveType(type); private isArrayType(type); private getSymbolsInScope(node, symbolFlags); private parseDecorator(decorator); private parseSourceFile(sourceFile); private parseModule(symbol); private parseEnum(type); private parseGenericType(type, typhenTypeClass); private parseObjectType(type); private parseArray(type); private parseFunction(type); private parsePrimitiveType(type); private parsePrimitiveType(type); private parseTypeParameter(type); private parseUnionType(type); private parseIntersectionType(type); private parseStringLiteralType(type); private parseBooleanLiteralType(type); private parseProperty(symbol, isOwn?); private parseMethod(symbol, isOwn?); private parseSignature(signature, suffixName?); private parseTypePredicate(node, parameters); private parseParameter(symbol); private parseVariable(symbol); private parseTypeAlias(symbol); }