/*
 * This file is auto-generated! Do not modify it directly.
 * To re-generate run 'make build'
 */
import type * as t from "@babel/types";
import type NodePath from "../index";

export interface NodePathAssetions {
  assertAccessor(opts?: object): asserts this is NodePath<t.Accessor>;
  assertAnyTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.AnyTypeAnnotation>;
  assertArgumentPlaceholder(
    opts?: object,
  ): asserts this is NodePath<t.ArgumentPlaceholder>;
  assertArrayExpression(
    opts?: object,
  ): asserts this is NodePath<t.ArrayExpression>;
  assertArrayPattern(opts?: object): asserts this is NodePath<t.ArrayPattern>;
  assertArrayTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.ArrayTypeAnnotation>;
  assertArrowFunctionExpression(
    opts?: object,
  ): asserts this is NodePath<t.ArrowFunctionExpression>;
  assertAssignmentExpression(
    opts?: object,
  ): asserts this is NodePath<t.AssignmentExpression>;
  assertAssignmentPattern(
    opts?: object,
  ): asserts this is NodePath<t.AssignmentPattern>;
  assertAwaitExpression(
    opts?: object,
  ): asserts this is NodePath<t.AwaitExpression>;
  assertBigIntLiteral(opts?: object): asserts this is NodePath<t.BigIntLiteral>;
  assertBinary(opts?: object): asserts this is NodePath<t.Binary>;
  assertBinaryExpression(
    opts?: object,
  ): asserts this is NodePath<t.BinaryExpression>;
  assertBindExpression(
    opts?: object,
  ): asserts this is NodePath<t.BindExpression>;
  assertBlock(opts?: object): asserts this is NodePath<t.Block>;
  assertBlockParent(opts?: object): asserts this is NodePath<t.BlockParent>;
  assertBlockStatement(
    opts?: object,
  ): asserts this is NodePath<t.BlockStatement>;
  assertBooleanLiteral(
    opts?: object,
  ): asserts this is NodePath<t.BooleanLiteral>;
  assertBooleanLiteralTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.BooleanLiteralTypeAnnotation>;
  assertBooleanTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.BooleanTypeAnnotation>;
  assertBreakStatement(
    opts?: object,
  ): asserts this is NodePath<t.BreakStatement>;
  assertCallExpression(
    opts?: object,
  ): asserts this is NodePath<t.CallExpression>;
  assertCatchClause(opts?: object): asserts this is NodePath<t.CatchClause>;
  assertClass(opts?: object): asserts this is NodePath<t.Class>;
  assertClassAccessorProperty(
    opts?: object,
  ): asserts this is NodePath<t.ClassAccessorProperty>;
  assertClassBody(opts?: object): asserts this is NodePath<t.ClassBody>;
  assertClassDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.ClassDeclaration>;
  assertClassExpression(
    opts?: object,
  ): asserts this is NodePath<t.ClassExpression>;
  assertClassImplements(
    opts?: object,
  ): asserts this is NodePath<t.ClassImplements>;
  assertClassMethod(opts?: object): asserts this is NodePath<t.ClassMethod>;
  assertClassPrivateMethod(
    opts?: object,
  ): asserts this is NodePath<t.ClassPrivateMethod>;
  assertClassPrivateProperty(
    opts?: object,
  ): asserts this is NodePath<t.ClassPrivateProperty>;
  assertClassProperty(opts?: object): asserts this is NodePath<t.ClassProperty>;
  assertCompletionStatement(
    opts?: object,
  ): asserts this is NodePath<t.CompletionStatement>;
  assertConditional(opts?: object): asserts this is NodePath<t.Conditional>;
  assertConditionalExpression(
    opts?: object,
  ): asserts this is NodePath<t.ConditionalExpression>;
  assertContinueStatement(
    opts?: object,
  ): asserts this is NodePath<t.ContinueStatement>;
  assertDebuggerStatement(
    opts?: object,
  ): asserts this is NodePath<t.DebuggerStatement>;
  assertDecimalLiteral(
    opts?: object,
  ): asserts this is NodePath<t.DecimalLiteral>;
  assertDeclaration(opts?: object): asserts this is NodePath<t.Declaration>;
  assertDeclareClass(opts?: object): asserts this is NodePath<t.DeclareClass>;
  assertDeclareExportAllDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.DeclareExportAllDeclaration>;
  assertDeclareExportDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.DeclareExportDeclaration>;
  assertDeclareFunction(
    opts?: object,
  ): asserts this is NodePath<t.DeclareFunction>;
  assertDeclareInterface(
    opts?: object,
  ): asserts this is NodePath<t.DeclareInterface>;
  assertDeclareModule(opts?: object): asserts this is NodePath<t.DeclareModule>;
  assertDeclareModuleExports(
    opts?: object,
  ): asserts this is NodePath<t.DeclareModuleExports>;
  assertDeclareOpaqueType(
    opts?: object,
  ): asserts this is NodePath<t.DeclareOpaqueType>;
  assertDeclareTypeAlias(
    opts?: object,
  ): asserts this is NodePath<t.DeclareTypeAlias>;
  assertDeclareVariable(
    opts?: object,
  ): asserts this is NodePath<t.DeclareVariable>;
  assertDeclaredPredicate(
    opts?: object,
  ): asserts this is NodePath<t.DeclaredPredicate>;
  assertDecorator(opts?: object): asserts this is NodePath<t.Decorator>;
  assertDirective(opts?: object): asserts this is NodePath<t.Directive>;
  assertDirectiveLiteral(
    opts?: object,
  ): asserts this is NodePath<t.DirectiveLiteral>;
  assertDoExpression(opts?: object): asserts this is NodePath<t.DoExpression>;
  assertDoWhileStatement(
    opts?: object,
  ): asserts this is NodePath<t.DoWhileStatement>;
  assertEmptyStatement(
    opts?: object,
  ): asserts this is NodePath<t.EmptyStatement>;
  assertEmptyTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.EmptyTypeAnnotation>;
  assertEnumBody(opts?: object): asserts this is NodePath<t.EnumBody>;
  assertEnumBooleanBody(
    opts?: object,
  ): asserts this is NodePath<t.EnumBooleanBody>;
  assertEnumBooleanMember(
    opts?: object,
  ): asserts this is NodePath<t.EnumBooleanMember>;
  assertEnumDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.EnumDeclaration>;
  assertEnumDefaultedMember(
    opts?: object,
  ): asserts this is NodePath<t.EnumDefaultedMember>;
  assertEnumMember(opts?: object): asserts this is NodePath<t.EnumMember>;
  assertEnumNumberBody(
    opts?: object,
  ): asserts this is NodePath<t.EnumNumberBody>;
  assertEnumNumberMember(
    opts?: object,
  ): asserts this is NodePath<t.EnumNumberMember>;
  assertEnumStringBody(
    opts?: object,
  ): asserts this is NodePath<t.EnumStringBody>;
  assertEnumStringMember(
    opts?: object,
  ): asserts this is NodePath<t.EnumStringMember>;
  assertEnumSymbolBody(
    opts?: object,
  ): asserts this is NodePath<t.EnumSymbolBody>;
  assertExistsTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.ExistsTypeAnnotation>;
  assertExportAllDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.ExportAllDeclaration>;
  assertExportDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.ExportDeclaration>;
  assertExportDefaultDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.ExportDefaultDeclaration>;
  assertExportDefaultSpecifier(
    opts?: object,
  ): asserts this is NodePath<t.ExportDefaultSpecifier>;
  assertExportNamedDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.ExportNamedDeclaration>;
  assertExportNamespaceSpecifier(
    opts?: object,
  ): asserts this is NodePath<t.ExportNamespaceSpecifier>;
  assertExportSpecifier(
    opts?: object,
  ): asserts this is NodePath<t.ExportSpecifier>;
  assertExpression(opts?: object): asserts this is NodePath<t.Expression>;
  assertExpressionStatement(
    opts?: object,
  ): asserts this is NodePath<t.ExpressionStatement>;
  assertExpressionWrapper(
    opts?: object,
  ): asserts this is NodePath<t.ExpressionWrapper>;
  assertFile(opts?: object): asserts this is NodePath<t.File>;
  assertFlow(opts?: object): asserts this is NodePath<t.Flow>;
  assertFlowBaseAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.FlowBaseAnnotation>;
  assertFlowDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.FlowDeclaration>;
  assertFlowPredicate(opts?: object): asserts this is NodePath<t.FlowPredicate>;
  assertFlowType(opts?: object): asserts this is NodePath<t.FlowType>;
  assertFor(opts?: object): asserts this is NodePath<t.For>;
  assertForInStatement(
    opts?: object,
  ): asserts this is NodePath<t.ForInStatement>;
  assertForOfStatement(
    opts?: object,
  ): asserts this is NodePath<t.ForOfStatement>;
  assertForStatement(opts?: object): asserts this is NodePath<t.ForStatement>;
  assertForXStatement(opts?: object): asserts this is NodePath<t.ForXStatement>;
  assertFunction(opts?: object): asserts this is NodePath<t.Function>;
  assertFunctionDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.FunctionDeclaration>;
  assertFunctionExpression(
    opts?: object,
  ): asserts this is NodePath<t.FunctionExpression>;
  assertFunctionParent(
    opts?: object,
  ): asserts this is NodePath<t.FunctionParent>;
  assertFunctionTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.FunctionTypeAnnotation>;
  assertFunctionTypeParam(
    opts?: object,
  ): asserts this is NodePath<t.FunctionTypeParam>;
  assertGenericTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.GenericTypeAnnotation>;
  assertIdentifier(opts?: object): asserts this is NodePath<t.Identifier>;
  assertIfStatement(opts?: object): asserts this is NodePath<t.IfStatement>;
  assertImmutable(opts?: object): asserts this is NodePath<t.Immutable>;
  assertImport(opts?: object): asserts this is NodePath<t.Import>;
  assertImportAttribute(
    opts?: object,
  ): asserts this is NodePath<t.ImportAttribute>;
  assertImportDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.ImportDeclaration>;
  assertImportDefaultSpecifier(
    opts?: object,
  ): asserts this is NodePath<t.ImportDefaultSpecifier>;
  assertImportNamespaceSpecifier(
    opts?: object,
  ): asserts this is NodePath<t.ImportNamespaceSpecifier>;
  assertImportSpecifier(
    opts?: object,
  ): asserts this is NodePath<t.ImportSpecifier>;
  assertIndexedAccessType(
    opts?: object,
  ): asserts this is NodePath<t.IndexedAccessType>;
  assertInferredPredicate(
    opts?: object,
  ): asserts this is NodePath<t.InferredPredicate>;
  assertInterfaceDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.InterfaceDeclaration>;
  assertInterfaceExtends(
    opts?: object,
  ): asserts this is NodePath<t.InterfaceExtends>;
  assertInterfaceTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.InterfaceTypeAnnotation>;
  assertInterpreterDirective(
    opts?: object,
  ): asserts this is NodePath<t.InterpreterDirective>;
  assertIntersectionTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.IntersectionTypeAnnotation>;
  assertJSX(opts?: object): asserts this is NodePath<t.JSX>;
  assertJSXAttribute(opts?: object): asserts this is NodePath<t.JSXAttribute>;
  assertJSXClosingElement(
    opts?: object,
  ): asserts this is NodePath<t.JSXClosingElement>;
  assertJSXClosingFragment(
    opts?: object,
  ): asserts this is NodePath<t.JSXClosingFragment>;
  assertJSXElement(opts?: object): asserts this is NodePath<t.JSXElement>;
  assertJSXEmptyExpression(
    opts?: object,
  ): asserts this is NodePath<t.JSXEmptyExpression>;
  assertJSXExpressionContainer(
    opts?: object,
  ): asserts this is NodePath<t.JSXExpressionContainer>;
  assertJSXFragment(opts?: object): asserts this is NodePath<t.JSXFragment>;
  assertJSXIdentifier(opts?: object): asserts this is NodePath<t.JSXIdentifier>;
  assertJSXMemberExpression(
    opts?: object,
  ): asserts this is NodePath<t.JSXMemberExpression>;
  assertJSXNamespacedName(
    opts?: object,
  ): asserts this is NodePath<t.JSXNamespacedName>;
  assertJSXOpeningElement(
    opts?: object,
  ): asserts this is NodePath<t.JSXOpeningElement>;
  assertJSXOpeningFragment(
    opts?: object,
  ): asserts this is NodePath<t.JSXOpeningFragment>;
  assertJSXSpreadAttribute(
    opts?: object,
  ): asserts this is NodePath<t.JSXSpreadAttribute>;
  assertJSXSpreadChild(
    opts?: object,
  ): asserts this is NodePath<t.JSXSpreadChild>;
  assertJSXText(opts?: object): asserts this is NodePath<t.JSXText>;
  assertLVal(opts?: object): asserts this is NodePath<t.LVal>;
  assertLabeledStatement(
    opts?: object,
  ): asserts this is NodePath<t.LabeledStatement>;
  assertLiteral(opts?: object): asserts this is NodePath<t.Literal>;
  assertLogicalExpression(
    opts?: object,
  ): asserts this is NodePath<t.LogicalExpression>;
  assertLoop(opts?: object): asserts this is NodePath<t.Loop>;
  assertMemberExpression(
    opts?: object,
  ): asserts this is NodePath<t.MemberExpression>;
  assertMetaProperty(opts?: object): asserts this is NodePath<t.MetaProperty>;
  assertMethod(opts?: object): asserts this is NodePath<t.Method>;
  assertMiscellaneous(opts?: object): asserts this is NodePath<t.Miscellaneous>;
  assertMixedTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.MixedTypeAnnotation>;
  assertModuleDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.ModuleDeclaration>;
  assertModuleExpression(
    opts?: object,
  ): asserts this is NodePath<t.ModuleExpression>;
  assertModuleSpecifier(
    opts?: object,
  ): asserts this is NodePath<t.ModuleSpecifier>;
  assertNewExpression(opts?: object): asserts this is NodePath<t.NewExpression>;
  assertNoop(opts?: object): asserts this is NodePath<t.Noop>;
  assertNullLiteral(opts?: object): asserts this is NodePath<t.NullLiteral>;
  assertNullLiteralTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.NullLiteralTypeAnnotation>;
  assertNullableTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.NullableTypeAnnotation>;
  assertNumberLiteral(opts?: object): asserts this is NodePath<t.NumberLiteral>;
  assertNumberLiteralTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.NumberLiteralTypeAnnotation>;
  assertNumberTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.NumberTypeAnnotation>;
  assertNumericLiteral(
    opts?: object,
  ): asserts this is NodePath<t.NumericLiteral>;
  assertObjectExpression(
    opts?: object,
  ): asserts this is NodePath<t.ObjectExpression>;
  assertObjectMember(opts?: object): asserts this is NodePath<t.ObjectMember>;
  assertObjectMethod(opts?: object): asserts this is NodePath<t.ObjectMethod>;
  assertObjectPattern(opts?: object): asserts this is NodePath<t.ObjectPattern>;
  assertObjectProperty(
    opts?: object,
  ): asserts this is NodePath<t.ObjectProperty>;
  assertObjectTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.ObjectTypeAnnotation>;
  assertObjectTypeCallProperty(
    opts?: object,
  ): asserts this is NodePath<t.ObjectTypeCallProperty>;
  assertObjectTypeIndexer(
    opts?: object,
  ): asserts this is NodePath<t.ObjectTypeIndexer>;
  assertObjectTypeInternalSlot(
    opts?: object,
  ): asserts this is NodePath<t.ObjectTypeInternalSlot>;
  assertObjectTypeProperty(
    opts?: object,
  ): asserts this is NodePath<t.ObjectTypeProperty>;
  assertObjectTypeSpreadProperty(
    opts?: object,
  ): asserts this is NodePath<t.ObjectTypeSpreadProperty>;
  assertOpaqueType(opts?: object): asserts this is NodePath<t.OpaqueType>;
  assertOptionalCallExpression(
    opts?: object,
  ): asserts this is NodePath<t.OptionalCallExpression>;
  assertOptionalIndexedAccessType(
    opts?: object,
  ): asserts this is NodePath<t.OptionalIndexedAccessType>;
  assertOptionalMemberExpression(
    opts?: object,
  ): asserts this is NodePath<t.OptionalMemberExpression>;
  assertParenthesizedExpression(
    opts?: object,
  ): asserts this is NodePath<t.ParenthesizedExpression>;
  assertPattern(opts?: object): asserts this is NodePath<t.Pattern>;
  assertPatternLike(opts?: object): asserts this is NodePath<t.PatternLike>;
  assertPipelineBareFunction(
    opts?: object,
  ): asserts this is NodePath<t.PipelineBareFunction>;
  assertPipelinePrimaryTopicReference(
    opts?: object,
  ): asserts this is NodePath<t.PipelinePrimaryTopicReference>;
  assertPipelineTopicExpression(
    opts?: object,
  ): asserts this is NodePath<t.PipelineTopicExpression>;
  assertPlaceholder(opts?: object): asserts this is NodePath<t.Placeholder>;
  assertPrivate(opts?: object): asserts this is NodePath<t.Private>;
  assertPrivateName(opts?: object): asserts this is NodePath<t.PrivateName>;
  assertProgram(opts?: object): asserts this is NodePath<t.Program>;
  assertProperty(opts?: object): asserts this is NodePath<t.Property>;
  assertPureish(opts?: object): asserts this is NodePath<t.Pureish>;
  assertQualifiedTypeIdentifier(
    opts?: object,
  ): asserts this is NodePath<t.QualifiedTypeIdentifier>;
  assertRecordExpression(
    opts?: object,
  ): asserts this is NodePath<t.RecordExpression>;
  assertRegExpLiteral(opts?: object): asserts this is NodePath<t.RegExpLiteral>;
  assertRegexLiteral(opts?: object): asserts this is NodePath<t.RegexLiteral>;
  assertRestElement(opts?: object): asserts this is NodePath<t.RestElement>;
  assertRestProperty(opts?: object): asserts this is NodePath<t.RestProperty>;
  assertReturnStatement(
    opts?: object,
  ): asserts this is NodePath<t.ReturnStatement>;
  assertScopable(opts?: object): asserts this is NodePath<t.Scopable>;
  assertSequenceExpression(
    opts?: object,
  ): asserts this is NodePath<t.SequenceExpression>;
  assertSpreadElement(opts?: object): asserts this is NodePath<t.SpreadElement>;
  assertSpreadProperty(
    opts?: object,
  ): asserts this is NodePath<t.SpreadProperty>;
  assertStandardized(opts?: object): asserts this is NodePath<t.Standardized>;
  assertStatement(opts?: object): asserts this is NodePath<t.Statement>;
  assertStaticBlock(opts?: object): asserts this is NodePath<t.StaticBlock>;
  assertStringLiteral(opts?: object): asserts this is NodePath<t.StringLiteral>;
  assertStringLiteralTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.StringLiteralTypeAnnotation>;
  assertStringTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.StringTypeAnnotation>;
  assertSuper(opts?: object): asserts this is NodePath<t.Super>;
  assertSwitchCase(opts?: object): asserts this is NodePath<t.SwitchCase>;
  assertSwitchStatement(
    opts?: object,
  ): asserts this is NodePath<t.SwitchStatement>;
  assertSymbolTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.SymbolTypeAnnotation>;
  assertTSAnyKeyword(opts?: object): asserts this is NodePath<t.TSAnyKeyword>;
  assertTSArrayType(opts?: object): asserts this is NodePath<t.TSArrayType>;
  assertTSAsExpression(
    opts?: object,
  ): asserts this is NodePath<t.TSAsExpression>;
  assertTSBaseType(opts?: object): asserts this is NodePath<t.TSBaseType>;
  assertTSBigIntKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSBigIntKeyword>;
  assertTSBooleanKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSBooleanKeyword>;
  assertTSCallSignatureDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSCallSignatureDeclaration>;
  assertTSConditionalType(
    opts?: object,
  ): asserts this is NodePath<t.TSConditionalType>;
  assertTSConstructSignatureDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSConstructSignatureDeclaration>;
  assertTSConstructorType(
    opts?: object,
  ): asserts this is NodePath<t.TSConstructorType>;
  assertTSDeclareFunction(
    opts?: object,
  ): asserts this is NodePath<t.TSDeclareFunction>;
  assertTSDeclareMethod(
    opts?: object,
  ): asserts this is NodePath<t.TSDeclareMethod>;
  assertTSEntityName(opts?: object): asserts this is NodePath<t.TSEntityName>;
  assertTSEnumDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSEnumDeclaration>;
  assertTSEnumMember(opts?: object): asserts this is NodePath<t.TSEnumMember>;
  assertTSExportAssignment(
    opts?: object,
  ): asserts this is NodePath<t.TSExportAssignment>;
  assertTSExpressionWithTypeArguments(
    opts?: object,
  ): asserts this is NodePath<t.TSExpressionWithTypeArguments>;
  assertTSExternalModuleReference(
    opts?: object,
  ): asserts this is NodePath<t.TSExternalModuleReference>;
  assertTSFunctionType(
    opts?: object,
  ): asserts this is NodePath<t.TSFunctionType>;
  assertTSImportEqualsDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSImportEqualsDeclaration>;
  assertTSImportType(opts?: object): asserts this is NodePath<t.TSImportType>;
  assertTSIndexSignature(
    opts?: object,
  ): asserts this is NodePath<t.TSIndexSignature>;
  assertTSIndexedAccessType(
    opts?: object,
  ): asserts this is NodePath<t.TSIndexedAccessType>;
  assertTSInferType(opts?: object): asserts this is NodePath<t.TSInferType>;
  assertTSInstantiationExpression(
    opts?: object,
  ): asserts this is NodePath<t.TSInstantiationExpression>;
  assertTSInterfaceBody(
    opts?: object,
  ): asserts this is NodePath<t.TSInterfaceBody>;
  assertTSInterfaceDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSInterfaceDeclaration>;
  assertTSIntersectionType(
    opts?: object,
  ): asserts this is NodePath<t.TSIntersectionType>;
  assertTSIntrinsicKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSIntrinsicKeyword>;
  assertTSLiteralType(opts?: object): asserts this is NodePath<t.TSLiteralType>;
  assertTSMappedType(opts?: object): asserts this is NodePath<t.TSMappedType>;
  assertTSMethodSignature(
    opts?: object,
  ): asserts this is NodePath<t.TSMethodSignature>;
  assertTSModuleBlock(opts?: object): asserts this is NodePath<t.TSModuleBlock>;
  assertTSModuleDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSModuleDeclaration>;
  assertTSNamedTupleMember(
    opts?: object,
  ): asserts this is NodePath<t.TSNamedTupleMember>;
  assertTSNamespaceExportDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSNamespaceExportDeclaration>;
  assertTSNeverKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSNeverKeyword>;
  assertTSNonNullExpression(
    opts?: object,
  ): asserts this is NodePath<t.TSNonNullExpression>;
  assertTSNullKeyword(opts?: object): asserts this is NodePath<t.TSNullKeyword>;
  assertTSNumberKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSNumberKeyword>;
  assertTSObjectKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSObjectKeyword>;
  assertTSOptionalType(
    opts?: object,
  ): asserts this is NodePath<t.TSOptionalType>;
  assertTSParameterProperty(
    opts?: object,
  ): asserts this is NodePath<t.TSParameterProperty>;
  assertTSParenthesizedType(
    opts?: object,
  ): asserts this is NodePath<t.TSParenthesizedType>;
  assertTSPropertySignature(
    opts?: object,
  ): asserts this is NodePath<t.TSPropertySignature>;
  assertTSQualifiedName(
    opts?: object,
  ): asserts this is NodePath<t.TSQualifiedName>;
  assertTSRestType(opts?: object): asserts this is NodePath<t.TSRestType>;
  assertTSStringKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSStringKeyword>;
  assertTSSymbolKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSSymbolKeyword>;
  assertTSThisType(opts?: object): asserts this is NodePath<t.TSThisType>;
  assertTSTupleType(opts?: object): asserts this is NodePath<t.TSTupleType>;
  assertTSType(opts?: object): asserts this is NodePath<t.TSType>;
  assertTSTypeAliasDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeAliasDeclaration>;
  assertTSTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeAnnotation>;
  assertTSTypeAssertion(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeAssertion>;
  assertTSTypeElement(opts?: object): asserts this is NodePath<t.TSTypeElement>;
  assertTSTypeLiteral(opts?: object): asserts this is NodePath<t.TSTypeLiteral>;
  assertTSTypeOperator(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeOperator>;
  assertTSTypeParameter(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeParameter>;
  assertTSTypeParameterDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeParameterDeclaration>;
  assertTSTypeParameterInstantiation(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeParameterInstantiation>;
  assertTSTypePredicate(
    opts?: object,
  ): asserts this is NodePath<t.TSTypePredicate>;
  assertTSTypeQuery(opts?: object): asserts this is NodePath<t.TSTypeQuery>;
  assertTSTypeReference(
    opts?: object,
  ): asserts this is NodePath<t.TSTypeReference>;
  assertTSUndefinedKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSUndefinedKeyword>;
  assertTSUnionType(opts?: object): asserts this is NodePath<t.TSUnionType>;
  assertTSUnknownKeyword(
    opts?: object,
  ): asserts this is NodePath<t.TSUnknownKeyword>;
  assertTSVoidKeyword(opts?: object): asserts this is NodePath<t.TSVoidKeyword>;
  assertTaggedTemplateExpression(
    opts?: object,
  ): asserts this is NodePath<t.TaggedTemplateExpression>;
  assertTemplateElement(
    opts?: object,
  ): asserts this is NodePath<t.TemplateElement>;
  assertTemplateLiteral(
    opts?: object,
  ): asserts this is NodePath<t.TemplateLiteral>;
  assertTerminatorless(
    opts?: object,
  ): asserts this is NodePath<t.Terminatorless>;
  assertThisExpression(
    opts?: object,
  ): asserts this is NodePath<t.ThisExpression>;
  assertThisTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.ThisTypeAnnotation>;
  assertThrowStatement(
    opts?: object,
  ): asserts this is NodePath<t.ThrowStatement>;
  assertTopicReference(
    opts?: object,
  ): asserts this is NodePath<t.TopicReference>;
  assertTryStatement(opts?: object): asserts this is NodePath<t.TryStatement>;
  assertTupleExpression(
    opts?: object,
  ): asserts this is NodePath<t.TupleExpression>;
  assertTupleTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.TupleTypeAnnotation>;
  assertTypeAlias(opts?: object): asserts this is NodePath<t.TypeAlias>;
  assertTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.TypeAnnotation>;
  assertTypeCastExpression(
    opts?: object,
  ): asserts this is NodePath<t.TypeCastExpression>;
  assertTypeParameter(opts?: object): asserts this is NodePath<t.TypeParameter>;
  assertTypeParameterDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.TypeParameterDeclaration>;
  assertTypeParameterInstantiation(
    opts?: object,
  ): asserts this is NodePath<t.TypeParameterInstantiation>;
  assertTypeScript(opts?: object): asserts this is NodePath<t.TypeScript>;
  assertTypeofTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.TypeofTypeAnnotation>;
  assertUnaryExpression(
    opts?: object,
  ): asserts this is NodePath<t.UnaryExpression>;
  assertUnaryLike(opts?: object): asserts this is NodePath<t.UnaryLike>;
  assertUnionTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.UnionTypeAnnotation>;
  assertUpdateExpression(
    opts?: object,
  ): asserts this is NodePath<t.UpdateExpression>;
  assertUserWhitespacable(
    opts?: object,
  ): asserts this is NodePath<t.UserWhitespacable>;
  assertV8IntrinsicIdentifier(
    opts?: object,
  ): asserts this is NodePath<t.V8IntrinsicIdentifier>;
  assertVariableDeclaration(
    opts?: object,
  ): asserts this is NodePath<t.VariableDeclaration>;
  assertVariableDeclarator(
    opts?: object,
  ): asserts this is NodePath<t.VariableDeclarator>;
  assertVariance(opts?: object): asserts this is NodePath<t.Variance>;
  assertVoidTypeAnnotation(
    opts?: object,
  ): asserts this is NodePath<t.VoidTypeAnnotation>;
  assertWhile(opts?: object): asserts this is NodePath<t.While>;
  assertWhileStatement(
    opts?: object,
  ): asserts this is NodePath<t.WhileStatement>;
  assertWithStatement(opts?: object): asserts this is NodePath<t.WithStatement>;
  assertYieldExpression(
    opts?: object,
  ): asserts this is NodePath<t.YieldExpression>;
}
