| import * as ts from 'typescript'; |
| import { PropertyName } from './util'; |
| export declare function isEmptyObjectType(type: ts.Type): type is ts.ObjectType; |
| export declare function removeOptionalityFromType(checker: ts.TypeChecker, type: ts.Type): ts.Type; |
| export declare function isTypeAssignableToNumber(checker: ts.TypeChecker, type: ts.Type): boolean; |
| export declare function isTypeAssignableToString(checker: ts.TypeChecker, type: ts.Type): boolean; |
| export declare function getCallSignaturesOfType(type: ts.Type): ReadonlyArray<ts.Signature>; |
| export declare function unionTypeParts(type: ts.Type): ts.Type[]; |
| export declare function intersectionTypeParts(type: ts.Type): ts.Type[]; |
| export declare function someTypePart(type: ts.Type, predicate: (t: ts.Type) => t is ts.UnionOrIntersectionType, cb: (t: ts.Type) => boolean): boolean; |
| export declare function isThenableType(checker: ts.TypeChecker, node: ts.Node, type: ts.Type): boolean; |
| export declare function isThenableType(checker: ts.TypeChecker, node: ts.Expression, type?: ts.Type): boolean; |
| export declare function isFalsyType(type: ts.Type): boolean; |
| export declare function isBooleanLiteralType(type: ts.Type, literal: boolean): boolean; |
| export declare function getPropertyOfType(type: ts.Type, name: ts.__String): ts.Symbol | undefined; |
| export declare function isPropertyReadonlyInType(type: ts.Type, name: ts.__String, checker: ts.TypeChecker): boolean; |
| export declare function symbolHasReadonlyDeclaration(symbol: ts.Symbol, checker: ts.TypeChecker): boolean; |
| export declare function getPropertyNameFromType(type: ts.Type): PropertyName | undefined; |
| export declare function getConstructorTypeOfClassLikeDeclaration(node: ts.ClassLikeDeclaration, checker: ts.TypeChecker): ts.Type; |
| export declare function getInstanceTypeOfClassLikeDeclaration(node: ts.ClassLikeDeclaration, checker: ts.TypeChecker): ts.Type; |