UNPKG

@babel/types

Version:

Babel Types is a Lodash-esque utility library for AST nodes

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