import ts from 'typescript'; import { IPackageOptions } from "../config"; import { CreateShouldTransform } from './types'; export declare enum TypeOfResult { undefined = "undefined", null = "object", boolean = "boolean", number = "number", string = "string", symbol = "symbol", bigint = "bigint", object = "object", function = "function" } export declare function isEnumType(type: ts.Type): boolean; export declare function createIsArrayCheck(context: ts.TransformationContext, node: ts.Expression): ts.CallExpression; export declare function createTypeOfCheck(context: ts.TransformationContext, value: ts.Expression, type: typeof TypeOfResult[keyof typeof TypeOfResult]): ts.BinaryExpression; export declare function createTypeCheckGenerator(checker: ts.TypeChecker, context: ts.TransformationContext): (is: { type: ts.Type; }, value: { node: ts.Expression; type: ts.Type; }) => ts.Expression; export declare function is(node: ts.CallExpression, checker: ts.TypeChecker, context: ts.TransformationContext, options: IPackageOptions): ts.Expression; export declare namespace is { var kind: ts.SyntaxKind; var createShouldTransform: CreateShouldTransform; }