{ "type": "File", "start": 0, "end": 70, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 2, "column": 31 } }, "program": { "type": "Program", "start": 0, "end": 70, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 2, "column": 31 } }, "sourceType": "module", "body": [ { "type": "DeclareClass", "start": 0, "end": 38, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 38 } }, "id": { "type": "Identifier", "start": 14, "end": 15, "loc": { "start": { "line": 1, "column": 14 }, "end": { "line": 1, "column": 15 }, "identifierName": "A" }, "name": "A" }, "typeParameters": null, "extends": [], "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start": 16, "end": 38, "loc": { "start": { "line": 1, "column": 16 }, "end": { "line": 1, "column": 38 } }, "callProperties": [ { "type": "ObjectTypeCallProperty", "start": 18, "end": 36, "loc": { "start": { "line": 1, "column": 18 }, "end": { "line": 1, "column": 36 } }, "static": true, "value": { "type": "FunctionTypeAnnotation", "start": 25, "end": 36, "loc": { "start": { "line": 1, "column": 25 }, "end": { "line": 1, "column": 36 } }, "params": [], "rest": null, "typeParameters": null, "returnType": { "type": "NumberTypeAnnotation", "start": 30, "end": 36, "loc": { "start": { "line": 1, "column": 30 }, "end": { "line": 1, "column": 36 } } } } } ], "properties": [], "indexers": [], "exact": false } }, { "type": "DeclareClass", "start": 39, "end": 70, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 31 } }, "id": { "type": "Identifier", "start": 53, "end": 54, "loc": { "start": { "line": 2, "column": 14 }, "end": { "line": 2, "column": 15 }, "identifierName": "B" }, "name": "B" }, "typeParameters": null, "extends": [], "mixins": [], "body": { "type": "ObjectTypeAnnotation", "start": 55, "end": 70, "loc": { "start": { "line": 2, "column": 16 }, "end": { "line": 2, "column": 31 } }, "callProperties": [ { "type": "ObjectTypeCallProperty", "start": 57, "end": 68, "loc": { "start": { "line": 2, "column": 18 }, "end": { "line": 2, "column": 29 } }, "static": false, "value": { "type": "FunctionTypeAnnotation", "start": 57, "end": 68, "loc": { "start": { "line": 2, "column": 18 }, "end": { "line": 2, "column": 29 } }, "params": [], "rest": null, "typeParameters": null, "returnType": { "type": "NumberTypeAnnotation", "start": 62, "end": 68, "loc": { "start": { "line": 2, "column": 23 }, "end": { "line": 2, "column": 29 } } } } } ], "properties": [], "indexers": [], "exact": false } } ], "directives": [] } }