1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSTypeAliasDeclaration",
6      "id": {
7        "type": "Identifier",
8        "name": "Provider",
9        "loc": {
10          "start": {
11            "line": 17,
12            "column": 6
13          },
14          "end": {
15            "line": 17,
16            "column": 14
17          }
18        }
19      },
20      "typeAnnotation": {
21        "type": "TSFunctionType",
22        "params": [],
23        "returnType": {
24          "type": "TSTypeReference",
25          "typeName": {
26            "type": "Identifier",
27            "name": "T",
28            "loc": {
29              "start": {
30                "line": 17,
31                "column": 30
32              },
33              "end": {
34                "line": 17,
35                "column": 31
36              }
37            }
38          },
39          "loc": {
40            "start": {
41              "line": 17,
42              "column": 30
43            },
44            "end": {
45              "line": 17,
46              "column": 31
47            }
48          }
49        },
50        "loc": {
51          "start": {
52            "line": 17,
53            "column": 24
54          },
55          "end": {
56            "line": 17,
57            "column": 31
58          }
59        }
60      },
61      "typeParameters": {
62        "type": "TSTypeParameterDeclaration",
63        "params": [
64          {
65            "type": "TSTypeParameter",
66            "name": {
67              "type": "Identifier",
68              "name": "T",
69              "loc": {
70                "start": {
71                  "line": 17,
72                  "column": 19
73                },
74                "end": {
75                  "line": 17,
76                  "column": 20
77                }
78              }
79            },
80            "in": false,
81            "out": true,
82            "loc": {
83              "start": {
84                "line": 17,
85                "column": 15
86              },
87              "end": {
88                "line": 17,
89                "column": 21
90              }
91            }
92          }
93        ],
94        "loc": {
95          "start": {
96            "line": 17,
97            "column": 14
98          },
99          "end": {
100            "line": 17,
101            "column": 21
102          }
103        }
104      },
105      "loc": {
106        "start": {
107          "line": 17,
108          "column": 1
109        },
110        "end": {
111          "line": 17,
112          "column": 32
113        }
114      }
115    }
116  ],
117  "loc": {
118    "start": {
119      "line": 1,
120      "column": 1
121    },
122    "end": {
123      "line": 17,
124      "column": 32
125    }
126  }
127}
128