import ts from 'typescript'; /** * Callback type used for {@link forEachComment}. * * @category Callbacks */ type ForEachCommentCallback = (fullText: string, comment: ts.CommentRange) => void; /** * Iterates over all comments owned by `node` or its children. * * @category Nodes - Other Utilities * @example * ```ts * declare const node: ts.Node; * * forEachComment(node, (fullText, comment) => { * console.log(`Found comment at position ${comment.pos}: '${fullText}'.`); * }); * ``` */ declare function forEachComment(node: ts.Node, callback: ForEachCommentCallback, sourceFile?: ts.SourceFile): void; /** * An option that can be tested with {@link isCompilerOptionEnabled}. * * @category Compiler Options */ type BooleanCompilerOptions = keyof { [K in keyof ts.CompilerOptions as NonNullable extends boolean ? K : never]: unknown; }; /** * Checks if a given compiler option is enabled. * It handles dependencies of options, e.g. `declaration` is implicitly enabled by `composite` or `strictNullChecks` is enabled by `strict`. * However, it does not check dependencies that are already checked and reported as errors, e.g. `checkJs` without `allowJs`. * This function only handles boolean flags. * * @category Compiler Options * @example * ```ts * const options = { * allowJs: true, * }; * * isCompilerOptionEnabled(options, "allowJs"); // true * isCompilerOptionEnabled(options, "allowSyntheticDefaultImports"); // false * ``` */ declare function isCompilerOptionEnabled(options: ts.CompilerOptions, option: BooleanCompilerOptions): boolean; /** * An option that can be tested with {@link isStrictCompilerOptionEnabled}. * * @category Compiler Options */ type StrictCompilerOption = "alwaysStrict" | "noImplicitAny" | "noImplicitThis" | "strictBindCallApply" | "strictFunctionTypes" | "strictNullChecks" | "strictPropertyInitialization"; /** * Checks if a given compiler option is enabled, accounting for whether all flags * (except `strictPropertyInitialization`) have been enabled by `strict: true`. * * @category Compiler Options * @example * ```ts * const optionsLenient = { * noImplicitAny: true, * }; * * isStrictCompilerOptionEnabled(optionsLenient, "noImplicitAny"); // true * isStrictCompilerOptionEnabled(optionsLenient, "noImplicitThis"); // false * ``` * * @example * ```ts * const optionsStrict = { * noImplicitThis: false, * strict: true, * }; * * isStrictCompilerOptionEnabled(optionsStrict, "noImplicitAny"); // true * isStrictCompilerOptionEnabled(optionsStrict, "noImplicitThis"); // false * ``` */ declare function isStrictCompilerOptionEnabled(options: ts.CompilerOptions, option: StrictCompilerOption): boolean; /** * Test if the given node has the given `ModifierFlags` set. * * @category Nodes - Flag Utilities * @example * ```ts * declare const node: ts.Node; * * if (isModifierFlagSet(node, ts.ModifierFlags.Abstract)) { * // ... * } * ``` */ declare function isModifierFlagSet(node: ts.Declaration, flag: ts.ModifierFlags): boolean; /** * Test if the given node has the given `NodeFlags` set. * * @category Nodes - Flag Utilities * @example * ```ts * declare const node: ts.Node; * * if (isNodeFlagSet(node, ts.NodeFlags.AwaitContext)) { * // ... * } * ``` */ declare const isNodeFlagSet: (node: ts.Node, flag: ts.NodeFlags) => boolean; /** * Test if the given node has the given `ObjectFlags` set. * * @category Nodes - Flag Utilities * @example * ```ts * declare const node: ts.Node; * * if (isObjectFlagSet(node, ts.ObjectFlags.Anonymous)) { * // ... * } * ``` */ declare function isObjectFlagSet(objectType: ts.ObjectType, flag: ts.ObjectFlags): boolean; /** * Test if the given node has the given `SymbolFlags` set. * * @category Nodes - Flag Utilities * @example * ```ts * declare const symbol: ts.Symbol; * * if (isSymbolFlagSet(symbol, ts.SymbolFlags.Accessor)) { * // ... * } * ``` */ declare const isSymbolFlagSet: (symbol: ts.Symbol, flag: ts.SymbolFlags) => boolean; /** * Test if the given node has the given `TypeFlags` set. * * @category Nodes - Flag Utilities * @example * ```ts * declare const type: ts.Type; * * if (isTypeFlagSet(type, ts.TypeFlags.Any)) { * // ... * } * ``` */ declare const isTypeFlagSet: (type: ts.Type, flag: ts.TypeFlags) => boolean; /** * Test if the given iterable includes a modifier of any of the given kinds. * * @category Modifier Utilities * @example * ```ts * declare const modifiers: ts.Modifier[]; * * includesModifier(modifiers, ts.SyntaxKind.AbstractKeyword); * ``` */ declare function includesModifier(modifiers: Iterable | undefined, ...kinds: ts.ModifierSyntaxKind[]): boolean; /** * An `AssertionExpression` that is declared as const. * * @category Node Types */ type ConstAssertionExpression = ts.AssertionExpression & { type: ts.TypeReferenceNode; typeName: ConstAssertionIdentifier; }; /** * An `Identifier` with an `escapedText` value of `"const"`. * * @category Node Types */ type ConstAssertionIdentifier = ts.Identifier & { escapedText: ts.__String & "const"; }; /** * Test if a node is a {@link ConstAssertionExpression}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isConstAssertionExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link ConstAssertionExpression}. */ declare function isConstAssertionExpression(node: ts.AssertionExpression): node is ConstAssertionExpression; /** * Test if a node is an `IterationStatement`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isIterationStatement(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `IterationStatement`. */ declare function isIterationStatement(node: ts.Node): node is ts.IterationStatement; /** * Test if a node is a `JSDocNamespaceDeclaration`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJSDocNamespaceDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JSDocNamespaceDeclaration`. */ declare function isJSDocNamespaceDeclaration(node: ts.Node): node is ts.JSDocNamespaceDeclaration; /** * Test if a node is a `JsxTagNamePropertyAccess`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJsxTagNamePropertyAccess(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JsxTagNamePropertyAccess`. */ declare function isJsxTagNamePropertyAccess(node: ts.Node): node is ts.JsxTagNamePropertyAccess; /** * a `NamedDeclaration` that definitely has a name. * * @category Node Types */ interface NamedDeclarationWithName extends ts.NamedDeclaration { name: ts.DeclarationName; } /** * Test if a node is a {@link NamedDeclarationWithName}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNamedDeclarationWithName(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link NamedDeclarationWithName}. */ declare function isNamedDeclarationWithName(node: ts.Declaration): node is NamedDeclarationWithName; /** * Test if a node is a `NamespaceDeclaration`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNamespaceDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `NamespaceDeclaration`. */ declare function isNamespaceDeclaration(node: ts.Node): node is ts.NamespaceDeclaration; /** * A number or string-like literal. * * @category Node Types */ type NumericOrStringLikeLiteral = ts.NumericLiteral | ts.StringLiteralLike; /** * Test if a node is a {@link NumericOrStringLikeLiteral}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNumericOrStringLikeLiteral(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link NumericOrStringLikeLiteral}. */ declare function isNumericOrStringLikeLiteral(node: ts.Node): node is NumericOrStringLikeLiteral; /** * Test if a node is a `PropertyAccessEntityNameExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isPropertyAccessEntityNameExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `PropertyAccessEntityNameExpression`. */ declare function isPropertyAccessEntityNameExpression(node: ts.Node): node is ts.PropertyAccessEntityNameExpression; /** * Test if a node is a `SuperElementAccessExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSuperElementAccessExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `SuperElementAccessExpression`. */ declare function isSuperElementAccessExpression(node: ts.Node): node is ts.SuperElementAccessExpression; /** * Test if a node is a `SuperPropertyAccessExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSuperPropertyAccessExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `SuperPropertyAccessExpression`. */ declare function isSuperPropertyAccessExpression(node: ts.Node): node is ts.SuperPropertyAccessExpression; /** * A node that represents the any keyword. * * @category Node Types */ type AnyKeyword = ts.KeywordToken; /** * A node that represents the bigint keyword. * * @category Node Types */ type BigIntKeyword = ts.KeywordToken; /** * A node that represents the boolean keyword. * * @category Node Types */ type BooleanKeyword = ts.KeywordToken; /** * A node that represents the false keyword. * * @category Node Types */ type FalseKeyword = ts.KeywordToken; /** * A node that represents the import keyword. * * @category Node Types */ type ImportKeyword = ts.KeywordToken; /** * A node that represents the never keyword. * * @category Node Types */ type NeverKeyword = ts.KeywordToken; /** * A node that represents the null keyword. * * @category Node Types */ type NullKeyword = ts.KeywordToken; /** * A node that represents the number keyword. * * @category Node Types */ type NumberKeyword = ts.KeywordToken; /** * A node that represents the object keyword. * * @category Node Types */ type ObjectKeyword = ts.KeywordToken; /** * A node that represents the string keyword. * * @category Node Types */ type StringKeyword = ts.KeywordToken; /** * A node that represents the super keyword. * * @category Node Types */ type SuperKeyword = ts.KeywordToken; /** * A node that represents the symbol keyword. * * @category Node Types */ type SymbolKeyword = ts.KeywordToken; /** * A node that represents the this keyword. * * @category Node Types */ type ThisKeyword = ts.KeywordToken; /** * A node that represents the true keyword. * * @category Node Types */ type TrueKeyword = ts.KeywordToken; /** * A node that represents the undefined keyword. * * @category Node Types */ type UndefinedKeyword = ts.KeywordToken; /** * A node that represents the unknown keyword. * * @category Node Types */ type UnknownKeyword = ts.KeywordToken; /** * A node that represents the void keyword. * * @category Node Types */ type VoidKeyword = ts.KeywordToken; /** * Test if a node is an `AbstractKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAbstractKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AbstractKeyword`. */ declare function isAbstractKeyword(node: ts.Node): node is ts.AbstractKeyword; /** * Test if a node is an `AccessorKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAccessorKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AccessorKeyword`. */ declare function isAccessorKeyword(node: ts.Node): node is ts.AccessorKeyword; /** * Test if a node is an {@link AnyKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAnyKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an {@link AnyKeyword}. */ declare function isAnyKeyword(node: ts.Node): node is AnyKeyword; /** * Test if a node is an `AssertKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAssertKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AssertKeyword`. */ declare function isAssertKeyword(node: ts.Node): node is ts.AssertKeyword; /** * Test if a node is an `AssertsKeyword`. * * @deprecated With TypeScript v5, in favor of typescript's `isAssertsKeyword`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAssertsKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AssertsKeyword`. */ declare function isAssertsKeyword(node: ts.Node): node is ts.AssertsKeyword; /** * Test if a node is an `AsyncKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAsyncKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AsyncKeyword`. */ declare function isAsyncKeyword(node: ts.Node): node is ts.AsyncKeyword; /** * Test if a node is an `AwaitKeyword`. * * @deprecated With TypeScript v5, in favor of typescript's `isAwaitKeyword`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAwaitKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AwaitKeyword`. */ declare function isAwaitKeyword(node: ts.Node): node is ts.AwaitKeyword; /** * Test if a node is a {@link BigIntKeyword}. * * @deprecated With TypeScript v5, in favor of typescript's `isBigIntKeyword`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBigIntKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link BigIntKeyword}. */ declare function isBigIntKeyword(node: ts.Node): node is BigIntKeyword; /** * Test if a node is a {@link BooleanKeyword}. * * @deprecated With TypeScript v5, in favor of typescript's `isBooleanKeyword`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBooleanKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link BooleanKeyword}. */ declare function isBooleanKeyword(node: ts.Node): node is BooleanKeyword; /** * Test if a node is a `ColonToken`. * * @deprecated With TypeScript v5, in favor of typescript's `isColonToken`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isColonToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ColonToken`. */ declare function isColonToken(node: ts.Node): node is ts.ColonToken; /** * Test if a node is a `ConstKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isConstKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ConstKeyword`. */ declare function isConstKeyword(node: ts.Node): node is ts.ConstKeyword; /** * Test if a node is a `DeclareKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isDeclareKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `DeclareKeyword`. */ declare function isDeclareKeyword(node: ts.Node): node is ts.DeclareKeyword; /** * Test if a node is a `DefaultKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isDefaultKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `DefaultKeyword`. */ declare function isDefaultKeyword(node: ts.Node): node is ts.DefaultKeyword; /** * Test if a node is a `DotToken`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isDotToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `DotToken`. */ declare function isDotToken(node: ts.Node): node is ts.DotToken; /** * Test if a node is an `EndOfFileToken`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isEndOfFileToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `EndOfFileToken`. */ declare function isEndOfFileToken(node: ts.Node): node is ts.EndOfFileToken; /** * Test if a node is an `EqualsGreaterThanToken`. * * @deprecated With TypeScript v5, in favor of typescript's `isEqualsGreaterThanToken`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isEqualsGreaterThanToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `EqualsGreaterThanToken`. */ declare function isEqualsGreaterThanToken(node: ts.Node): node is ts.EqualsGreaterThanToken; /** * Test if a node is an `EqualsToken`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isEqualsToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `EqualsToken`. */ declare function isEqualsToken(node: ts.Node): node is ts.EqualsToken; /** * Test if a node is an `ExclamationToken`. * * @deprecated With TypeScript v5, in favor of typescript's `isExclamationToken`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isExclamationToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ExclamationToken`. */ declare function isExclamationToken(node: ts.Node): node is ts.ExclamationToken; /** * Test if a node is an `ExportKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isExportKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ExportKeyword`. */ declare function isExportKeyword(node: ts.Node): node is ts.ExportKeyword; /** * Test if a node is a {@link FalseKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isFalseKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link FalseKeyword}. */ declare function isFalseKeyword(node: ts.Node): node is FalseKeyword; /** * Test if a node is a `FalseLiteral`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isFalseLiteral(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `FalseLiteral`. */ declare function isFalseLiteral(node: ts.Node): node is ts.FalseLiteral; /** * Test if a node is an `ImportExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isImportExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ImportExpression`. */ declare function isImportExpression(node: ts.Node): node is ts.ImportExpression; /** * Test if a node is an {@link ImportKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isImportKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an {@link ImportKeyword}. */ declare function isImportKeyword(node: ts.Node): node is ImportKeyword; /** * Test if a node is an `InKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isInKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `InKeyword`. */ declare function isInKeyword(node: ts.Node): node is ts.InKeyword; /** * Test if a node is an `InputFiles`. * * @deprecated With TypeScript v5 * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isInputFiles(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `InputFiles`. */ declare function isInputFiles(node: ts.Node): node is ts.InputFiles; /** * Test if a node is a `JSDocText`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJSDocText(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JSDocText`. */ declare function isJSDocText(node: ts.Node): node is ts.JSDocText; /** * Test if a node is a `JsonMinusNumericLiteral`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJsonMinusNumericLiteral(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JsonMinusNumericLiteral`. */ declare function isJsonMinusNumericLiteral(node: ts.Node): node is ts.JsonMinusNumericLiteral; /** * Test if a node is a {@link NeverKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNeverKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link NeverKeyword}. */ declare function isNeverKeyword(node: ts.Node): node is NeverKeyword; /** * Test if a node is a {@link NullKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNullKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link NullKeyword}. */ declare function isNullKeyword(node: ts.Node): node is NullKeyword; /** * Test if a node is a `NullLiteral`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNullLiteral(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `NullLiteral`. */ declare function isNullLiteral(node: ts.Node): node is ts.NullLiteral; /** * Test if a node is a {@link NumberKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNumberKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link NumberKeyword}. */ declare function isNumberKeyword(node: ts.Node): node is NumberKeyword; /** * Test if a node is an {@link ObjectKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isObjectKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an {@link ObjectKeyword}. */ declare function isObjectKeyword(node: ts.Node): node is ObjectKeyword; /** * Test if a node is an `OutKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isOutKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `OutKeyword`. */ declare function isOutKeyword(node: ts.Node): node is ts.OutKeyword; /** * Test if a node is an `OverrideKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isOverrideKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `OverrideKeyword`. */ declare function isOverrideKeyword(node: ts.Node): node is ts.OverrideKeyword; /** * Test if a node is a `PrivateKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isPrivateKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `PrivateKeyword`. */ declare function isPrivateKeyword(node: ts.Node): node is ts.PrivateKeyword; /** * Test if a node is a `ProtectedKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isProtectedKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ProtectedKeyword`. */ declare function isProtectedKeyword(node: ts.Node): node is ts.ProtectedKeyword; /** * Test if a node is a `PublicKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isPublicKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `PublicKeyword`. */ declare function isPublicKeyword(node: ts.Node): node is ts.PublicKeyword; /** * Test if a node is a `QuestionDotToken`. * * @deprecated With TypeScript v5, in favor of typescript's `isQuestionDotToken`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isQuestionDotToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `QuestionDotToken`. */ declare function isQuestionDotToken(node: ts.Node): node is ts.QuestionDotToken; /** * Test if a node is a `QuestionToken`. * * @deprecated With TypeScript v5, in favor of typescript's `isQuestionToken`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isQuestionToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `QuestionToken`. */ declare function isQuestionToken(node: ts.Node): node is ts.QuestionToken; /** * Test if a node is a `ReadonlyKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isReadonlyKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ReadonlyKeyword`. */ declare function isReadonlyKeyword(node: ts.Node): node is ts.ReadonlyKeyword; /** * Test if a node is a `StaticKeyword`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isStaticKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `StaticKeyword`. */ declare function isStaticKeyword(node: ts.Node): node is ts.StaticKeyword; /** * Test if a node is a {@link StringKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isStringKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link StringKeyword}. */ declare function isStringKeyword(node: ts.Node): node is StringKeyword; /** * Test if a node is a `SuperExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSuperExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `SuperExpression`. */ declare function isSuperExpression(node: ts.Node): node is ts.SuperExpression; /** * Test if a node is a {@link SuperKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSuperKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link SuperKeyword}. */ declare function isSuperKeyword(node: ts.Node): node is SuperKeyword; /** * Test if a node is a {@link SymbolKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSymbolKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link SymbolKeyword}. */ declare function isSymbolKeyword(node: ts.Node): node is SymbolKeyword; /** * Test if a node is a `SyntaxList`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSyntaxList(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `SyntaxList`. */ declare function isSyntaxList(node: ts.Node): node is ts.SyntaxList; /** * Test if a node is a `ThisExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isThisExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ThisExpression`. */ declare function isThisExpression(node: ts.Node): node is ts.ThisExpression; /** * Test if a node is a {@link ThisKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isThisKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link ThisKeyword}. */ declare function isThisKeyword(node: ts.Node): node is ThisKeyword; /** * Test if a node is a {@link TrueKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isTrueKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link TrueKeyword}. */ declare function isTrueKeyword(node: ts.Node): node is TrueKeyword; /** * Test if a node is a `TrueLiteral`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isTrueLiteral(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `TrueLiteral`. */ declare function isTrueLiteral(node: ts.Node): node is ts.TrueLiteral; /** * Test if a node is an {@link UndefinedKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isUndefinedKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an {@link UndefinedKeyword}. */ declare function isUndefinedKeyword(node: ts.Node): node is UndefinedKeyword; /** * Test if a node is an {@link UnknownKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isUnknownKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an {@link UnknownKeyword}. */ declare function isUnknownKeyword(node: ts.Node): node is UnknownKeyword; /** * Test if a node is an `UnparsedPrologue`. * * @deprecated With TypeScript v5 * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isUnparsedPrologue(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `UnparsedPrologue`. */ declare function isUnparsedPrologue(node: ts.Node): node is ts.UnparsedPrologue; /** * Test if a node is an `UnparsedSyntheticReference`. * * @deprecated With TypeScript v5 * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isUnparsedSyntheticReference(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `UnparsedSyntheticReference`. */ declare function isUnparsedSyntheticReference(node: ts.Node): node is ts.UnparsedSyntheticReference; /** * Test if a node is a {@link VoidKeyword}. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isVoidKeyword(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a {@link VoidKeyword}. */ declare function isVoidKeyword(node: ts.Node): node is VoidKeyword; /** * Test if a node is an `AccessExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAccessExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AccessExpression`. */ declare function isAccessExpression(node: ts.Node): node is ts.AccessExpression; /** * Test if a node is an `AccessibilityModifier`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAccessibilityModifier(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AccessibilityModifier`. */ declare function isAccessibilityModifier(node: ts.Node): node is ts.AccessibilityModifier; /** * Test if a node is an `AccessorDeclaration`. * * @deprecated With TypeScript v5, in favor of typescript's `isAccessor`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAccessorDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AccessorDeclaration`. */ declare function isAccessorDeclaration(node: ts.Node): node is ts.AccessorDeclaration; /** * Test if a node is an `ArrayBindingElement`. * * @deprecated With TypeScript v5, in favor of typescript's `isArrayBindingElement`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isArrayBindingElement(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ArrayBindingElement`. */ declare function isArrayBindingElement(node: ts.Node): node is ts.ArrayBindingElement; /** * Test if a node is an `ArrayBindingOrAssignmentPattern`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isArrayBindingOrAssignmentPattern(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ArrayBindingOrAssignmentPattern`. */ declare function isArrayBindingOrAssignmentPattern(node: ts.Node): node is ts.ArrayBindingOrAssignmentPattern; /** * Test if a node is an `AssignmentPattern`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isAssignmentPattern(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `AssignmentPattern`. */ declare function isAssignmentPattern(node: ts.Node): node is ts.AssignmentPattern; /** * Test if a node is a `BindingOrAssignmentElementRestIndicator`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBindingOrAssignmentElementRestIndicator(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `BindingOrAssignmentElementRestIndicator`. */ declare function isBindingOrAssignmentElementRestIndicator(node: ts.Node): node is ts.BindingOrAssignmentElementRestIndicator; /** * Test if a node is a `BindingOrAssignmentElementTarget`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBindingOrAssignmentElementTarget(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `BindingOrAssignmentElementTarget`. */ declare function isBindingOrAssignmentElementTarget(node: ts.Node): node is ts.BindingOrAssignmentElementTarget; /** * Test if a node is a `BindingOrAssignmentPattern`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBindingOrAssignmentPattern(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `BindingOrAssignmentPattern`. */ declare function isBindingOrAssignmentPattern(node: ts.Node): node is ts.BindingOrAssignmentPattern; /** * Test if a node is a `BindingPattern`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBindingPattern(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `BindingPattern`. */ declare function isBindingPattern(node: ts.Node): node is ts.BindingPattern; /** * Test if a node is a `BlockLike`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBlockLike(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `BlockLike`. */ declare function isBlockLike(node: ts.Node): node is ts.BlockLike; /** * Test if a node is a `BooleanLiteral`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isBooleanLiteral(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `BooleanLiteral`. */ declare function isBooleanLiteral(node: ts.Node): node is ts.BooleanLiteral; /** * Test if a node is a `ClassLikeDeclaration`. * * @deprecated With TypeScript v5, in favor of typescript's `isClassLike`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isClassLikeDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ClassLikeDeclaration`. */ declare function isClassLikeDeclaration(node: ts.Node): node is ts.ClassLikeDeclaration; /** * Test if a node is a `ClassMemberModifier`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isClassMemberModifier(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ClassMemberModifier`. */ declare function isClassMemberModifier(node: ts.Node): node is ts.ClassMemberModifier; /** * Test if a node is a `DeclarationName`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isDeclarationName(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `DeclarationName`. */ declare function isDeclarationName(node: ts.Node): node is ts.DeclarationName; /** * Test if a node is a `DeclarationWithTypeParameterChildren`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isDeclarationWithTypeParameterChildren(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `DeclarationWithTypeParameterChildren`. */ declare function isDeclarationWithTypeParameterChildren(node: ts.Node): node is ts.DeclarationWithTypeParameterChildren; /** * Test if a node is a `DeclarationWithTypeParameters`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isDeclarationWithTypeParameters(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `DeclarationWithTypeParameters`. */ declare function isDeclarationWithTypeParameters(node: ts.Node): node is ts.DeclarationWithTypeParameters; /** * Test if a node is a `DestructuringPattern`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isDestructuringPattern(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `DestructuringPattern`. */ declare function isDestructuringPattern(node: ts.Node): node is ts.DestructuringPattern; /** * Test if a node is an `EntityNameExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isEntityNameExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `EntityNameExpression`. */ declare function isEntityNameExpression(node: ts.Node): node is ts.EntityNameExpression; /** * Test if a node is an `EntityNameOrEntityNameExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isEntityNameOrEntityNameExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `EntityNameOrEntityNameExpression`. */ declare function isEntityNameOrEntityNameExpression(node: ts.Node): node is ts.EntityNameOrEntityNameExpression; /** * Test if a node is a `ForInOrOfStatement`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isForInOrOfStatement(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ForInOrOfStatement`. */ declare function isForInOrOfStatement(node: ts.Node): node is ts.ForInOrOfStatement; /** * Test if a node is a `FunctionLikeDeclaration`. * * @deprecated With TypeScript v5, in favor of typescript's `isFunctionLike`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isFunctionLikeDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `FunctionLikeDeclaration`. */ declare function isFunctionLikeDeclaration(node: ts.Node): node is ts.FunctionLikeDeclaration; /** * Test if a node is a `HasDecorators`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (hasDecorators(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `HasDecorators`. */ declare function hasDecorators(node: ts.Node): node is ts.HasDecorators; /** * Test if a node is a `HasExpressionInitializer`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (hasExpressionInitializer(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `HasExpressionInitializer`. */ declare function hasExpressionInitializer(node: ts.Node): node is ts.HasExpressionInitializer; /** * Test if a node is a `HasInitializer`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (hasInitializer(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `HasInitializer`. */ declare function hasInitializer(node: ts.Node): node is ts.HasInitializer; /** * Test if a node is a `HasJSDoc`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (hasJSDoc(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `HasJSDoc`. */ declare function hasJSDoc(node: ts.Node): node is ts.HasJSDoc; /** * Test if a node is a `HasModifiers`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (hasModifiers(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `HasModifiers`. */ declare function hasModifiers(node: ts.Node): node is ts.HasModifiers; /** * Test if a node is a `HasType`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (hasType(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `HasType`. */ declare function hasType(node: ts.Node): node is ts.HasType; /** * Test if a node is a `HasTypeArguments`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (hasTypeArguments(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `HasTypeArguments`. */ declare function hasTypeArguments(node: ts.Node): node is ts.HasTypeArguments; /** * Test if a node is a `JSDocComment`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJSDocComment(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JSDocComment`. */ declare function isJSDocComment(node: ts.Node): node is ts.JSDocComment; /** * Test if a node is a `JSDocNamespaceBody`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJSDocNamespaceBody(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JSDocNamespaceBody`. */ declare function isJSDocNamespaceBody(node: ts.Node): node is ts.JSDocNamespaceBody; /** * Test if a node is a `JSDocTypeReferencingNode`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJSDocTypeReferencingNode(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JSDocTypeReferencingNode`. */ declare function isJSDocTypeReferencingNode(node: ts.Node): node is ts.JSDocTypeReferencingNode; /** * Test if a node is a `JsonObjectExpression`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJsonObjectExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JsonObjectExpression`. */ declare function isJsonObjectExpression(node: ts.Node): node is ts.JsonObjectExpression; /** * Test if a node is a `JsxAttributeLike`. * * @deprecated With TypeScript v5, in favor of typescript's `isJsxAttributeLike`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJsxAttributeLike(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JsxAttributeLike`. */ declare function isJsxAttributeLike(node: ts.Node): node is ts.JsxAttributeLike; /** * Test if a node is a `JsxAttributeValue`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJsxAttributeValue(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JsxAttributeValue`. */ declare function isJsxAttributeValue(node: ts.Node): node is ts.JsxAttributeValue; /** * Test if a node is a `JsxChild`. * * @deprecated With TypeScript v5, in favor of typescript's `isJsxChild`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJsxChild(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JsxChild`. */ declare function isJsxChild(node: ts.Node): node is ts.JsxChild; /** * Test if a node is a `JsxTagNameExpression`. * * @deprecated With TypeScript v5, in favor of typescript's `isJsxTagNameExpression`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isJsxTagNameExpression(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `JsxTagNameExpression`. */ declare function isJsxTagNameExpression(node: ts.Node): node is ts.JsxTagNameExpression; /** * Test if a node is a `LiteralToken`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isLiteralToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `LiteralToken`. */ declare function isLiteralToken(node: ts.Node): node is ts.LiteralToken; /** * Test if a node is a `ModuleBody`. * * @deprecated With TypeScript v5, in favor of typescript's `isModuleBody`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isModuleBody(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ModuleBody`. */ declare function isModuleBody(node: ts.Node): node is ts.ModuleBody; /** * Test if a node is a `ModuleName`. * * @deprecated With TypeScript v5, in favor of typescript's `isModuleName`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isModuleName(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ModuleName`. */ declare function isModuleName(node: ts.Node): node is ts.ModuleName; /** * Test if a node is a `ModuleReference`. * * @deprecated With TypeScript v5, in favor of typescript's `isModuleReference`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isModuleReference(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ModuleReference`. */ declare function isModuleReference(node: ts.Node): node is ts.ModuleReference; /** * Test if a node is a `NamedImportBindings`. * * @deprecated With TypeScript v5, in favor of typescript's `isNamedImportBindings`. * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNamedImportBindings(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `NamedImportBindings`. */ declare function isNamedImportBindings(node: ts.Node): node is ts.NamedImportBindings; /** * Test if a node is a `NamedImportsOrExports`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNamedImportsOrExports(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `NamedImportsOrExports`. */ declare function isNamedImportsOrExports(node: ts.Node): node is ts.NamedImportsOrExports; /** * Test if a node is a `NamespaceBody`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isNamespaceBody(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `NamespaceBody`. */ declare function isNamespaceBody(node: ts.Node): node is ts.NamespaceBody; /** * Test if a node is an `ObjectBindingOrAssignmentElement`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isObjectBindingOrAssignmentElement(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ObjectBindingOrAssignmentElement`. */ declare function isObjectBindingOrAssignmentElement(node: ts.Node): node is ts.ObjectBindingOrAssignmentElement; /** * Test if a node is an `ObjectBindingOrAssignmentPattern`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isObjectBindingOrAssignmentPattern(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ObjectBindingOrAssignmentPattern`. */ declare function isObjectBindingOrAssignmentPattern(node: ts.Node): node is ts.ObjectBindingOrAssignmentPattern; /** * Test if a node is an `ObjectTypeDeclaration`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isObjectTypeDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `ObjectTypeDeclaration`. */ declare function isObjectTypeDeclaration(node: ts.Node): node is ts.ObjectTypeDeclaration; /** * Test if a node is a `ParameterPropertyModifier`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isParameterPropertyModifier(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `ParameterPropertyModifier`. */ declare function isParameterPropertyModifier(node: ts.Node): node is ts.ParameterPropertyModifier; /** * Test if a node is a `PropertyNameLiteral`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isPropertyNameLiteral(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `PropertyNameLiteral`. */ declare function isPropertyNameLiteral(node: ts.Node): node is ts.PropertyNameLiteral; /** * Test if a node is a `PseudoLiteralToken`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isPseudoLiteralToken(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `PseudoLiteralToken`. */ declare function isPseudoLiteralToken(node: ts.Node): node is ts.PseudoLiteralToken; /** * Test if a node is a `SignatureDeclaration`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSignatureDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `SignatureDeclaration`. */ declare function isSignatureDeclaration(node: ts.Node): node is ts.SignatureDeclaration; /** * Test if a node is a `SuperProperty`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isSuperProperty(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `SuperProperty`. */ declare function isSuperProperty(node: ts.Node): node is ts.SuperProperty; /** * Test if a node is a `TypeOnlyCompatibleAliasDeclaration`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isTypeOnlyCompatibleAliasDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `TypeOnlyCompatibleAliasDeclaration`. */ declare function isTypeOnlyCompatibleAliasDeclaration(node: ts.Node): node is ts.TypeOnlyCompatibleAliasDeclaration; /** * Test if a node is a `TypeReferenceType`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isTypeReferenceType(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `TypeReferenceType`. */ declare function isTypeReferenceType(node: ts.Node): node is ts.TypeReferenceType; /** * Test if a node is an `UnionOrIntersectionTypeNode`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isUnionOrIntersectionTypeNode(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `UnionOrIntersectionTypeNode`. */ declare function isUnionOrIntersectionTypeNode(node: ts.Node): node is ts.UnionOrIntersectionTypeNode; /** * Test if a node is an `UnparsedSourceText`. * * @deprecated With TypeScript v5 * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isUnparsedSourceText(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be an `UnparsedSourceText`. */ declare function isUnparsedSourceText(node: ts.Node): node is ts.UnparsedSourceText; /** * Test if a node is a `VariableLikeDeclaration`. * * @category Nodes - Type Guards * @example * ```ts * declare const node: ts.Node; * * if (isVariableLikeDeclaration(node)) { * // ... * } * ``` * * @returns Whether the given node appears to be a `VariableLikeDeclaration`. */ declare function isVariableLikeDeclaration(node: ts.Node): node is ts.VariableLikeDeclaration; /** * Is the node a scope boundary, specifically due to it being a function. * * @category Scope Utilities * @example * ```ts * declare const node: ts.Node; * * if (isFunctionScopeBoundary(node, ts.ObjectFlags.Anonymous)) { * // ... * } * ``` */ declare function isFunctionScopeBoundary(node: ts.Node): boolean; /** * Test of the kind given is for assignment. * * @category Syntax Utilities * @example * ```ts * declare const kind: ts.SyntaxKind; * * isAssignmentKind(kind); * ``` */ declare function isAssignmentKind(kind: ts.SyntaxKind): boolean; /** * Test if a string is numeric. * * @category Syntax Utilities * @example * ```ts * isNumericPropertyName("abc"); // false * isNumericPropertyName("123"); // true * ``` */ declare function isNumericPropertyName(name: string | ts.__String): boolean; /** * Determines whether the given text can be used to access a property with a `PropertyAccessExpression` while preserving the property's name. * * @category Syntax Utilities * @example * ```ts * isValidPropertyAccess("abc"); // true * isValidPropertyAccess("123"); // false * ``` */ declare function isValidPropertyAccess(text: string, languageVersion?: ts.ScriptTarget): boolean; /** * Callback type used for {@link forEachToken}. * * @category Callbacks */ type ForEachTokenCallback = (token: ts.Node) => void; /** * Iterates over all tokens of `node` * * @category Nodes - Other Utilities * @example * ```ts * declare const node: ts.Node; * * forEachToken(node, (token) => { * console.log("Found token:", token.getText()); * }); * ``` * * @param node - The node whose tokens should be visited * @param callback - Is called for every token contained in `node` */ declare function forEachToken(node: ts.Node, callback: ForEachTokenCallback, sourceFile?: ts.SourceFile): void; /** * Get the `CallSignatures` of the given type. * * @category Types - Getters * @example * ```ts * declare const type: ts.Type; * * getCallSignaturesOfType(type); * ``` */ declare function getCallSignaturesOfType(type: ts.Type): readonly ts.Signature[]; /** * Get the property with the given name on the given type (if it exists). * * @category Types - Getters * @example * ```ts * declare const property: ts.Symbol; * declare const type: ts.Type; * * getPropertyOfType(type, property.getEscapedName()); * ``` */ declare function getPropertyOfType(type: ts.Type, name: ts.__String): ts.Symbol | undefined; /** * Retrieves a type symbol corresponding to a well-known string name. * * @category Types - Getters * @example * ```ts * declare const type: ts.Type; * declare const typeChecker: ts.TypeChecker; * * getWellKnownSymbolPropertyOfType(type, "asyncIterator", typeChecker); * ``` */ declare function getWellKnownSymbolPropertyOfType(type: ts.Type, wellKnownSymbolName: string, typeChecker: ts.TypeChecker): ts.Symbol | undefined; /** * A "any" intrinsic type. * * @category Type Types */ interface IntrinsicAnyType extends IntrinsicType { intrinsicName: "any"; } /** * Determines whether the given type is the "any" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicAnyType(type)) { * // ... * } * ``` */ declare function isIntrinsicAnyType(type: ts.Type): type is IntrinsicAnyType; /** * A "boolean" intrinsic type. * * @category Type Types */ interface IntrinsicBooleanType extends IntrinsicType { intrinsicName: "boolean"; } /** * Determines whether the given type is the "boolean" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicBooleanType(type)) { * // ... * } * ``` */ declare function isIntrinsicBooleanType(type: ts.Type): type is IntrinsicBooleanType; /** * A "bigint" intrinsic type. * * @category Type Types */ interface IntrinsicBigIntType extends IntrinsicType { intrinsicName: "bigint"; } /** * Determines whether the given type is the "bigint" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicBigIntType(type)) { * // ... * } * ``` */ declare function isIntrinsicBigIntType(type: ts.Type): type is IntrinsicBigIntType; /** * An "error" intrinsic type. * * This refers to a type generated when TypeScript encounters an error while * trying to resolve the type. * * @category Type Types */ interface IntrinsicErrorType extends IntrinsicType { intrinsicName: "error"; } /** * Determines whether the given type is the "error" intrinsic type. * * The intrinsic error type occurs when TypeScript encounters an error while * trying to resolve the type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicErrorType(type)) { * // ... * } * ``` */ declare function isIntrinsicErrorType(type: ts.Type): type is IntrinsicErrorType; /** * A "symbol" intrinsic type. * * @category Type Types */ interface IntrinsicESSymbolType extends IntrinsicType { intrinsicName: "symbol"; } /** * Determines whether the given type is the "symbol" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicESSymbolType(type)) { * // ... * } * ``` */ declare function isIntrinsicESSymbolType(type: ts.Type): type is IntrinsicESSymbolType; /** * An intrinsic type. * * @category Type Types */ interface IntrinsicType extends ts.Type { intrinsicName: string; objectFlags: ts.ObjectFlags; } /** * Test if a type is an {@link IntrinsicType}. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicType(type)) { * // ... * } * ``` */ declare function isIntrinsicType(type: ts.Type): type is IntrinsicType; /** * A "never" intrinsic type. * * @category Type Types */ interface IntrinsicNeverType extends IntrinsicType { intrinsicName: "never"; } /** * Determines whether the given type is the "never" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicNeverType(type)) { * // ... * } * ``` */ declare function isIntrinsicNeverType(type: ts.Type): type is IntrinsicNeverType; /** * A non-primitive intrinsic type. * E.g. An "object" intrinsic type. * * @category Type Types */ interface IntrinsicNonPrimitiveType extends IntrinsicType { intrinsicName: ""; } /** * Determines whether the given type is a non-primitive intrinsic type. * E.g. An "object" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicNonPrimitiveType(type)) { * // ... * } * ``` */ declare function isIntrinsicNonPrimitiveType(type: ts.Type): type is IntrinsicNonPrimitiveType; /** * A "null" intrinsic type. * * @category Type Types */ interface IntrinsicNullType extends IntrinsicType { intrinsicName: "null"; } /** * Determines whether the given type is the "null" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicNullType(type)) { * // ... * } * ``` */ declare function isIntrinsicNullType(type: ts.Type): type is IntrinsicNullType; /** * A "number" intrinsic type. * * @category Type Types */ interface IntrinsicNumberType extends IntrinsicType { intrinsicName: "number"; } /** * Determines whether the given type is the "number" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicNumberType(type)) { * // ... * } * ``` */ declare function isIntrinsicNumberType(type: ts.Type): type is IntrinsicNumberType; /** * A "string" intrinsic type. * * @category Type Types */ interface IntrinsicStringType extends IntrinsicType { intrinsicName: "string"; } /** * Determines whether the given type is the "string" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicStringType(type)) { * // ... * } * ``` */ declare function isIntrinsicStringType(type: ts.Type): type is IntrinsicStringType; /** * An "undefined" intrinsic type. * * @category Type Types */ interface IntrinsicUndefinedType extends IntrinsicType { intrinsicName: "undefined"; } /** * Determines whether the given type is the "undefined" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicUndefinedType(type)) { * // ... * } * ``` */ declare function isIntrinsicUndefinedType(type: ts.Type): type is IntrinsicUndefinedType; /** * An "unknown" intrinsic type. * * @category Type Types */ interface IntrinsicUnknownType extends IntrinsicType { intrinsicName: "unknown"; } /** * Determines whether the given type is the "unknown" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicUnknownType(type)) { * // ... * } * ``` */ declare function isIntrinsicUnknownType(type: ts.Type): type is IntrinsicUnknownType; /** * A "void" intrinsic type. * * @category Type Types */ interface IntrinsicVoidType extends IntrinsicType { intrinsicName: "void"; } /** * Determines whether the given type is the "void" intrinsic type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntrinsicVoidType(type)) { * // ... * } * ``` */ declare function isIntrinsicVoidType(type: ts.Type): type is IntrinsicVoidType; /** * A type that is both an {@link IntrinsicType} and a `FreshableType` * * @category Type Types */ interface FreshableIntrinsicType extends ts.FreshableType, IntrinsicType { } /** * Test if a type is a `FreshableIntrinsicType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isFreshableIntrinsicType(type)) { * // ... * } */ declare function isFreshableIntrinsicType(type: ts.Type): type is FreshableIntrinsicType; /** * Test if a type is a `TupleTypeReference`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isTupleTypeReference(type)) { * // ... * } */ declare function isTupleTypeReference(type: ts.Type): type is ts.TupleTypeReference; /** * A boolean literal. * i.e. Either a "true" or "false" literal. * * @category Type Types */ interface BooleanLiteralType extends UnknownLiteralType { intrinsicName: "true" | "false"; value: boolean; } /** * Determines whether the given type is a boolean literal type. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isBooleanLiteralType(type)) { * // ... * } * ``` */ declare function isBooleanLiteralType(type: ts.Type): type is BooleanLiteralType; /** * Test if a type is a `BigIntLiteralType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isBigIntLiteralType(type)) { * // ... * } * ``` */ declare function isBigIntLiteralType(type: ts.Type): type is ts.BigIntLiteralType; /** * A "false" literal. * * @category Type Types */ interface FalseLiteralType extends BooleanLiteralType { intrinsicName: "false"; value: false; } /** * Determines whether the given type is a boolean literal type for "false". * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isFalseLiteralType(type)) { * // ... * } * ``` */ declare function isFalseLiteralType(type: ts.Type): type is FalseLiteralType; /** * Test if a type is a `LiteralType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isLiteralType(type)) { * // ... * } * ``` */ declare function isLiteralType(type: ts.Type): type is ts.LiteralType; /** * Test if a type is a `NumberLiteralType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isNumberLiteralType(type)) { * // ... * } * ``` */ declare function isNumberLiteralType(type: ts.Type): type is ts.NumberLiteralType; /** * Test if a type is a `StringLiteralType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isStringLiteralType(type)) { * // ... * } * ``` */ declare function isStringLiteralType(type: ts.Type): type is ts.StringLiteralType; /** * Test if a type is a `TemplateLiteralType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isTemplateLiteralType(type)) { * // ... * } * ``` */ declare function isTemplateLiteralType(type: ts.Type): type is ts.TemplateLiteralType; /** * A "true" literal. * * @category Type Types */ interface TrueLiteralType extends BooleanLiteralType { intrinsicName: "true"; value: true; } /** * Determines whether the given type is a boolean literal type for "true". * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isTrueLiteralType(type)) { * // ... * } * ``` */ declare function isTrueLiteralType(type: ts.Type): type is TrueLiteralType; /** * `LiteralType` from typescript except that it allows for it to work on arbitrary types. * * @category Type Types */ interface UnknownLiteralType extends FreshableIntrinsicType { value: unknown; } /** * Test if a type is a {@link UnknownLiteralType}. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isUnknownLiteralType(type)) { * // ... * } * ``` */ declare function isUnknownLiteralType(type: ts.Type): type is UnknownLiteralType; /** * Test if a type is a `EvolvingArrayType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isEvolvingArrayType(type)) { * // ... * } * ``` */ declare function isEvolvingArrayType(type: ts.Type): type is ts.EvolvingArrayType; /** * Test if a type is a `TupleType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isTupleType(type)) { * // ... * } * ``` */ declare function isTupleType(type: ts.Type): type is ts.TupleType; /** * Test if a type is a `TypeReference`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isTypeReference(type)) { * // ... * } * ``` */ declare function isTypeReference(type: ts.Type): type is ts.TypeReference; /** * Test if a type is a `ConditionalType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isConditionalType(type)) { * // ... * } * ``` */ declare function isConditionalType(type: ts.Type): type is ts.ConditionalType; /** * Test if a type is a `EnumType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isEnumType(type)) { * // ... * } * ``` */ declare function isEnumType(type: ts.Type): type is ts.EnumType; /** * Test if a type is a `FreshableType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isFreshableType(type)) { * // ... * } * ``` */ declare function isFreshableType(type: ts.Type): type is ts.FreshableType; /** * Test if a type is a `IndexType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIndexType(type)) { * // ... * } * ``` */ declare function isIndexType(type: ts.Type): type is ts.IndexType; /** * Test if a type is a `IndexedAccessType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIndexedAccessType(type)) { * // ... * } * ``` */ declare function isIndexedAccessType(type: ts.Type): type is ts.IndexedAccessType; /** * Test if a type is a `InstantiableType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isInstantiableType(type)) { * // ... * } * ``` */ declare function isInstantiableType(type: ts.Type): type is ts.InstantiableType; /** * Test if a type is a `IntersectionType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isIntersectionType(type)) { * // ... * } * ``` */ declare function isIntersectionType(type: ts.Type): type is ts.IntersectionType; /** * Test if a type is a `ObjectType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isObjectType(type)) { * // ... * } * ``` */ declare function isObjectType(type: ts.Type): type is ts.ObjectType; /** * Test if a type is a `StringMappingType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isStringMappingType(type)) { * // ... * } * ``` */ declare function isStringMappingType(type: ts.Type): type is ts.StringMappingType; /** * Test if a type is a `SubstitutionType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isSubstitutionType(type)) { * // ... * } * ``` */ declare function isSubstitutionType(type: ts.Type): type is ts.SubstitutionType; /** * Test if a type is a `TypeParameter`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isTypeParameter(type)) { * // ... * } * ``` */ declare function isTypeParameter(type: ts.Type): type is ts.TypeParameter; /** * Test if a type is a `TypeVariable`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isTypeVariable(type)) { * // ... * } * ``` */ declare function isTypeVariable(type: ts.Type): type is ts.TypeVariable; /** * Test if a type is a `UnionType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isUnionType(type)) { * // ... * } * ``` */ declare function isUnionType(type: ts.Type): type is ts.UnionType; /** * Test if a type is a `UnionOrIntersectionType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isUnionOrIntersectionType(type)) { * // ... * } * ``` */ declare function isUnionOrIntersectionType(type: ts.Type): type is ts.UnionOrIntersectionType; /** * Test if a type is a `UniqueESSymbolType`. * * @category Types - Type Guards * @example * ```ts * declare const type: ts.Type; * * if (isUniqueESSymbolType(type)) { * // ... * } * ``` */ declare function isUniqueESSymbolType(type: ts.Type): type is ts.UniqueESSymbolType; /** * Determines whether a type is definitely falsy. This function doesn't unwrap union types. * * @category Types - Utilities * @example * ```ts * declare const type: ts.Type; * * if (isFalsyType(type)) { * // ... * } * ``` */ declare function isFalsyType(type: ts.Type): boolean; /** * Get the union type parts of the given type. * * If the given type is not a union type, an array contain only that type will be returned. * * @category Types - Utilities * @example * ```ts * declare const type: ts.Type; * * for (const typePart of intersectionTypeParts(type)) { * // ... * } * ``` */ declare function intersectionTypeParts(type: ts.Type): ts.Type[]; /** * Determines whether writing to a certain property of a given type is allowed. * * @category Types - Utilities * @example * ```ts * declare const property: ts.Symbol; * declare const type: ts.Type; * declare const typeChecker: ts.TypeChecker; * * if (isPropertyReadonlyInType(type, property.getEscapedName(), typeChecker)) { * // ... * } * ``` */ declare function isPropertyReadonlyInType(type: ts.Type, name: ts.__String, typeChecker: ts.TypeChecker): boolean; /** * Determines whether a type is thenable and thus can be used with `await`. * * @category Types - Utilities * @example * ```ts * declare const node: ts.Node; * declare const type: ts.Type; * declare const typeChecker: ts.TypeChecker; * * if (isThenableType(typeChecker, node, type)) { * // ... * } * ``` */ declare function isThenableType(typeChecker: ts.TypeChecker, node: ts.Node, type: ts.Type): boolean; /** * Determines whether a type is thenable and thus can be used with `await`. * * @category Types - Utilities * @example * ```ts * declare const expression: ts.Expression; * declare const typeChecker: ts.TypeChecker; * * if (isThenableType(typeChecker, expression)) { * // ... * } * ``` * * @example * ```ts * declare const expression: ts.Expression; * declare const typeChecker: ts.TypeChecker; * declare const type: ts.Type; * * if (isThenableType(typeChecker, expression, type)) { * // ... * } * ``` */ declare function isThenableType(typeChecker: ts.TypeChecker, node: ts.Expression, type?: ts.Type): boolean; /** * Test if the given symbol has a readonly declaration. * * @category Symbols - Utilities * @example * ```ts * declare const symbol: ts.Symbol; * declare const typeChecker: ts.TypeChecker; * * if (symbolHasReadonlyDeclaration(symbol, typeChecker)) { * // ... * } * ``` */ declare function symbolHasReadonlyDeclaration(symbol: ts.Symbol, typeChecker: ts.TypeChecker): boolean; /** * Get the union type parts of the given type. * * If the given type is not a union type, an array contain only that type will be returned. * * @category Types - Utilities * @example * ```ts * declare const type: ts.Type; * * for (const typePart of unionTypeParts(type)) { * // ... * } * ``` */ declare function unionTypeParts(type: ts.Type): ts.Type[]; export { AnyKeyword, BigIntKeyword, BooleanCompilerOptions, BooleanKeyword, BooleanLiteralType, ConstAssertionExpression, ConstAssertionIdentifier, FalseKeyword, FalseLiteralType, ForEachCommentCallback, ForEachTokenCallback, FreshableIntrinsicType, ImportKeyword, IntrinsicAnyType, IntrinsicBigIntType, IntrinsicBooleanType, IntrinsicESSymbolType, IntrinsicErrorType, IntrinsicNeverType, IntrinsicNonPrimitiveType, IntrinsicNullType, IntrinsicNumberType, IntrinsicStringType, IntrinsicType, IntrinsicUndefinedType, IntrinsicUnknownType, IntrinsicVoidType, NamedDeclarationWithName, NeverKeyword, NullKeyword, NumberKeyword, NumericOrStringLikeLiteral, ObjectKeyword, StrictCompilerOption, StringKeyword, SuperKeyword, SymbolKeyword, ThisKeyword, TrueKeyword, TrueLiteralType, UndefinedKeyword, UnknownKeyword, UnknownLiteralType, VoidKeyword, forEachComment, forEachToken, getCallSignaturesOfType, getPropertyOfType, getWellKnownSymbolPropertyOfType, hasDecorators, hasExpressionInitializer, hasInitializer, hasJSDoc, hasModifiers, hasType, hasTypeArguments, includesModifier, intersectionTypeParts, isAbstractKeyword, isAccessExpression, isAccessibilityModifier, isAccessorDeclaration, isAccessorKeyword, isAnyKeyword, isArrayBindingElement, isArrayBindingOrAssignmentPattern, isAssertKeyword, isAssertsKeyword, isAssignmentKind, isAssignmentPattern, isAsyncKeyword, isAwaitKeyword, isBigIntKeyword, isBigIntLiteralType, isBindingOrAssignmentElementRestIndicator, isBindingOrAssignmentElementTarget, isBindingOrAssignmentPattern, isBindingPattern, isBlockLike, isBooleanKeyword, isBooleanLiteral, isBooleanLiteralType, isClassLikeDeclaration, isClassMemberModifier, isColonToken, isCompilerOptionEnabled, isConditionalType, isConstAssertionExpression, isConstKeyword, isDeclarationName, isDeclarationWithTypeParameterChildren, isDeclarationWithTypeParameters, isDeclareKeyword, isDefaultKeyword, isDestructuringPattern, isDotToken, isEndOfFileToken, isEntityNameExpression, isEntityNameOrEntityNameExpression, isEnumType, isEqualsGreaterThanToken, isEqualsToken, isEvolvingArrayType, isExclamationToken, isExportKeyword, isFalseKeyword, isFalseLiteral, isFalseLiteralType, isFalsyType, isForInOrOfStatement, isFreshableIntrinsicType, isFreshableType, isFunctionLikeDeclaration, isFunctionScopeBoundary, isImportExpression, isImportKeyword, isInKeyword, isIndexType, isIndexedAccessType, isInputFiles, isInstantiableType, isIntersectionType, isIntrinsicAnyType, isIntrinsicBigIntType, isIntrinsicBooleanType, isIntrinsicESSymbolType, isIntrinsicErrorType, isIntrinsicNeverType, isIntrinsicNonPrimitiveType, isIntrinsicNullType, isIntrinsicNumberType, isIntrinsicStringType, isIntrinsicType, isIntrinsicUndefinedType, isIntrinsicUnknownType, isIntrinsicVoidType, isIterationStatement, isJSDocComment, isJSDocNamespaceBody, isJSDocNamespaceDeclaration, isJSDocText, isJSDocTypeReferencingNode, isJsonMinusNumericLiteral, isJsonObjectExpression, isJsxAttributeLike, isJsxAttributeValue, isJsxChild, isJsxTagNameExpression, isJsxTagNamePropertyAccess, isLiteralToken, isLiteralType, isModifierFlagSet, isModuleBody, isModuleName, isModuleReference, isNamedDeclarationWithName, isNamedImportBindings, isNamedImportsOrExports, isNamespaceBody, isNamespaceDeclaration, isNeverKeyword, isNodeFlagSet, isNullKeyword, isNullLiteral, isNumberKeyword, isNumberLiteralType, isNumericOrStringLikeLiteral, isNumericPropertyName, isObjectBindingOrAssignmentElement, isObjectBindingOrAssignmentPattern, isObjectFlagSet, isObjectKeyword, isObjectType, isObjectTypeDeclaration, isOutKeyword, isOverrideKeyword, isParameterPropertyModifier, isPrivateKeyword, isPropertyAccessEntityNameExpression, isPropertyNameLiteral, isPropertyReadonlyInType, isProtectedKeyword, isPseudoLiteralToken, isPublicKeyword, isQuestionDotToken, isQuestionToken, isReadonlyKeyword, isSignatureDeclaration, isStaticKeyword, isStrictCompilerOptionEnabled, isStringKeyword, isStringLiteralType, isStringMappingType, isSubstitutionType, isSuperElementAccessExpression, isSuperExpression, isSuperKeyword, isSuperProperty, isSuperPropertyAccessExpression, isSymbolFlagSet, isSymbolKeyword, isSyntaxList, isTemplateLiteralType, isThenableType, isThisExpression, isThisKeyword, isTrueKeyword, isTrueLiteral, isTrueLiteralType, isTupleType, isTupleTypeReference, isTypeFlagSet, isTypeOnlyCompatibleAliasDeclaration, isTypeParameter, isTypeReference, isTypeReferenceType, isTypeVariable, isUndefinedKeyword, isUnionOrIntersectionType, isUnionOrIntersectionTypeNode, isUnionType, isUniqueESSymbolType, isUnknownKeyword, isUnknownLiteralType, isUnparsedPrologue, isUnparsedSourceText, isUnparsedSyntheticReference, isValidPropertyAccess, isVariableLikeDeclaration, isVoidKeyword, symbolHasReadonlyDeclaration, unionTypeParts };