Module Flow_ast.Statement
type export_kind =
| ExportType
| ExportValue
;
and t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) =
| Block(Block.t('M, 'T))
| Break(Break.t('M))
| ClassDeclaration(Class.t('M, 'T))
| Continue(Continue.t('M))
| Debugger(Debugger.t('M))
| DeclareClass(DeclareClass.t('M, 'T))
| DeclareExportDeclaration(DeclareExportDeclaration.t('M, 'T))
| DeclareFunction(DeclareFunction.t('M, 'T))
| DeclareInterface(Interface.t('M, 'T))
| DeclareModule(DeclareModule.t('M, 'T))
| DeclareModuleExports(DeclareModuleExports.t('M, 'T))
| DeclareTypeAlias(TypeAlias.t('M, 'T))
| DeclareOpaqueType(OpaqueType.t('M, 'T))
| DeclareVariable(DeclareVariable.t('M, 'T))
| DoWhile(DoWhile.t('M, 'T))
| Empty(Empty.t('M))
| EnumDeclaration(EnumDeclaration.t('M, 'T))
| ExportDefaultDeclaration(ExportDefaultDeclaration.t('M, 'T))
| ExportNamedDeclaration(ExportNamedDeclaration.t('M, 'T))
| Expression(Expression.t('M, 'T))
| For(For.t('M, 'T))
| ForIn(ForIn.t('M, 'T))
| ForOf(ForOf.t('M, 'T))
| FunctionDeclaration(Function.t('M, 'T))
| If(If.t('M, 'T))
| ImportDeclaration(ImportDeclaration.t('M, 'T))
| InterfaceDeclaration(Interface.t('M, 'T))
| Labeled(Labeled.t('M, 'T))
| Return(Return.t('M, 'T))
| Switch(Switch.t('M, 'T))
| Throw(Throw.t('M, 'T))
| Try(Try.t('M, 'T))
| TypeAlias(TypeAlias.t('M, 'T))
| OpaqueType(OpaqueType.t('M, 'T))
| VariableDeclaration(VariableDeclaration.t('M, 'T))
| While(While.t('M, 'T))
| With(With.t('M, 'T))
;