{ "type": "File", "start": 0, "end": 59, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 59 } }, "program": { "type": "Program", "start": 0, "end": 59, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 59 } }, "sourceType": "module", "body": [ { "type": "DeclareClass", "start": 0, "end": 59, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 59 } }, "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": 59, "loc": { "start": { "line": 1, "column": 16 }, "end": { "line": 1, "column": 59 } }, "callProperties": [], "properties": [ { "type": "ObjectTypeProperty", "start": 18, "end": 38, "loc": { "start": { "line": 1, "column": 18 }, "end": { "line": 1, "column": 38 } }, "key": { "type": "Identifier", "start": 25, "end": 28, "loc": { "start": { "line": 1, "column": 25 }, "end": { "line": 1, "column": 28 }, "identifierName": "foo" }, "name": "foo" }, "static": true, "kind": "init", "value": { "type": "FunctionTypeAnnotation", "start": 18, "end": 38, "loc": { "start": { "line": 1, "column": 18 }, "end": { "line": 1, "column": 38 } }, "params": [], "rest": null, "typeParameters": null, "returnType": { "type": "NumberTypeAnnotation", "start": 32, "end": 38, "loc": { "start": { "line": 1, "column": 32 }, "end": { "line": 1, "column": 38 } } } }, "optional": false }, { "type": "ObjectTypeProperty", "start": 40, "end": 57, "loc": { "start": { "line": 1, "column": 40 }, "end": { "line": 1, "column": 57 } }, "key": { "type": "Identifier", "start": 47, "end": 48, "loc": { "start": { "line": 1, "column": 47 }, "end": { "line": 1, "column": 48 }, "identifierName": "x" }, "name": "x" }, "static": true, "kind": "init", "value": { "type": "StringTypeAnnotation", "start": 51, "end": 57, "loc": { "start": { "line": 1, "column": 51 }, "end": { "line": 1, "column": 57 } } }, "variance": null, "optional": false } ], "indexers": [], "exact": false } } ], "directives": [] } }