{ "type": "Script", "span": { "start": 0, "end": 1277, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 0, "end": 35, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 10, "end": 14, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 15, "end": 35, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 21, "end": 33, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 21, "end": 24, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 24, "end": 32, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 26, "end": 32, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 37, "end": 88, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 47, "end": 54, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 63, "end": 67, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 63, "end": 67, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 68, "end": 88, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 74, "end": 86, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 74, "end": 77, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 77, "end": 85, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 79, "end": 85, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 274, "end": 770, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 281, "end": 292, "ctxt": 0 }, "value": "NotOptional", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 293, "end": 770, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 299, "end": 359, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 309, "end": 310, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 311, "end": 359, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 321, "end": 331, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 321, "end": 324, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 324, "end": 330, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 326, "end": 330, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 326, "end": 330, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 340, "end": 353, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 340, "end": 343, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 343, "end": 352, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 345, "end": 352, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 345, "end": 352, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 365, "end": 450, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 375, "end": 376, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 385, "end": 386, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 385, "end": 386, "ctxt": 0 }, "value": "A", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 387, "end": 450, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 397, "end": 410, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 397, "end": 400, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 400, "end": 409, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 402, "end": 409, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 402, "end": 409, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 425, "end": 435, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 425, "end": 428, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 428, "end": 434, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 430, "end": 434, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 430, "end": 434, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 456, "end": 515, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 466, "end": 468, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 469, "end": 515, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 479, "end": 487, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 479, "end": 480, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 480, "end": 486, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 482, "end": 486, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 482, "end": 486, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 496, "end": 509, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 496, "end": 499, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 499, "end": 508, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 501, "end": 508, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 501, "end": 508, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 521, "end": 604, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 531, "end": 533, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 542, "end": 544, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 542, "end": 544, "ctxt": 0 }, "value": "A2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 545, "end": 604, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 555, "end": 566, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 555, "end": 556, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 556, "end": 565, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 558, "end": 565, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 558, "end": 565, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 581, "end": 589, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 581, "end": 582, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 582, "end": 588, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 584, "end": 588, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 584, "end": 588, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 610, "end": 673, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 620, "end": 622, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 623, "end": 673, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 633, "end": 643, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 633, "end": 636, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 636, "end": 642, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 638, "end": 642, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 638, "end": 642, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 652, "end": 667, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 652, "end": 657, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 657, "end": 666, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 659, "end": 666, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 659, "end": 666, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 679, "end": 768, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 689, "end": 691, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 700, "end": 702, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 700, "end": 702, "ctxt": 0 }, "value": "A3", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 703, "end": 768, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 713, "end": 726, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 713, "end": 716, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 716, "end": 725, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 718, "end": 725, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 718, "end": 725, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 741, "end": 753, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 741, "end": 746, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 746, "end": 752, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 748, "end": 752, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 748, "end": 752, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 772, "end": 1277, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 779, "end": 787, "ctxt": 0 }, "value": "Optional", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 788, "end": 1277, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 794, "end": 856, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 804, "end": 805, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 806, "end": 856, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 816, "end": 827, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 816, "end": 819, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 820, "end": 826, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 822, "end": 826, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 822, "end": 826, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 836, "end": 850, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 836, "end": 839, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 840, "end": 849, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 842, "end": 849, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 842, "end": 849, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 862, "end": 949, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 872, "end": 873, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 882, "end": 883, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 882, "end": 883, "ctxt": 0 }, "value": "A", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 884, "end": 949, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 894, "end": 908, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 894, "end": 897, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 898, "end": 907, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 900, "end": 907, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 900, "end": 907, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 923, "end": 934, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 923, "end": 926, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 927, "end": 933, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 929, "end": 933, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 929, "end": 933, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 955, "end": 1016, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 965, "end": 967, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 968, "end": 1016, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 978, "end": 987, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 978, "end": 979, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 980, "end": 986, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 982, "end": 986, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 982, "end": 986, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 996, "end": 1010, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 996, "end": 999, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1000, "end": 1009, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1002, "end": 1009, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1002, "end": 1009, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1022, "end": 1107, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1032, "end": 1034, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1043, "end": 1045, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1043, "end": 1045, "ctxt": 0 }, "value": "A2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1046, "end": 1107, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1056, "end": 1068, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1056, "end": 1057, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1058, "end": 1067, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1060, "end": 1067, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1060, "end": 1067, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1083, "end": 1092, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1083, "end": 1084, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1085, "end": 1091, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1087, "end": 1091, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1087, "end": 1091, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1113, "end": 1178, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1123, "end": 1125, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1126, "end": 1178, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1136, "end": 1147, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1136, "end": 1139, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1140, "end": 1146, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1142, "end": 1146, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1142, "end": 1146, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1156, "end": 1172, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1156, "end": 1161, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1162, "end": 1171, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1164, "end": 1171, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1164, "end": 1171, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1184, "end": 1275, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1194, "end": 1196, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1205, "end": 1207, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1205, "end": 1207, "ctxt": 0 }, "value": "A3", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1208, "end": 1275, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1218, "end": 1232, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1218, "end": 1221, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1222, "end": 1231, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1224, "end": 1231, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1224, "end": 1231, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1247, "end": 1260, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1247, "end": 1252, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1253, "end": 1259, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1255, "end": 1259, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1255, "end": 1259, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } ] } } ], "interpreter": null }