{ "type": "File", "start": 0, "end": 34, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 34 } }, "program": { "type": "Program", "start": 0, "end": 34, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 34 } }, "sourceType": "module", "body": [ { "type": "InterfaceDeclaration", "start": 0, "end": 34, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 34 } }, "id": { "type": "Identifier", "start": 10, "end": 11, "loc": { "start": { "line": 1, "column": 10 }, "end": { "line": 1, "column": 11 } }, "name": "A" }, "typeParameters": null, "extends": [], "body": { "type": "ObjectTypeAnnotation", "start": 12, "end": 34, "loc": { "start": { "line": 1, "column": 12 }, "end": { "line": 1, "column": 34 } }, "callProperties": [], "properties": [ { "type": "ObjectTypeProperty", "start": 14, "end": 32, "loc": { "start": { "line": 1, "column": 14 }, "end": { "line": 1, "column": 32 } }, "key": { "type": "Identifier", "start": 14, "end": 17, "loc": { "start": { "line": 1, "column": 14 }, "end": { "line": 1, "column": 17 } }, "name": "foo" }, "value": { "type": "FunctionTypeAnnotation", "start": 19, "end": 31, "loc": { "start": { "line": 1, "column": 19 }, "end": { "line": 1, "column": 31 } }, "params": [], "rest": null, "returnType": { "type": "NumberTypeAnnotation", "start": 25, "end": 31, "loc": { "start": { "line": 1, "column": 25 }, "end": { "line": 1, "column": 31 } } }, "typeParameters": null }, "optional": false } ], "indexers": [] } } ] }, "comments": [] }