{ "type": "File", "start":0,"end":33,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}}, "program": { "type": "Program", "start":0,"end":33,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}}, "sourceType": "module", "interpreter": null, "body": [ { "type": "DeclareClass", "start":0,"end":33,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}}, "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": [ { "type": "InterfaceExtends", "start":23,"end":27,"loc":{"start":{"line":1,"column":23},"end":{"line":1,"column":27}}, "id": { "type": "Identifier", "start":23,"end":24,"loc":{"start":{"line":1,"column":23},"end":{"line":1,"column":24},"identifierName":"B"}, "name": "B" }, "typeParameters": { "type": "TypeParameterInstantiation", "start":24,"end":27,"loc":{"start":{"line":1,"column":24},"end":{"line":1,"column":27}}, "params": [ { "type": "GenericTypeAnnotation", "start":25,"end":26,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":26}}, "typeParameters": null, "id": { "type": "Identifier", "start":25,"end":26,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":26},"identifierName":"T"}, "name": "T" } } ] } }, { "type": "InterfaceExtends", "start":29,"end":30,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":30}}, "id": { "type": "Identifier", "start":29,"end":30,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":30},"identifierName":"C"}, "name": "C" }, "typeParameters": null } ], "body": { "type": "ObjectTypeAnnotation", "start":31,"end":33,"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":33}}, "callProperties": [], "properties": [], "indexers": [], "internalSlots": [], "exact": false } } ], "directives": [] } }