From 3e5fce07e43c383768589bf00abc4e0bd9dd9e0b Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Tue, 9 Jan 2018 09:25:45 -0600 Subject: [PATCH] Regen lib/types (#7180) --- lib/types.js | 206 ++++++++++++++++++++++++++++----------------------- 1 file changed, 112 insertions(+), 94 deletions(-) diff --git a/lib/types.js b/lib/types.js index 255ee883db..e0bfc8cb45 100644 --- a/lib/types.js +++ b/lib/types.js @@ -534,7 +534,7 @@ declare class BabelNodeAnyTypeAnnotation extends BabelNode { declare class BabelNodeArrayTypeAnnotation extends BabelNode { type: "ArrayTypeAnnotation"; - elementType: any; + elementType: BabelNodeFlowType; } declare class BabelNodeBooleanTypeAnnotation extends BabelNode { @@ -543,6 +543,7 @@ declare class BabelNodeBooleanTypeAnnotation extends BabelNode { declare class BabelNodeBooleanLiteralTypeAnnotation extends BabelNode { type: "BooleanLiteralTypeAnnotation"; + value?: boolean; } declare class BabelNodeNullLiteralTypeAnnotation extends BabelNode { @@ -551,74 +552,79 @@ declare class BabelNodeNullLiteralTypeAnnotation extends BabelNode { declare class BabelNodeClassImplements extends BabelNode { type: "ClassImplements"; - id: any; - typeParameters: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterInstantiation; } declare class BabelNodeDeclareClass extends BabelNode { type: "DeclareClass"; - id: any; - typeParameters: any; - body: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterInstantiation; + body: BabelNodeObjectTypeAnnotation; + mixins?: any; } declare class BabelNodeDeclareFunction extends BabelNode { type: "DeclareFunction"; - id: any; + id: BabelNodeIdentifier; + predicate?: ?BabelNodeDeclaredPredicate; } declare class BabelNodeDeclareInterface extends BabelNode { type: "DeclareInterface"; - id: any; - typeParameters: any; - body: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterDeclaration; + body: BabelNodeObjectTypeAnnotation; + mixins?: any; } declare class BabelNodeDeclareModule extends BabelNode { type: "DeclareModule"; - id: any; - body: any; + id: BabelNodeIdentifier | BabelNodeStringLiteral; + body: BabelNodeBlockStatement; + kind?: "CommonJS" | "ES"; } declare class BabelNodeDeclareModuleExports extends BabelNode { type: "DeclareModuleExports"; - typeAnnotation: any; + typeAnnotation: BabelNodeTypeAnnotation; } declare class BabelNodeDeclareTypeAlias extends BabelNode { type: "DeclareTypeAlias"; - id: any; - typeParameters: any; - right: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterDeclaration; + right: BabelNodeFlowType; } declare class BabelNodeDeclareOpaqueType extends BabelNode { type: "DeclareOpaqueType"; - id: any; - typeParameters: any; - supertype: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterDeclaration; + supertype?: ?BabelNodeFlowType; } declare class BabelNodeDeclareVariable extends BabelNode { type: "DeclareVariable"; - id: any; + id: BabelNodeIdentifier; } declare class BabelNodeDeclareExportDeclaration extends BabelNode { type: "DeclareExportDeclaration"; - declaration: any; - specifiers: any; - source: any; + declaration?: ?BabelNodeFlow; + specifiers?: any; + source?: ?BabelNodeStringLiteral; } declare class BabelNodeDeclareExportAllDeclaration extends BabelNode { type: "DeclareExportAllDeclaration"; - source: any; + source: BabelNodeStringLiteral; + exportKind?: ["type","value"]; } declare class BabelNodeDeclaredPredicate extends BabelNode { type: "DeclaredPredicate"; - value: any; + value: BabelNodeFlow; } declare class BabelNodeExistsTypeAnnotation extends BabelNode { @@ -627,22 +633,23 @@ declare class BabelNodeExistsTypeAnnotation extends BabelNode { declare class BabelNodeFunctionTypeAnnotation extends BabelNode { type: "FunctionTypeAnnotation"; - typeParameters: any; + typeParameters?: ?BabelNodeTypeParameterDeclaration; params: any; - rest: any; - returnType: any; + rest?: ?BabelNodeFunctionTypeParam; + returnType: BabelNodeFlowType; } declare class BabelNodeFunctionTypeParam extends BabelNode { type: "FunctionTypeParam"; - name: any; - typeAnnotation: any; + name?: ?BabelNodeIdentifier; + typeAnnotation: BabelNodeFlowType; + optional?: boolean; } declare class BabelNodeGenericTypeAnnotation extends BabelNode { type: "GenericTypeAnnotation"; - id: any; - typeParameters: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterInstantiation; } declare class BabelNodeInferredPredicate extends BabelNode { @@ -651,15 +658,16 @@ declare class BabelNodeInferredPredicate extends BabelNode { declare class BabelNodeInterfaceExtends extends BabelNode { type: "InterfaceExtends"; - id: any; - typeParameters: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterInstantiation; } declare class BabelNodeInterfaceDeclaration extends BabelNode { type: "InterfaceDeclaration"; - id: any; - typeParameters: any; - body: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterDeclaration; + body: BabelNodeObjectTypeAnnotation; + mixins?: any; } declare class BabelNodeIntersectionTypeAnnotation extends BabelNode { @@ -677,11 +685,12 @@ declare class BabelNodeEmptyTypeAnnotation extends BabelNode { declare class BabelNodeNullableTypeAnnotation extends BabelNode { type: "NullableTypeAnnotation"; - typeAnnotation: any; + typeAnnotation: BabelNodeFlowType; } declare class BabelNodeNumberLiteralTypeAnnotation extends BabelNode { type: "NumberLiteralTypeAnnotation"; + value?: number; } declare class BabelNodeNumberTypeAnnotation extends BabelNode { @@ -691,49 +700,55 @@ declare class BabelNodeNumberTypeAnnotation extends BabelNode { declare class BabelNodeObjectTypeAnnotation extends BabelNode { type: "ObjectTypeAnnotation"; properties: any; - indexers: any; - callProperties: any; + indexers?: any; + callProperties?: any; + exact?: boolean; } declare class BabelNodeObjectTypeCallProperty extends BabelNode { type: "ObjectTypeCallProperty"; - value: any; + value: BabelNodeFlowType; } declare class BabelNodeObjectTypeIndexer extends BabelNode { type: "ObjectTypeIndexer"; - id: any; - key: any; - value: any; + id?: ?BabelNodeIdentifier; + key: BabelNodeFlowType; + value: BabelNodeFlowType; + variance?: ?BabelNodeVariance; } declare class BabelNodeObjectTypeProperty extends BabelNode { type: "ObjectTypeProperty"; - key: any; - value: any; + key: BabelNodeIdentifier; + value: BabelNodeFlowType; + variance?: ?BabelNodeVariance; + kind?: "init" | "get" | "set"; + optional?: boolean; } declare class BabelNodeObjectTypeSpreadProperty extends BabelNode { type: "ObjectTypeSpreadProperty"; - argument: any; + argument: BabelNodeFlowType; } declare class BabelNodeOpaqueType extends BabelNode { type: "OpaqueType"; - id: any; - typeParameters: any; - supertype: any; - impltype: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterDeclaration; + supertype?: ?BabelNodeFlowType; + impltype: BabelNodeFlowType; } declare class BabelNodeQualifiedTypeIdentifier extends BabelNode { type: "QualifiedTypeIdentifier"; - id: any; - qualification: any; + id: BabelNodeIdentifier; + qualification: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier; } declare class BabelNodeStringLiteralTypeAnnotation extends BabelNode { type: "StringLiteralTypeAnnotation"; + value?: string; } declare class BabelNodeStringTypeAnnotation extends BabelNode { @@ -751,30 +766,31 @@ declare class BabelNodeTupleTypeAnnotation extends BabelNode { declare class BabelNodeTypeofTypeAnnotation extends BabelNode { type: "TypeofTypeAnnotation"; - argument: any; + argument: BabelNodeFlowType; } declare class BabelNodeTypeAlias extends BabelNode { type: "TypeAlias"; - id: any; - typeParameters: any; - right: any; + id: BabelNodeIdentifier; + typeParameters?: ?BabelNodeTypeParameterDeclaration; + right: BabelNodeFlowType; } declare class BabelNodeTypeAnnotation extends BabelNode { type: "TypeAnnotation"; - typeAnnotation: BabelNodeFlow; + typeAnnotation: BabelNodeFlowType; } declare class BabelNodeTypeCastExpression extends BabelNode { type: "TypeCastExpression"; - expression: any; - typeAnnotation: any; + expression: BabelNodeExpression; + typeAnnotation: BabelNodeTypeAnnotation; } declare class BabelNodeTypeParameter extends BabelNode { type: "TypeParameter"; bound?: ?BabelNodeTypeAnnotation; + variance?: ?BabelNodeVariance; name?: string; } @@ -1296,6 +1312,7 @@ type BabelNodeModuleDeclaration = BabelNodeExportAllDeclaration | BabelNodeExpor type BabelNodeExportDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration; type BabelNodeModuleSpecifier = BabelNodeExportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier | BabelNodeImportSpecifier | BabelNodeExportDefaultSpecifier | BabelNodeExportNamespaceSpecifier; type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeDeclaredPredicate | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInferredPredicate | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeOpaqueType | BabelNodeQualifiedTypeIdentifier | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation; +type BabelNodeFlowType = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeGenericTypeAnnotation | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation; type BabelNodeFlowBaseAnnotation = BabelNodeAnyTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeVoidTypeAnnotation; type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias; type BabelNodeFlowPredicate = BabelNodeDeclaredPredicate | BabelNodeInferredPredicate; @@ -1377,51 +1394,51 @@ declare module "@babel/types" { declare function templateLiteral(quasis: any, expressions: any): BabelNodeTemplateLiteral; declare function yieldExpression(argument?: ?BabelNodeExpression, delegate?: boolean): BabelNodeYieldExpression; declare function anyTypeAnnotation(): BabelNodeAnyTypeAnnotation; - declare function arrayTypeAnnotation(elementType: any): BabelNodeArrayTypeAnnotation; + declare function arrayTypeAnnotation(elementType: BabelNodeFlowType): BabelNodeArrayTypeAnnotation; declare function booleanTypeAnnotation(): BabelNodeBooleanTypeAnnotation; - declare function booleanLiteralTypeAnnotation(): BabelNodeBooleanLiteralTypeAnnotation; + declare function booleanLiteralTypeAnnotation(value?: boolean): BabelNodeBooleanLiteralTypeAnnotation; declare function nullLiteralTypeAnnotation(): BabelNodeNullLiteralTypeAnnotation; - declare function classImplements(id: any, typeParameters: any): BabelNodeClassImplements; - declare function declareClass(id: any, typeParameters: any, _extends: any, body: any): BabelNodeDeclareClass; - declare function declareFunction(id: any): BabelNodeDeclareFunction; - declare function declareInterface(id: any, typeParameters: any, _extends: any, body: any): BabelNodeDeclareInterface; - declare function declareModule(id: any, body: any): BabelNodeDeclareModule; - declare function declareModuleExports(typeAnnotation: any): BabelNodeDeclareModuleExports; - declare function declareTypeAlias(id: any, typeParameters: any, right: any): BabelNodeDeclareTypeAlias; - declare function declareOpaqueType(id: any, typeParameters: any, supertype: any): BabelNodeDeclareOpaqueType; - declare function declareVariable(id: any): BabelNodeDeclareVariable; - declare function declareExportDeclaration(declaration: any, specifiers: any, source: any): BabelNodeDeclareExportDeclaration; - declare function declareExportAllDeclaration(source: any): BabelNodeDeclareExportAllDeclaration; - declare function declaredPredicate(value: any): BabelNodeDeclaredPredicate; + declare function classImplements(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterInstantiation): BabelNodeClassImplements; + declare function declareClass(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterInstantiation, _extends?: any, body: BabelNodeObjectTypeAnnotation, mixins?: any): BabelNodeDeclareClass; + declare function declareFunction(id: BabelNodeIdentifier, predicate?: ?BabelNodeDeclaredPredicate): BabelNodeDeclareFunction; + declare function declareInterface(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration, _extends?: ?BabelNodeInterfaceExtends, body: BabelNodeObjectTypeAnnotation, mixins?: any): BabelNodeDeclareInterface; + declare function declareModule(id: BabelNodeIdentifier | BabelNodeStringLiteral, body: BabelNodeBlockStatement, kind?: "CommonJS" | "ES"): BabelNodeDeclareModule; + declare function declareModuleExports(typeAnnotation: BabelNodeTypeAnnotation): BabelNodeDeclareModuleExports; + declare function declareTypeAlias(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration, right: BabelNodeFlowType): BabelNodeDeclareTypeAlias; + declare function declareOpaqueType(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration, supertype?: ?BabelNodeFlowType): BabelNodeDeclareOpaqueType; + declare function declareVariable(id: BabelNodeIdentifier): BabelNodeDeclareVariable; + declare function declareExportDeclaration(declaration?: ?BabelNodeFlow, specifiers?: any, source?: ?BabelNodeStringLiteral, _default?: boolean): BabelNodeDeclareExportDeclaration; + declare function declareExportAllDeclaration(source: BabelNodeStringLiteral, exportKind?: ["type","value"]): BabelNodeDeclareExportAllDeclaration; + declare function declaredPredicate(value: BabelNodeFlow): BabelNodeDeclaredPredicate; declare function existsTypeAnnotation(): BabelNodeExistsTypeAnnotation; - declare function functionTypeAnnotation(typeParameters: any, params: any, rest: any, returnType: any): BabelNodeFunctionTypeAnnotation; - declare function functionTypeParam(name: any, typeAnnotation: any): BabelNodeFunctionTypeParam; - declare function genericTypeAnnotation(id: any, typeParameters: any): BabelNodeGenericTypeAnnotation; + declare function functionTypeAnnotation(typeParameters?: ?BabelNodeTypeParameterDeclaration, params: any, rest?: ?BabelNodeFunctionTypeParam, returnType: BabelNodeFlowType): BabelNodeFunctionTypeAnnotation; + declare function functionTypeParam(name?: ?BabelNodeIdentifier, typeAnnotation: BabelNodeFlowType, optional?: boolean): BabelNodeFunctionTypeParam; + declare function genericTypeAnnotation(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterInstantiation): BabelNodeGenericTypeAnnotation; declare function inferredPredicate(): BabelNodeInferredPredicate; - declare function interfaceExtends(id: any, typeParameters: any): BabelNodeInterfaceExtends; - declare function interfaceDeclaration(id: any, typeParameters: any, _extends: any, body: any): BabelNodeInterfaceDeclaration; + declare function interfaceExtends(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterInstantiation): BabelNodeInterfaceExtends; + declare function interfaceDeclaration(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration, _extends: any, body: BabelNodeObjectTypeAnnotation, mixins?: any): BabelNodeInterfaceDeclaration; declare function intersectionTypeAnnotation(types: any): BabelNodeIntersectionTypeAnnotation; declare function mixedTypeAnnotation(): BabelNodeMixedTypeAnnotation; declare function emptyTypeAnnotation(): BabelNodeEmptyTypeAnnotation; - declare function nullableTypeAnnotation(typeAnnotation: any): BabelNodeNullableTypeAnnotation; - declare function numberLiteralTypeAnnotation(): BabelNodeNumberLiteralTypeAnnotation; + declare function nullableTypeAnnotation(typeAnnotation: BabelNodeFlowType): BabelNodeNullableTypeAnnotation; + declare function numberLiteralTypeAnnotation(value?: number): BabelNodeNumberLiteralTypeAnnotation; declare function numberTypeAnnotation(): BabelNodeNumberTypeAnnotation; - declare function objectTypeAnnotation(properties: any, indexers: any, callProperties: any): BabelNodeObjectTypeAnnotation; - declare function objectTypeCallProperty(value: any): BabelNodeObjectTypeCallProperty; - declare function objectTypeIndexer(id: any, key: any, value: any): BabelNodeObjectTypeIndexer; - declare function objectTypeProperty(key: any, value: any): BabelNodeObjectTypeProperty; - declare function objectTypeSpreadProperty(argument: any): BabelNodeObjectTypeSpreadProperty; - declare function opaqueType(id: any, typeParameters: any, supertype: any, impltype: any): BabelNodeOpaqueType; - declare function qualifiedTypeIdentifier(id: any, qualification: any): BabelNodeQualifiedTypeIdentifier; - declare function stringLiteralTypeAnnotation(): BabelNodeStringLiteralTypeAnnotation; + declare function objectTypeAnnotation(properties: any, indexers?: any, callProperties?: any, exact?: boolean): BabelNodeObjectTypeAnnotation; + declare function objectTypeCallProperty(value: BabelNodeFlowType, _static?: boolean): BabelNodeObjectTypeCallProperty; + declare function objectTypeIndexer(id?: ?BabelNodeIdentifier, key: BabelNodeFlowType, value: BabelNodeFlowType, variance?: ?BabelNodeVariance, _static?: boolean): BabelNodeObjectTypeIndexer; + declare function objectTypeProperty(key: BabelNodeIdentifier, value: BabelNodeFlowType, variance?: ?BabelNodeVariance, kind?: "init" | "get" | "set", optional?: boolean, _static?: boolean): BabelNodeObjectTypeProperty; + declare function objectTypeSpreadProperty(argument: BabelNodeFlowType): BabelNodeObjectTypeSpreadProperty; + declare function opaqueType(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration, supertype?: ?BabelNodeFlowType, impltype: BabelNodeFlowType): BabelNodeOpaqueType; + declare function qualifiedTypeIdentifier(id: BabelNodeIdentifier, qualification: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier): BabelNodeQualifiedTypeIdentifier; + declare function stringLiteralTypeAnnotation(value?: string): BabelNodeStringLiteralTypeAnnotation; declare function stringTypeAnnotation(): BabelNodeStringTypeAnnotation; declare function thisTypeAnnotation(): BabelNodeThisTypeAnnotation; declare function tupleTypeAnnotation(types: any): BabelNodeTupleTypeAnnotation; - declare function typeofTypeAnnotation(argument: any): BabelNodeTypeofTypeAnnotation; - declare function typeAlias(id: any, typeParameters: any, right: any): BabelNodeTypeAlias; - declare function typeAnnotation(typeAnnotation: BabelNodeFlow): BabelNodeTypeAnnotation; - declare function typeCastExpression(expression: any, typeAnnotation: any): BabelNodeTypeCastExpression; - declare function typeParameter(bound?: ?BabelNodeTypeAnnotation, _default?: ?BabelNodeFlow, name?: string): BabelNodeTypeParameter; + declare function typeofTypeAnnotation(argument: BabelNodeFlowType): BabelNodeTypeofTypeAnnotation; + declare function typeAlias(id: BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration, right: BabelNodeFlowType): BabelNodeTypeAlias; + declare function typeAnnotation(typeAnnotation: BabelNodeFlowType): BabelNodeTypeAnnotation; + declare function typeCastExpression(expression: BabelNodeExpression, typeAnnotation: BabelNodeTypeAnnotation): BabelNodeTypeCastExpression; + declare function typeParameter(bound?: ?BabelNodeTypeAnnotation, _default?: ?BabelNodeFlowType, variance?: ?BabelNodeVariance, name?: string): BabelNodeTypeParameter; declare function typeParameterDeclaration(params: any): BabelNodeTypeParameterDeclaration; declare function typeParameterInstantiation(params: any): BabelNodeTypeParameterInstantiation; declare function unionTypeAnnotation(types: any): BabelNodeUnionTypeAnnotation; @@ -1740,6 +1757,7 @@ declare module "@babel/types" { declare function isExportDeclaration(node: Object, opts?: ?Object): boolean declare function isModuleSpecifier(node: Object, opts?: ?Object): boolean declare function isFlow(node: Object, opts?: ?Object): boolean + declare function isFlowType(node: Object, opts?: ?Object): boolean declare function isFlowBaseAnnotation(node: Object, opts?: ?Object): boolean declare function isFlowDeclaration(node: Object, opts?: ?Object): boolean declare function isFlowPredicate(node: Object, opts?: ?Object): boolean