{ "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", "interpreter": null, "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": [], "implements": [], "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, "this": null, "returnType": { "type": "NumberTypeAnnotation", "start":30,"end":36,"loc":{"start":{"line":1,"column":30},"end":{"line":1,"column":36}} } } } ], "properties": [], "indexers": [], "internalSlots": [], "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": [], "implements": [], "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, "this": null, "returnType": { "type": "NumberTypeAnnotation", "start":62,"end":68,"loc":{"start":{"line":2,"column":23},"end":{"line":2,"column":29}} } } } ], "properties": [], "indexers": [], "internalSlots": [], "exact": false } } ], "directives": [] } }