{ "type": "File", "start": 0, "end": 29, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 29 } }, "program": { "type": "Program", "start": 0, "end": 29, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 29 } }, "sourceType": "module", "body": [ { "type": "DeclareFunction", "start": 0, "end": 29, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 29 } }, "id": { "type": "Identifier", "start": 17, "end": 28, "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 28 }, "identifierName": "foo" }, "name": "foo", "typeAnnotation": { "type": "TypeAnnotation", "start": 20, "end": 28, "loc": { "start": { "line": 1, "column": 20 }, "end": { "line": 1, "column": 28 } }, "typeAnnotation": { "type": "FunctionTypeAnnotation", "start": 20, "end": 28, "loc": { "start": { "line": 1, "column": 20 }, "end": { "line": 1, "column": 28 } }, "typeParameters": null, "params": [], "rest": null, "returnType": { "type": "VoidTypeAnnotation", "start": 24, "end": 28, "loc": { "start": { "line": 1, "column": 24 }, "end": { "line": 1, "column": 28 } } } } } }, "predicate": null } ], "directives": [] } }