{ "type": "Script", "span": { "start": 0, "end": 1349, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 0, "end": 37, "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": 37, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 22, "end": 34, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 22, "end": 25, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 25, "end": 33, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 27, "end": 33, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 41, "end": 94, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 51, "end": 58, "ctxt": 0 }, "value": "Derived", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 67, "end": 71, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 67, "end": 71, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 72, "end": 94, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 79, "end": 91, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 79, "end": 82, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 82, "end": 90, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 84, "end": 90, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 284, "end": 810, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 291, "end": 302, "ctxt": 0 }, "value": "NotOptional", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 303, "end": 810, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 310, "end": 373, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 320, "end": 321, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 322, "end": 373, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 333, "end": 343, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 333, "end": 336, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 336, "end": 342, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 338, "end": 342, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 338, "end": 342, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 353, "end": 366, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 353, "end": 356, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 356, "end": 365, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 358, "end": 365, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 358, "end": 365, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 381, "end": 469, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 391, "end": 392, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 401, "end": 402, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 401, "end": 402, "ctxt": 0 }, "value": "A", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 403, "end": 469, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 414, "end": 427, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 414, "end": 417, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 417, "end": 426, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 419, "end": 426, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 419, "end": 426, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 443, "end": 453, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 443, "end": 446, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 446, "end": 452, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 448, "end": 452, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 448, "end": 452, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 477, "end": 539, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 487, "end": 489, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 490, "end": 539, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 501, "end": 509, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 501, "end": 502, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 502, "end": 508, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 504, "end": 508, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 504, "end": 508, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 519, "end": 532, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 519, "end": 522, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 522, "end": 531, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 524, "end": 531, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 524, "end": 531, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 547, "end": 633, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 557, "end": 559, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 568, "end": 570, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 568, "end": 570, "ctxt": 0 }, "value": "A2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 571, "end": 633, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 582, "end": 593, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 582, "end": 583, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 583, "end": 592, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 585, "end": 592, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 585, "end": 592, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 609, "end": 617, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 609, "end": 610, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 610, "end": 616, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 612, "end": 616, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 612, "end": 616, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 641, "end": 707, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 651, "end": 653, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 654, "end": 707, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 665, "end": 675, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 665, "end": 668, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 668, "end": 674, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 670, "end": 674, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 670, "end": 674, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 685, "end": 700, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 685, "end": 690, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 690, "end": 699, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 692, "end": 699, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 692, "end": 699, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 715, "end": 807, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 725, "end": 727, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 736, "end": 738, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 736, "end": 738, "ctxt": 0 }, "value": "A3", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 739, "end": 807, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 750, "end": 763, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 750, "end": 753, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 753, "end": 762, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 755, "end": 762, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 755, "end": 762, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 779, "end": 791, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 779, "end": 784, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 784, "end": 790, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 786, "end": 790, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 786, "end": 790, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 814, "end": 1349, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 821, "end": 829, "ctxt": 0 }, "value": "Optional", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 830, "end": 1349, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 837, "end": 902, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 847, "end": 848, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 849, "end": 902, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 860, "end": 871, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 860, "end": 863, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 864, "end": 870, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 866, "end": 870, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 866, "end": 870, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 881, "end": 895, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 881, "end": 884, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 885, "end": 894, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 887, "end": 894, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 887, "end": 894, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 910, "end": 1000, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 920, "end": 921, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 930, "end": 931, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 930, "end": 931, "ctxt": 0 }, "value": "A", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 932, "end": 1000, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 943, "end": 957, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 943, "end": 946, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 947, "end": 956, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 949, "end": 956, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 949, "end": 956, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 973, "end": 984, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 973, "end": 976, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 977, "end": 983, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 979, "end": 983, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 979, "end": 983, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1008, "end": 1072, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1018, "end": 1020, "ctxt": 0 }, "value": "A2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1021, "end": 1072, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1032, "end": 1041, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1032, "end": 1033, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1034, "end": 1040, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1036, "end": 1040, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1036, "end": 1040, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1051, "end": 1065, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1051, "end": 1054, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1055, "end": 1064, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1057, "end": 1064, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1057, "end": 1064, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1080, "end": 1168, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1090, "end": 1092, "ctxt": 0 }, "value": "B2", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1101, "end": 1103, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1101, "end": 1103, "ctxt": 0 }, "value": "A2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1104, "end": 1168, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1115, "end": 1127, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1115, "end": 1116, "ctxt": 0 }, "value": 1.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1117, "end": 1126, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1119, "end": 1126, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1119, "end": 1126, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1143, "end": 1152, "ctxt": 0 }, "readonly": false, "key": { "type": "NumericLiteral", "span": { "start": 1143, "end": 1144, "ctxt": 0 }, "value": 2.0 }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1145, "end": 1151, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1147, "end": 1151, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1147, "end": 1151, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1176, "end": 1244, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1186, "end": 1188, "ctxt": 0 }, "value": "A3", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1189, "end": 1244, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1200, "end": 1211, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1200, "end": 1203, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1204, "end": 1210, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1206, "end": 1210, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1206, "end": 1210, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1221, "end": 1237, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1221, "end": 1226, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1227, "end": 1236, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1229, "end": 1236, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1229, "end": 1236, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1252, "end": 1346, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1262, "end": 1264, "ctxt": 0 }, "value": "B3", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1273, "end": 1275, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1273, "end": 1275, "ctxt": 0 }, "value": "A3", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1276, "end": 1346, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1287, "end": 1301, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1287, "end": 1290, "ctxt": 0 }, "value": "1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1291, "end": 1300, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1293, "end": 1300, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1293, "end": 1300, "ctxt": 0 }, "value": "Derived", "optional": false }, "typeParams": null } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1317, "end": 1330, "ctxt": 0 }, "readonly": false, "key": { "type": "StringLiteral", "span": { "start": 1317, "end": 1322, "ctxt": 0 }, "value": "2.0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1323, "end": 1329, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1325, "end": 1329, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1325, "end": 1329, "ctxt": 0 }, "value": "Base", "optional": false }, "typeParams": null } }, "typeParams": null } ] } } ] } } ], "interpreter": null }