{ "type": "Script", "span": { "start": 102, "end": 6074, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 102, "end": 2144, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 109, "end": 123, "ctxt": 0 }, "value": "ClassTypeParam", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 124, "end": 2144, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 130, "end": 291, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 140, "end": 144, "ctxt": 0 }, "value": "Base", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 144, "end": 147, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 145, "end": 146, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 145, "end": 146, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 148, "end": 291, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 158, "end": 169, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 158, "end": 159, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 159, "end": 168, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 161, "end": 168, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 164, "end": 168, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 167, "end": 168, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 167, "end": 168, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 178, "end": 195, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 178, "end": 180, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 180, "end": 194, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 182, "end": 194, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 183, "end": 188, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 185, "end": 188, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 187, "end": 188, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 187, "end": 188, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 190, "end": 194, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 193, "end": 194, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 193, "end": 194, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 204, "end": 220, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 204, "end": 206, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 206, "end": 219, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 208, "end": 219, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 209, "end": 213, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 210, "end": 213, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 212, "end": 213, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 212, "end": 213, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 215, "end": 219, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 218, "end": 219, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 218, "end": 219, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 229, "end": 252, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 229, "end": 231, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 231, "end": 251, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 233, "end": 251, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 234, "end": 238, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 235, "end": 238, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 237, "end": 238, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 237, "end": 238, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 240, "end": 245, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 242, "end": 245, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 244, "end": 245, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 244, "end": 245, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 247, "end": 251, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 250, "end": 251, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 250, "end": 251, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 261, "end": 285, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 261, "end": 263, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 263, "end": 284, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 265, "end": 284, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 266, "end": 271, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 268, "end": 271, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 270, "end": 271, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 270, "end": 271, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 273, "end": 278, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 275, "end": 278, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 277, "end": 278, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 277, "end": 278, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 280, "end": 284, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 283, "end": 284, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 283, "end": 284, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 297, "end": 389, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 307, "end": 309, "ctxt": 0 }, "value": "I1", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 309, "end": 312, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 310, "end": 311, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 310, "end": 311, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 321, "end": 328, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 321, "end": 325, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 325, "end": 328, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 326, "end": 327, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 326, "end": 327, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 329, "end": 389, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 339, "end": 350, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 339, "end": 340, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 340, "end": 349, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 342, "end": 349, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 345, "end": 349, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 348, "end": 349, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 348, "end": 349, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 395, "end": 492, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 405, "end": 407, "ctxt": 0 }, "value": "I2", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 407, "end": 410, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 408, "end": 409, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 408, "end": 409, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 419, "end": 426, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 419, "end": 423, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 423, "end": 426, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 424, "end": 425, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 424, "end": 425, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 427, "end": 492, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 437, "end": 453, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 437, "end": 438, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 438, "end": 452, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 440, "end": 452, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 441, "end": 446, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 443, "end": 446, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 445, "end": 446, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 445, "end": 446, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 448, "end": 452, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 451, "end": 452, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 451, "end": 452, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 498, "end": 596, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 508, "end": 510, "ctxt": 0 }, "value": "I3", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 510, "end": 513, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 511, "end": 512, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 511, "end": 512, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 522, "end": 529, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 522, "end": 526, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 526, "end": 529, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 527, "end": 528, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 527, "end": 528, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 530, "end": 596, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 540, "end": 555, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 540, "end": 541, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 541, "end": 554, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 543, "end": 554, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 544, "end": 548, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 545, "end": 548, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 547, "end": 548, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 547, "end": 548, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 550, "end": 554, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 553, "end": 554, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 553, "end": 554, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 603, "end": 696, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 613, "end": 615, "ctxt": 0 }, "value": "I4", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 615, "end": 618, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 616, "end": 617, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 616, "end": 617, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 627, "end": 634, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 627, "end": 631, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 631, "end": 634, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 632, "end": 633, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 632, "end": 633, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 635, "end": 696, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 645, "end": 657, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 645, "end": 647, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 647, "end": 656, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 649, "end": 656, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 652, "end": 656, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 655, "end": 656, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 655, "end": 656, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 702, "end": 800, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 712, "end": 714, "ctxt": 0 }, "value": "I5", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 714, "end": 717, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 715, "end": 716, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 715, "end": 716, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 726, "end": 733, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 726, "end": 730, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 730, "end": 733, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 731, "end": 732, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 731, "end": 732, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 734, "end": 800, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 744, "end": 761, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 744, "end": 746, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 746, "end": 760, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 748, "end": 760, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 749, "end": 754, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 751, "end": 754, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 753, "end": 754, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 753, "end": 754, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 756, "end": 760, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 759, "end": 760, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 759, "end": 760, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 806, "end": 899, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 816, "end": 818, "ctxt": 0 }, "value": "I6", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 818, "end": 821, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 819, "end": 820, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 819, "end": 820, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 830, "end": 837, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 830, "end": 834, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 834, "end": 837, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 835, "end": 836, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 835, "end": 836, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 838, "end": 899, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 848, "end": 864, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 848, "end": 850, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 850, "end": 863, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 852, "end": 863, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 853, "end": 857, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 854, "end": 857, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 856, "end": 857, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 856, "end": 857, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 859, "end": 863, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 862, "end": 863, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 862, "end": 863, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 906, "end": 995, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 916, "end": 918, "ctxt": 0 }, "value": "I7", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 918, "end": 921, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 919, "end": 920, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 919, "end": 920, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 930, "end": 937, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 930, "end": 934, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 934, "end": 937, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 935, "end": 936, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 935, "end": 936, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 938, "end": 995, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 948, "end": 960, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 948, "end": 950, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 950, "end": 959, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 952, "end": 959, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 955, "end": 959, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 958, "end": 959, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 958, "end": 959, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1001, "end": 1095, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1011, "end": 1013, "ctxt": 0 }, "value": "I8", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1013, "end": 1016, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1014, "end": 1015, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1014, "end": 1015, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1025, "end": 1032, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1025, "end": 1029, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1029, "end": 1032, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1030, "end": 1031, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1030, "end": 1031, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1033, "end": 1095, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1043, "end": 1060, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1043, "end": 1045, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1045, "end": 1059, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1047, "end": 1059, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1048, "end": 1053, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1050, "end": 1053, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1052, "end": 1053, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1052, "end": 1053, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1055, "end": 1059, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1058, "end": 1059, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1058, "end": 1059, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1101, "end": 1198, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1111, "end": 1113, "ctxt": 0 }, "value": "I9", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1113, "end": 1116, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1114, "end": 1115, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1114, "end": 1115, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1125, "end": 1132, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1125, "end": 1129, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1129, "end": 1132, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1130, "end": 1131, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1130, "end": 1131, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1133, "end": 1198, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1143, "end": 1159, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1143, "end": 1145, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1145, "end": 1158, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1147, "end": 1158, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1148, "end": 1152, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1149, "end": 1152, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1151, "end": 1152, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1151, "end": 1152, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1154, "end": 1158, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1157, "end": 1158, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1157, "end": 1158, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1204, "end": 1311, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1214, "end": 1217, "ctxt": 0 }, "value": "I10", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1217, "end": 1220, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1218, "end": 1219, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1218, "end": 1219, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1229, "end": 1236, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1229, "end": 1233, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1233, "end": 1236, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1234, "end": 1235, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1234, "end": 1235, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1237, "end": 1311, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1247, "end": 1269, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1247, "end": 1249, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1249, "end": 1268, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1251, "end": 1268, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1252, "end": 1256, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1253, "end": 1256, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1255, "end": 1256, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1255, "end": 1256, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1258, "end": 1262, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1259, "end": 1262, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1261, "end": 1262, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1261, "end": 1262, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1264, "end": 1268, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1267, "end": 1268, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1267, "end": 1268, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1318, "end": 1408, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1328, "end": 1331, "ctxt": 0 }, "value": "I11", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1331, "end": 1334, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1332, "end": 1333, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1332, "end": 1333, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1343, "end": 1350, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1343, "end": 1347, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1347, "end": 1350, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1348, "end": 1349, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1348, "end": 1349, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1351, "end": 1408, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1361, "end": 1373, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1361, "end": 1363, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1363, "end": 1372, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1365, "end": 1372, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1368, "end": 1372, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1371, "end": 1372, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1371, "end": 1372, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1414, "end": 1516, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1424, "end": 1427, "ctxt": 0 }, "value": "I12", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1427, "end": 1430, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1428, "end": 1429, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1428, "end": 1429, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1439, "end": 1446, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1439, "end": 1443, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1443, "end": 1446, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1444, "end": 1445, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1444, "end": 1445, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1447, "end": 1516, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1457, "end": 1481, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1457, "end": 1459, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1459, "end": 1480, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1461, "end": 1480, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1462, "end": 1467, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1464, "end": 1467, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1466, "end": 1467, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1466, "end": 1467, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1469, "end": 1474, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1471, "end": 1474, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1473, "end": 1474, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1473, "end": 1474, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1476, "end": 1480, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1479, "end": 1480, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1479, "end": 1480, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1522, "end": 1620, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1532, "end": 1535, "ctxt": 0 }, "value": "I13", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1535, "end": 1538, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1536, "end": 1537, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1536, "end": 1537, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1547, "end": 1554, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1547, "end": 1551, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1551, "end": 1554, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1552, "end": 1553, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1552, "end": 1553, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1555, "end": 1620, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1565, "end": 1581, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1565, "end": 1567, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1567, "end": 1580, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1569, "end": 1580, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1570, "end": 1574, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1571, "end": 1574, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1573, "end": 1574, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1573, "end": 1574, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1576, "end": 1580, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1579, "end": 1580, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1579, "end": 1580, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1626, "end": 1727, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1636, "end": 1639, "ctxt": 0 }, "value": "I14", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1639, "end": 1642, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1640, "end": 1641, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1640, "end": 1641, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1651, "end": 1658, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1651, "end": 1655, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1655, "end": 1658, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1656, "end": 1657, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1656, "end": 1657, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1659, "end": 1727, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1669, "end": 1691, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1669, "end": 1671, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1671, "end": 1690, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1673, "end": 1690, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1674, "end": 1678, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1675, "end": 1678, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1677, "end": 1678, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1677, "end": 1678, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1680, "end": 1684, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1681, "end": 1684, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1683, "end": 1684, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1683, "end": 1684, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1686, "end": 1690, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1689, "end": 1690, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1689, "end": 1690, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1734, "end": 1824, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1744, "end": 1747, "ctxt": 0 }, "value": "I15", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1747, "end": 1750, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1748, "end": 1749, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1748, "end": 1749, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1759, "end": 1766, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1759, "end": 1763, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1763, "end": 1766, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1764, "end": 1765, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1764, "end": 1765, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1767, "end": 1824, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1777, "end": 1789, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1777, "end": 1779, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1779, "end": 1788, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1781, "end": 1788, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1784, "end": 1788, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1787, "end": 1788, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1787, "end": 1788, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1830, "end": 1932, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1840, "end": 1843, "ctxt": 0 }, "value": "I16", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1843, "end": 1846, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1844, "end": 1845, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1844, "end": 1845, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1855, "end": 1862, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1855, "end": 1859, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1859, "end": 1862, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1860, "end": 1861, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1860, "end": 1861, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1863, "end": 1932, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1873, "end": 1897, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1873, "end": 1875, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1875, "end": 1896, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1877, "end": 1896, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1878, "end": 1883, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1880, "end": 1883, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1882, "end": 1883, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1882, "end": 1883, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 1885, "end": 1890, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1887, "end": 1890, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1889, "end": 1890, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1889, "end": 1890, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1892, "end": 1896, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1895, "end": 1896, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1895, "end": 1896, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1938, "end": 2035, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1948, "end": 1951, "ctxt": 0 }, "value": "I17", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1951, "end": 1954, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1952, "end": 1953, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1952, "end": 1953, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1963, "end": 1970, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1963, "end": 1967, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1967, "end": 1970, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1968, "end": 1969, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1968, "end": 1969, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1971, "end": 2035, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1981, "end": 1997, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1981, "end": 1983, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1983, "end": 1996, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 1985, "end": 1996, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1986, "end": 1990, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1987, "end": 1990, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1989, "end": 1990, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1989, "end": 1990, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1992, "end": 1996, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1995, "end": 1996, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1995, "end": 1996, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2041, "end": 2142, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2051, "end": 2054, "ctxt": 0 }, "value": "I18", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2054, "end": 2057, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2055, "end": 2056, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2055, "end": 2056, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2066, "end": 2073, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2066, "end": 2070, "ctxt": 0 }, "value": "Base", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 2070, "end": 2073, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2071, "end": 2072, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2071, "end": 2072, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2074, "end": 2142, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2084, "end": 2106, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2084, "end": 2086, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2086, "end": 2105, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2088, "end": 2105, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2089, "end": 2093, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2090, "end": 2093, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2092, "end": 2093, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2092, "end": 2093, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2095, "end": 2099, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2096, "end": 2099, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2098, "end": 2099, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2098, "end": 2099, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2101, "end": 2105, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2104, "end": 2105, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2104, "end": 2105, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 2146, "end": 3656, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 2153, "end": 2177, "ctxt": 0 }, "value": "GenericSignaturesInvalid", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 2178, "end": 3656, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 2216, "end": 2390, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2226, "end": 2231, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 2232, "end": 2390, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2242, "end": 2256, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2242, "end": 2243, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2243, "end": 2255, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2245, "end": 2255, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2245, "end": 2248, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2246, "end": 2247, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2246, "end": 2247, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2251, "end": 2255, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2254, "end": 2255, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2254, "end": 2255, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2265, "end": 2285, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2265, "end": 2267, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2267, "end": 2284, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2269, "end": 2284, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2273, "end": 2278, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2275, "end": 2278, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2277, "end": 2278, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2277, "end": 2278, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2269, "end": 2272, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2270, "end": 2271, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2270, "end": 2271, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2280, "end": 2284, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2283, "end": 2284, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2283, "end": 2284, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2294, "end": 2313, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2294, "end": 2296, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2296, "end": 2312, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2298, "end": 2312, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2302, "end": 2306, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2303, "end": 2306, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2305, "end": 2306, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2305, "end": 2306, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2298, "end": 2301, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2299, "end": 2300, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2299, "end": 2300, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2308, "end": 2312, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2311, "end": 2312, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2311, "end": 2312, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2322, "end": 2348, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2322, "end": 2324, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2324, "end": 2347, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2326, "end": 2347, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2330, "end": 2334, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2331, "end": 2334, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2333, "end": 2334, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2333, "end": 2334, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2336, "end": 2341, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2338, "end": 2341, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2340, "end": 2341, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2340, "end": 2341, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2326, "end": 2329, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2327, "end": 2328, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2327, "end": 2328, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2343, "end": 2347, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2346, "end": 2347, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2346, "end": 2347, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2357, "end": 2384, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2357, "end": 2359, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2359, "end": 2383, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2361, "end": 2383, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2365, "end": 2370, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2367, "end": 2370, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2369, "end": 2370, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2369, "end": 2370, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 2372, "end": 2377, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2374, "end": 2377, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2376, "end": 2377, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2376, "end": 2377, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2361, "end": 2364, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2362, "end": 2363, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2362, "end": 2363, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2379, "end": 2383, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2382, "end": 2383, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2382, "end": 2383, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2396, "end": 2454, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2406, "end": 2408, "ctxt": 0 }, "value": "I1", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2408, "end": 2411, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2409, "end": 2410, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2409, "end": 2410, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2420, "end": 2425, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2420, "end": 2425, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2426, "end": 2454, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2436, "end": 2447, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2436, "end": 2437, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2437, "end": 2446, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2439, "end": 2446, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2442, "end": 2446, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2445, "end": 2446, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2445, "end": 2446, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2460, "end": 2522, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2470, "end": 2472, "ctxt": 0 }, "value": "I2", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2472, "end": 2475, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2473, "end": 2474, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2473, "end": 2474, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2484, "end": 2489, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2484, "end": 2489, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2490, "end": 2522, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2500, "end": 2516, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2500, "end": 2501, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2501, "end": 2515, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2503, "end": 2515, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2504, "end": 2509, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2506, "end": 2509, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2508, "end": 2509, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2508, "end": 2509, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2511, "end": 2515, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2514, "end": 2515, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2514, "end": 2515, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2528, "end": 2590, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2538, "end": 2540, "ctxt": 0 }, "value": "I3", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2540, "end": 2543, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2541, "end": 2542, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2541, "end": 2542, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2552, "end": 2557, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2552, "end": 2557, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2558, "end": 2590, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2568, "end": 2583, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2568, "end": 2569, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2569, "end": 2582, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2571, "end": 2582, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2572, "end": 2576, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2573, "end": 2576, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2575, "end": 2576, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2575, "end": 2576, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2578, "end": 2582, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2581, "end": 2582, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2581, "end": 2582, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2597, "end": 2656, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2607, "end": 2609, "ctxt": 0 }, "value": "I4", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2609, "end": 2612, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2610, "end": 2611, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2610, "end": 2611, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2621, "end": 2626, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2621, "end": 2626, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2627, "end": 2656, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2637, "end": 2649, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2637, "end": 2639, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2639, "end": 2648, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2641, "end": 2648, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2644, "end": 2648, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2647, "end": 2648, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2647, "end": 2648, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2662, "end": 2724, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2672, "end": 2674, "ctxt": 0 }, "value": "I5", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2674, "end": 2677, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2675, "end": 2676, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2675, "end": 2676, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2686, "end": 2691, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2686, "end": 2691, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2692, "end": 2724, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2702, "end": 2718, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2702, "end": 2704, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2704, "end": 2718, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2706, "end": 2718, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2707, "end": 2712, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2709, "end": 2712, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2711, "end": 2712, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2711, "end": 2712, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2714, "end": 2718, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2717, "end": 2718, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2717, "end": 2718, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2730, "end": 2792, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2740, "end": 2742, "ctxt": 0 }, "value": "I6", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2742, "end": 2745, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2743, "end": 2744, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2743, "end": 2744, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2754, "end": 2759, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2754, "end": 2759, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2760, "end": 2792, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2770, "end": 2786, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2770, "end": 2772, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2772, "end": 2785, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2774, "end": 2785, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2775, "end": 2779, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2776, "end": 2779, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2778, "end": 2779, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2778, "end": 2779, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2781, "end": 2785, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2784, "end": 2785, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2784, "end": 2785, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2799, "end": 2857, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2809, "end": 2811, "ctxt": 0 }, "value": "I7", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2811, "end": 2814, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2812, "end": 2813, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2812, "end": 2813, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2823, "end": 2828, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2823, "end": 2828, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2829, "end": 2857, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2839, "end": 2851, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2839, "end": 2841, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2841, "end": 2850, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2843, "end": 2850, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2846, "end": 2850, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2849, "end": 2850, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2849, "end": 2850, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2863, "end": 2927, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2873, "end": 2875, "ctxt": 0 }, "value": "I8", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2875, "end": 2878, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2876, "end": 2877, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2876, "end": 2877, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2887, "end": 2892, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2887, "end": 2892, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2893, "end": 2927, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2903, "end": 2920, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2903, "end": 2905, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2905, "end": 2919, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2907, "end": 2919, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2908, "end": 2913, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2910, "end": 2913, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2912, "end": 2913, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2912, "end": 2913, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2915, "end": 2919, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2918, "end": 2919, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2918, "end": 2919, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2933, "end": 2996, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2943, "end": 2945, "ctxt": 0 }, "value": "I9", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2945, "end": 2948, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2946, "end": 2947, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2946, "end": 2947, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 2957, "end": 2962, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2957, "end": 2962, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 2963, "end": 2996, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2973, "end": 2989, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2973, "end": 2975, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2975, "end": 2988, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 2977, "end": 2988, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2978, "end": 2982, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2979, "end": 2982, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2981, "end": 2982, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2981, "end": 2982, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2984, "end": 2988, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2987, "end": 2988, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2987, "end": 2988, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3002, "end": 3073, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3012, "end": 3015, "ctxt": 0 }, "value": "I10", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3015, "end": 3018, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3016, "end": 3017, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3016, "end": 3017, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3027, "end": 3032, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3027, "end": 3032, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3033, "end": 3073, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3043, "end": 3065, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3043, "end": 3045, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3045, "end": 3064, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3047, "end": 3064, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3048, "end": 3052, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3049, "end": 3052, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3051, "end": 3052, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3051, "end": 3052, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3054, "end": 3058, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3055, "end": 3058, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3057, "end": 3058, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3057, "end": 3058, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3060, "end": 3064, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3063, "end": 3064, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3063, "end": 3064, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3080, "end": 3140, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3090, "end": 3093, "ctxt": 0 }, "value": "I11", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3093, "end": 3096, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3094, "end": 3095, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3094, "end": 3095, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3105, "end": 3110, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3105, "end": 3110, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3111, "end": 3140, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3121, "end": 3133, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3121, "end": 3123, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3123, "end": 3132, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3125, "end": 3132, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3128, "end": 3132, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3131, "end": 3132, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3131, "end": 3132, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3146, "end": 3218, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3156, "end": 3159, "ctxt": 0 }, "value": "I12", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3159, "end": 3162, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3160, "end": 3161, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3160, "end": 3161, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3171, "end": 3176, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3171, "end": 3176, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3177, "end": 3218, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3187, "end": 3211, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3187, "end": 3189, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3189, "end": 3210, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3191, "end": 3210, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3192, "end": 3197, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3194, "end": 3197, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3196, "end": 3197, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3196, "end": 3197, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3199, "end": 3204, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3201, "end": 3204, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3203, "end": 3204, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3203, "end": 3204, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3206, "end": 3210, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3209, "end": 3210, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3209, "end": 3210, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3224, "end": 3288, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3234, "end": 3237, "ctxt": 0 }, "value": "I13", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3237, "end": 3240, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3238, "end": 3239, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3238, "end": 3239, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3249, "end": 3254, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3249, "end": 3254, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3255, "end": 3288, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3265, "end": 3281, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3265, "end": 3267, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3267, "end": 3280, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3269, "end": 3280, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3270, "end": 3274, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3271, "end": 3274, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3273, "end": 3274, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3273, "end": 3274, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3276, "end": 3280, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3279, "end": 3280, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3279, "end": 3280, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3294, "end": 3364, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3304, "end": 3307, "ctxt": 0 }, "value": "I14", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3307, "end": 3310, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3308, "end": 3309, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3308, "end": 3309, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3319, "end": 3324, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3319, "end": 3324, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3325, "end": 3364, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3335, "end": 3357, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3335, "end": 3337, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3337, "end": 3356, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3339, "end": 3356, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3340, "end": 3344, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3341, "end": 3344, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3343, "end": 3344, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3343, "end": 3344, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3346, "end": 3350, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3347, "end": 3350, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3349, "end": 3350, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3349, "end": 3350, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3352, "end": 3356, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3355, "end": 3356, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3355, "end": 3356, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3371, "end": 3431, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3381, "end": 3384, "ctxt": 0 }, "value": "I15", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3384, "end": 3387, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3385, "end": 3386, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3385, "end": 3386, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3396, "end": 3401, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3396, "end": 3401, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3402, "end": 3431, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3412, "end": 3424, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3412, "end": 3414, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3414, "end": 3423, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3416, "end": 3423, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3419, "end": 3423, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3422, "end": 3423, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3422, "end": 3423, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3437, "end": 3509, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3447, "end": 3450, "ctxt": 0 }, "value": "I16", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3450, "end": 3453, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3451, "end": 3452, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3451, "end": 3452, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3462, "end": 3467, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3462, "end": 3467, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3468, "end": 3509, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3478, "end": 3502, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3478, "end": 3480, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3480, "end": 3501, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3482, "end": 3501, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3483, "end": 3488, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3485, "end": 3488, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3487, "end": 3488, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3487, "end": 3488, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3490, "end": 3495, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3492, "end": 3495, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3494, "end": 3495, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3494, "end": 3495, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3497, "end": 3501, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3500, "end": 3501, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3500, "end": 3501, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3515, "end": 3578, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3525, "end": 3528, "ctxt": 0 }, "value": "I17", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3528, "end": 3531, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3529, "end": 3530, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3529, "end": 3530, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3540, "end": 3545, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3540, "end": 3545, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3546, "end": 3578, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3556, "end": 3572, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3556, "end": 3558, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3558, "end": 3571, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3560, "end": 3571, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3561, "end": 3565, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3562, "end": 3565, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3564, "end": 3565, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3564, "end": 3565, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3567, "end": 3571, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3570, "end": 3571, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3570, "end": 3571, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3584, "end": 3654, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3594, "end": 3597, "ctxt": 0 }, "value": "I18", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3597, "end": 3600, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3598, "end": 3599, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3598, "end": 3599, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3609, "end": 3614, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3609, "end": 3614, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3615, "end": 3654, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3625, "end": 3647, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3625, "end": 3627, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3627, "end": 3646, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3629, "end": 3646, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3630, "end": 3634, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3631, "end": 3634, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3633, "end": 3634, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3633, "end": 3634, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3636, "end": 3640, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3637, "end": 3640, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3639, "end": 3640, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3639, "end": 3640, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3642, "end": 3646, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3645, "end": 3646, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3645, "end": 3646, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 3658, "end": 6074, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 3665, "end": 3687, "ctxt": 0 }, "value": "GenericSignaturesValid", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 3688, "end": 6074, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 3695, "end": 3869, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3705, "end": 3710, "ctxt": 0 }, "value": "Base2", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 3711, "end": 3869, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3721, "end": 3735, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3721, "end": 3722, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3722, "end": 3734, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3724, "end": 3734, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3724, "end": 3727, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3725, "end": 3726, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3725, "end": 3726, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3730, "end": 3734, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3733, "end": 3734, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3733, "end": 3734, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3744, "end": 3764, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3744, "end": 3746, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3746, "end": 3763, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3748, "end": 3763, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3752, "end": 3757, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3754, "end": 3757, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3756, "end": 3757, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3756, "end": 3757, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3748, "end": 3751, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3749, "end": 3750, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3749, "end": 3750, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3759, "end": 3763, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3762, "end": 3763, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3762, "end": 3763, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3773, "end": 3792, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3773, "end": 3775, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3775, "end": 3791, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3777, "end": 3791, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3781, "end": 3785, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3782, "end": 3785, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3784, "end": 3785, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3784, "end": 3785, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3777, "end": 3780, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3778, "end": 3779, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3778, "end": 3779, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3787, "end": 3791, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3790, "end": 3791, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3790, "end": 3791, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3801, "end": 3827, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3801, "end": 3803, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3803, "end": 3826, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3805, "end": 3826, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3809, "end": 3813, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3810, "end": 3813, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3812, "end": 3813, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3812, "end": 3813, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3815, "end": 3820, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3817, "end": 3820, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3819, "end": 3820, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3819, "end": 3820, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3805, "end": 3808, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3806, "end": 3807, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3806, "end": 3807, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3822, "end": 3826, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3825, "end": 3826, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3825, "end": 3826, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3836, "end": 3863, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3836, "end": 3838, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3838, "end": 3862, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3840, "end": 3862, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3844, "end": 3849, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3846, "end": 3849, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3848, "end": 3849, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3848, "end": 3849, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 3851, "end": 3856, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3853, "end": 3856, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3855, "end": 3856, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3855, "end": 3856, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3840, "end": 3843, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3841, "end": 3842, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3841, "end": 3842, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3858, "end": 3862, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3861, "end": 3862, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3861, "end": 3862, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3893, "end": 3988, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3903, "end": 3905, "ctxt": 0 }, "value": "I1", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 3914, "end": 3919, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 3914, "end": 3919, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 3920, "end": 3988, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3930, "end": 3944, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3930, "end": 3931, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3931, "end": 3943, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3933, "end": 3943, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3933, "end": 3936, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3934, "end": 3935, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3934, "end": 3935, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3939, "end": 3943, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3942, "end": 3943, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3942, "end": 3943, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 3994, "end": 4151, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4004, "end": 4006, "ctxt": 0 }, "value": "I2", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4015, "end": 4020, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4015, "end": 4020, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4021, "end": 4151, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4031, "end": 4050, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4031, "end": 4032, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4032, "end": 4049, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4034, "end": 4049, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4038, "end": 4043, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4040, "end": 4043, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4042, "end": 4043, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4042, "end": 4043, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4034, "end": 4037, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4035, "end": 4036, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4035, "end": 4036, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4045, "end": 4049, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4048, "end": 4049, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4048, "end": 4049, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 4157, "end": 4313, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4167, "end": 4169, "ctxt": 0 }, "value": "I3", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4178, "end": 4183, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4178, "end": 4183, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4184, "end": 4313, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4194, "end": 4212, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4194, "end": 4195, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4195, "end": 4211, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4197, "end": 4211, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4201, "end": 4205, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4202, "end": 4205, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4204, "end": 4205, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4204, "end": 4205, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4197, "end": 4200, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4198, "end": 4199, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4198, "end": 4199, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4207, "end": 4211, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4210, "end": 4211, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4210, "end": 4211, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 4320, "end": 4473, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4330, "end": 4332, "ctxt": 0 }, "value": "I4", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4341, "end": 4346, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4341, "end": 4346, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4347, "end": 4473, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4357, "end": 4372, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4357, "end": 4359, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4359, "end": 4371, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4361, "end": 4371, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4361, "end": 4364, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4362, "end": 4363, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4362, "end": 4363, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4367, "end": 4371, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4370, "end": 4371, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4370, "end": 4371, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 4479, "end": 4559, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4489, "end": 4491, "ctxt": 0 }, "value": "I5", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4500, "end": 4505, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4500, "end": 4505, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4506, "end": 4559, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4516, "end": 4536, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4516, "end": 4518, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4518, "end": 4535, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4520, "end": 4535, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4524, "end": 4529, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4526, "end": 4529, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4528, "end": 4529, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4528, "end": 4529, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4520, "end": 4523, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4521, "end": 4522, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4521, "end": 4522, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4531, "end": 4535, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4534, "end": 4535, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4534, "end": 4535, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 4565, "end": 4656, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4575, "end": 4577, "ctxt": 0 }, "value": "I6", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4586, "end": 4591, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4586, "end": 4591, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4592, "end": 4656, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4602, "end": 4621, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4602, "end": 4604, "ctxt": 0 }, "value": "a2", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4604, "end": 4620, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4606, "end": 4620, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4610, "end": 4614, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4611, "end": 4614, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4613, "end": 4614, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4613, "end": 4614, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4606, "end": 4609, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4607, "end": 4608, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4607, "end": 4608, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4616, "end": 4620, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4619, "end": 4620, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4619, "end": 4620, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 4663, "end": 4793, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4673, "end": 4675, "ctxt": 0 }, "value": "I7", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4684, "end": 4689, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4684, "end": 4689, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4690, "end": 4793, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4700, "end": 4715, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4700, "end": 4702, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4702, "end": 4714, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4704, "end": 4714, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4704, "end": 4707, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4705, "end": 4706, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4705, "end": 4706, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4710, "end": 4714, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4713, "end": 4714, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4713, "end": 4714, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 4799, "end": 4891, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4809, "end": 4811, "ctxt": 0 }, "value": "I8", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4820, "end": 4825, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4820, "end": 4825, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4826, "end": 4891, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4836, "end": 4856, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4836, "end": 4838, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4838, "end": 4855, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4840, "end": 4855, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4844, "end": 4849, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4846, "end": 4849, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4848, "end": 4849, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4848, "end": 4849, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4840, "end": 4843, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4841, "end": 4842, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4841, "end": 4842, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4851, "end": 4855, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4854, "end": 4855, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4854, "end": 4855, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 4897, "end": 5008, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4907, "end": 4909, "ctxt": 0 }, "value": "I9", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 4918, "end": 4923, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4918, "end": 4923, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 4924, "end": 5008, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 4934, "end": 4953, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4934, "end": 4936, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4936, "end": 4952, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 4938, "end": 4952, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4942, "end": 4946, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4943, "end": 4946, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4945, "end": 4946, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4945, "end": 4946, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4938, "end": 4941, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4939, "end": 4940, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4939, "end": 4940, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4948, "end": 4952, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4951, "end": 4952, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4951, "end": 4952, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5014, "end": 5119, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5024, "end": 5027, "ctxt": 0 }, "value": "I10", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5036, "end": 5041, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5036, "end": 5041, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5042, "end": 5119, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5052, "end": 5077, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5052, "end": 5054, "ctxt": 0 }, "value": "a3", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5054, "end": 5076, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5056, "end": 5076, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 5060, "end": 5064, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5061, "end": 5064, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5063, "end": 5064, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5063, "end": 5064, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 5066, "end": 5070, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5067, "end": 5070, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5069, "end": 5070, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5069, "end": 5070, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5056, "end": 5059, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5057, "end": 5058, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5057, "end": 5058, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5072, "end": 5076, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5075, "end": 5076, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5075, "end": 5076, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5126, "end": 5280, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5136, "end": 5139, "ctxt": 0 }, "value": "I11", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5148, "end": 5153, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5148, "end": 5153, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5154, "end": 5280, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5164, "end": 5179, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5164, "end": 5166, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5166, "end": 5178, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5168, "end": 5178, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5168, "end": 5171, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5169, "end": 5170, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5169, "end": 5170, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5174, "end": 5178, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5177, "end": 5178, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5177, "end": 5178, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5286, "end": 5386, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5296, "end": 5299, "ctxt": 0 }, "value": "I12", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5308, "end": 5313, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5308, "end": 5313, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5314, "end": 5386, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5324, "end": 5351, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5324, "end": 5326, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5326, "end": 5350, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5328, "end": 5350, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 5332, "end": 5337, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5334, "end": 5337, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5336, "end": 5337, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5336, "end": 5337, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 5339, "end": 5344, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5341, "end": 5344, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5343, "end": 5344, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5343, "end": 5344, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5328, "end": 5331, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5329, "end": 5330, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5329, "end": 5330, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5346, "end": 5350, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5349, "end": 5350, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5349, "end": 5350, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5392, "end": 5488, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5402, "end": 5405, "ctxt": 0 }, "value": "I13", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5414, "end": 5419, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5414, "end": 5419, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5420, "end": 5488, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5430, "end": 5449, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5430, "end": 5432, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5432, "end": 5448, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5434, "end": 5448, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 5438, "end": 5442, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5439, "end": 5442, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5441, "end": 5442, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5441, "end": 5442, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5434, "end": 5437, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5435, "end": 5436, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5435, "end": 5436, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5444, "end": 5448, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5447, "end": 5448, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5447, "end": 5448, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5494, "end": 5599, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5504, "end": 5507, "ctxt": 0 }, "value": "I14", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5516, "end": 5521, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5516, "end": 5521, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5522, "end": 5599, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5532, "end": 5557, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5532, "end": 5534, "ctxt": 0 }, "value": "a4", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5534, "end": 5556, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5536, "end": 5556, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 5540, "end": 5544, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5541, "end": 5544, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5543, "end": 5544, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5543, "end": 5544, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 5546, "end": 5550, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5547, "end": 5550, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5549, "end": 5550, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5549, "end": 5550, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5536, "end": 5539, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5537, "end": 5538, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5537, "end": 5538, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5552, "end": 5556, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5555, "end": 5556, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5555, "end": 5556, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5606, "end": 5760, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5616, "end": 5619, "ctxt": 0 }, "value": "I15", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5628, "end": 5633, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5628, "end": 5633, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5634, "end": 5760, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5644, "end": 5659, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5644, "end": 5646, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5646, "end": 5658, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5648, "end": 5658, "ctxt": 0 }, "params": [], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5648, "end": 5651, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5649, "end": 5650, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5649, "end": 5650, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5654, "end": 5658, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5657, "end": 5658, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5657, "end": 5658, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5766, "end": 5866, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5776, "end": 5779, "ctxt": 0 }, "value": "I16", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5788, "end": 5793, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5788, "end": 5793, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5794, "end": 5866, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5804, "end": 5831, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5804, "end": 5806, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5806, "end": 5830, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5808, "end": 5830, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 5812, "end": 5817, "ctxt": 0 }, "value": "x", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5814, "end": 5817, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5816, "end": 5817, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5816, "end": 5817, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 5819, "end": 5824, "ctxt": 0 }, "value": "y", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5821, "end": 5824, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5823, "end": 5824, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5823, "end": 5824, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5808, "end": 5811, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5809, "end": 5810, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5809, "end": 5810, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5826, "end": 5830, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5829, "end": 5830, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5829, "end": 5830, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5872, "end": 5967, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5882, "end": 5885, "ctxt": 0 }, "value": "I17", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5894, "end": 5899, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5894, "end": 5899, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 5900, "end": 5967, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 5910, "end": 5929, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5910, "end": 5912, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5912, "end": 5928, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 5914, "end": 5928, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 5918, "end": 5922, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5919, "end": 5922, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5921, "end": 5922, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5921, "end": 5922, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 5914, "end": 5917, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 5915, "end": 5916, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 5915, "end": 5916, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5924, "end": 5928, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 5927, "end": 5928, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 5927, "end": 5928, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 5973, "end": 6072, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5983, "end": 5986, "ctxt": 0 }, "value": "I18", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 5995, "end": 6000, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 5995, "end": 6000, "ctxt": 0 }, "value": "Base2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 6001, "end": 6072, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 6011, "end": 6036, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 6011, "end": 6013, "ctxt": 0 }, "value": "a5", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6013, "end": 6035, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 6015, "end": 6035, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 6019, "end": 6023, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6020, "end": 6023, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6022, "end": 6023, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6022, "end": 6023, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 6025, "end": 6029, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6026, "end": 6029, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6028, "end": 6029, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6028, "end": 6029, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } ], "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 6015, "end": 6018, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 6016, "end": 6017, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 6016, "end": 6017, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6031, "end": 6035, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6034, "end": 6035, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6034, "end": 6035, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "typeParams": null } ] } } ] } } ], "interpreter": null }