import ts from 'typescript'; declare type TypedNode = ts.Node & { readonly type?: ts.TypeNode; }; declare type MaybeTypedNode = ts.Node & { readonly type?: ts.TypeNode; }; export declare function getTypeNode(node: TypedNode): ts.TypeNode; export declare function getTypeNode(node: MaybeTypedNode): ts.TypeNode | undefined; export declare function getTypeNodeOrThrow(node: MaybeTypedNode): ts.TypeNode; export declare function getContextualType(typeChecker: ts.TypeChecker, node: ts.Expression): ts.Type | undefined; export declare function getTypeFromTypeNode(typeChecker: ts.TypeChecker, typeNode: ts.TypeNode): ts.Type; export declare function getType(typeChecker: ts.TypeChecker, node: ts.Node): ts.Type; export declare function getConstraint(type: ts.Type): ts.Type | undefined; export declare function getTypeAtLocation(typeChecker: ts.TypeChecker, symbol: ts.Symbol, node: ts.Node): ts.Type; export declare function typeToTypeNode(typeChecker: ts.TypeChecker, type: ts.Type, node?: ts.Declaration): ts.TypeNode | undefined; export declare function typeToTypeNodeOrThrow(typeChecker: ts.TypeChecker, type: ts.Type, node?: ts.Declaration): ts.TypeNode; export declare function getSymbol(type: ts.Type): ts.Symbol | undefined; export declare function getAliasSymbol(type: ts.Type): ts.Symbol | undefined; export declare function getAliasTypeArguments(type: ts.Type): ReadonlyArray | undefined; export declare function getAliasTypeArgumentsArray(type: ts.Type): ReadonlyArray; export declare function getSymbolOrThrow(type: ts.Type): ts.Symbol; export declare function getProperties(type: ts.Type): ReadonlyArray; export declare function getConstructSignatures(type: ts.Type): ReadonlyArray; export declare function getProperty(type: ts.Type, name: string): ts.Symbol | undefined; export declare function getText(typeChecker: ts.TypeChecker, type: ts.Type, node?: ts.Node, flags?: ts.TypeFormatFlags): string; export declare function getBaseTypes(type: ts.Type): ReadonlyArray | undefined; export declare function getBaseTypesArray(type: ts.Type): ReadonlyArray; export declare function getAllTypes(type: ts.Type): ReadonlyArray; export declare function getTypes(type: ts.Type, isType: (type: ts.Type) => boolean): ReadonlyArray; export declare function isSymbolic(type: ts.Type): boolean; export declare function isObjectType(type: ts.Type): type is ts.ObjectType; export declare function isTypeReference(type: ts.Type): type is ts.TypeReference; export declare function isTupleType(type: ts.Type): type is ts.TupleType; export declare function isTuple(type: ts.Type): type is ts.TupleTypeReference; export declare function hasTuple(type: ts.Type): boolean; export declare function getTupleTypes(type: ts.Type): ReadonlyArray; export declare function getTupleElements(type: ts.Type): ReadonlyArray | undefined; export declare function getTypeArguments(type: ts.Type): ReadonlyArray | undefined; export declare function getTypeArgumentsArray(type: ts.Type): ReadonlyArray; export declare function getTypeArgumentsOrThrow(type: ts.Type): ReadonlyArray; export declare function isAny(type: ts.Type): boolean; export declare function isErrorType(type: ts.Type): boolean; export declare function isUnion(type: ts.Type): type is ts.UnionType; export declare function getUnionTypes(type: ts.Type): ReadonlyArray | undefined; export declare function getUnionTypesArray(type: ts.Type): ReadonlyArray; export declare function isIntersection(type: ts.Type): type is ts.IntersectionType; export declare function getIntersectionTypes(type: ts.Type): ReadonlyArray | undefined; export declare function getIntersectionTypesArray(type: ts.Type): ReadonlyArray; export declare function hasUnionType(type: ts.Type, isType: (type: ts.Type) => boolean): boolean; export declare function hasIntersectionType(type: ts.Type, isType: (type: ts.Type) => boolean): boolean; export declare function hasType(type: ts.Type, isType: (type: ts.Type) => boolean): boolean; export declare function isOnlyType(type: ts.Type, isType: (type: ts.Type) => boolean): boolean; export declare function isSame(a: ts.Type | undefined, b: ts.Type | undefined): boolean; export declare function isOnly(type: ts.Type): boolean; export declare function isNull(type: ts.Type): boolean; export declare function isOnlyNull(type: ts.Type): boolean; export declare function hasNull(type: ts.Type): boolean; export declare function isUndefined(type: ts.Type): boolean; export declare function isOnlyUndefined(type: ts.Type): boolean; export declare function hasUndefined(type: ts.Type): boolean; export declare function isUndefinedish(type: ts.Type): boolean; export declare function isOnlyUndefinedish(type: ts.Type): boolean; export declare function hasUndefinedish(type: ts.Type): boolean; export declare function isNullable(type: ts.Type): boolean; export declare function isNumber(type: ts.Type): boolean; export declare function isOnlyNumber(type: ts.Type): boolean; export declare function hasNumber(type: ts.Type): boolean; export declare function isNumberLike(type: ts.Type): boolean; export declare function isOnlyNumberLike(type: ts.Type): boolean; export declare function hasNumberLike(type: ts.Type): boolean; export declare function isNumberLiteral(type: ts.Type): boolean; export declare function isOnlyNumberLiteral(type: ts.Type): boolean; export declare function hasNumberLiteral(type: ts.Type): boolean; export declare function isNumberish(type: ts.Type): boolean; export declare function isOnlyNumberish(type: ts.Type): boolean; export declare function hasNumberish(type: ts.Type): boolean; export declare function isString(type: ts.Type): boolean; export declare function isOnlyString(type: ts.Type): boolean; export declare function hasString(type: ts.Type): boolean; export declare function isStringLike(type: ts.Type): boolean; export declare function isOnlyStringLike(type: ts.Type): boolean; export declare function hasStringLike(type: ts.Type): boolean; export declare function isStringLiteral(type: ts.Type): boolean; export declare function isOnlyStringLiteral(type: ts.Type): boolean; export declare function hasStringLiteral(type: ts.Type): boolean; export declare function isStringish(type: ts.Type): boolean; export declare function isOnlyStringish(type: ts.Type): boolean; export declare function hasStringish(type: ts.Type): boolean; export declare function isBoolean(type: ts.Type): boolean; export declare function isOnlyBoolean(type: ts.Type): boolean; export declare function hasBoolean(type: ts.Type): boolean; export declare function isBooleanLike(type: ts.Type): boolean; export declare function isOnlyBooleanLike(type: ts.Type): boolean; export declare function hasBooleanLike(type: ts.Type): boolean; export declare function isBooleanLiteral(type: ts.Type): boolean; export declare function isOnlyBooleanLiteral(type: ts.Type): boolean; export declare function hasBooleanLiteral(type: ts.Type): boolean; export declare function isBooleanish(type: ts.Type): boolean; export declare function isOnlyBooleanish(type: ts.Type): boolean; export declare function hasBooleanish(type: ts.Type): boolean; export declare function isSymbol(type: ts.Type): boolean; export declare function isOnlySymbol(type: ts.Type): boolean; export declare function hasSymbol(type: ts.Type): boolean; export declare function isSymbolLike(type: ts.Type): boolean; export declare function isOnlySymbolLike(type: ts.Type): boolean; export declare function hasSymbolLike(type: ts.Type): boolean; export declare function isSymbolish(type: ts.Type): boolean; export declare function isOnlySymbolish(type: ts.Type): boolean; export declare function hasSymbolish(type: ts.Type): boolean; export declare function isPrimitive(type: ts.Type): boolean; export declare function isOnlyPrimitive(type: ts.Type): boolean; export declare function hasPrimitive(type: ts.Type): boolean; export declare function isPrimitiveLike(type: ts.Type): boolean; export declare function isOnlyPrimitiveLike(type: ts.Type): boolean; export declare function hasPrimitiveLike(type: ts.Type): boolean; export declare function isPrimitiveish(type: ts.Type): boolean; export declare function isOnlyPrimitiveish(type: ts.Type): boolean; export declare function hasPrimitiveish(type: ts.Type): boolean; export declare function isOnlyObject(type: ts.Type): boolean; export declare function isArray(type: ts.Type): boolean; export declare function isOnlyArray(type: ts.Type): boolean; export declare function hasArray(type: ts.Type): boolean; export declare function isArrayish(type: ts.Type): boolean; export declare function isOnlyArrayish(type: ts.Type): boolean; export declare function hasArrayish(type: ts.Type): boolean; export declare function getArrayType(type: ts.Type): ts.Type | undefined; export declare function getArrayTypeOrThrow(type: ts.Type): ts.Type; export declare function getArrayTypes(type: ts.Type): ReadonlyArray; export declare function isVoid(type: ts.Type): boolean; export declare function isOnlyVoid(type: ts.Type): boolean; export declare function hasVoid(type: ts.Type): boolean; export declare function isVoidish(type: ts.Type): boolean; export declare function isOnlyVoidish(type: ts.Type): boolean; export declare function hasVoidish(type: ts.Type): boolean; export declare function getCallSignatures(type: ts.Type): ReadonlyArray; export declare function getNonNullableType(type: ts.Type): ts.Type; export {};