{ "type": "File", "start": 0, "end": 63, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 2, "column": 38 } }, "program": { "type": "Program", "start": 0, "end": 63, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 2, "column": 38 } }, "sourceType": "module", "body": [ { "type": "DeclareTypeAlias", "start": 0, "end": 24, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 1, "column": 24 } }, "id": { "type": "Identifier", "start": 13, "end": 14, "loc": { "start": { "line": 1, "column": 13 }, "end": { "line": 1, "column": 14 }, "identifierName": "A" }, "name": "A" }, "typeParameters": null, "right": { "type": "StringTypeAnnotation", "start": 17, "end": 23, "loc": { "start": { "line": 1, "column": 17 }, "end": { "line": 1, "column": 23 } } } }, { "type": "DeclareTypeAlias", "start": 25, "end": 63, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 38 } }, "id": { "type": "Identifier", "start": 38, "end": 39, "loc": { "start": { "line": 2, "column": 13 }, "end": { "line": 2, "column": 14 }, "identifierName": "T" }, "name": "T" }, "typeParameters": { "type": "TypeParameterDeclaration", "start": 39, "end": 42, "loc": { "start": { "line": 2, "column": 14 }, "end": { "line": 2, "column": 17 } }, "params": [ { "type": "TypeParameter", "start": 40, "end": 41, "loc": { "start": { "line": 2, "column": 15 }, "end": { "line": 2, "column": 16 } }, "name": "U", "variance": null } ] }, "right": { "type": "ObjectTypeAnnotation", "start": 45, "end": 62, "loc": { "start": { "line": 2, "column": 20 }, "end": { "line": 2, "column": 37 } }, "callProperties": [], "properties": [], "indexers": [ { "type": "ObjectTypeIndexer", "start": 47, "end": 60, "loc": { "start": { "line": 2, "column": 22 }, "end": { "line": 2, "column": 35 } }, "static": false, "id": { "type": "Identifier", "start": 48, "end": 49, "loc": { "start": { "line": 2, "column": 23 }, "end": { "line": 2, "column": 24 }, "identifierName": "k" }, "name": "k" }, "key": { "type": "StringTypeAnnotation", "start": 50, "end": 56, "loc": { "start": { "line": 2, "column": 25 }, "end": { "line": 2, "column": 31 } } }, "value": { "type": "GenericTypeAnnotation", "start": 59, "end": 60, "loc": { "start": { "line": 2, "column": 34 }, "end": { "line": 2, "column": 35 } }, "typeParameters": null, "id": { "type": "Identifier", "start": 59, "end": 60, "loc": { "start": { "line": 2, "column": 34 }, "end": { "line": 2, "column": 35 }, "identifierName": "U" }, "name": "U" } }, "variance": null } ], "exact": false } } ], "directives": [] } }