Parameter Statement.Parse

let statement_list_item: ?decorators:list(Flow_ast.Class.Decorator.t(Loc.t, Loc.t)) => Parser_env.env => Flow_ast.Statement.t(Loc.t, Loc.t);
let statement_list: term_fn:(Token.t => bool) => Parser_env.env => list(Flow_ast.Statement.t(Loc.t, Loc.t));
let statement_list_with_directives: term_fn:(Token.t => bool) => Parser_env.env => (list(Flow_ast.Statement.t(Loc.t, Loc.t)), bool);
let module_body: term_fn:(Token.t => bool) => Parser_env.env => list(Flow_ast.Statement.t(Loc.t, Loc.t));
let expression_or_pattern: Parser_env.env => Parser_common.pattern_cover;
let identifier: ?restricted_error:Parse_error.t => Parser_env.env => Flow_ast.Identifier.t(Loc.t, Loc.t);
let identifier_with_type: Parser_env.env => ?no_optional:bool => Parse_error.t => (Loc.t, Flow_ast.Pattern.Identifier.t(Loc.t, Loc.t));
let function_block_body: expression:bool => Parser_env.env => ((Loc.t, Flow_ast.Statement.Block.t(Loc.t, Loc.t)), bool);
let jsx_element_or_fragment: Parser_env.env => (Loc.t, [ `Element(Flow_ast.JSX.element(Loc.t, Loc.t)) | `Fragment(Flow_ast.JSX.fragment(Loc.t, Loc.t)) ]);
let object_key: ?class_body:bool => Parser_env.env => (Loc.t, Flow_ast.Expression.Object.Property.key(Loc.t, Loc.t));
let class_expression: Parser_env.env => Flow_ast.Expression.t(Loc.t, Loc.t);
let is_assignable_lhs: Flow_ast.Expression.t(Loc.t, Loc.t) => bool;
let number: Parser_env.env => Token.number_type => string => float;