1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ExportNamedDeclaration",
6      "declaration": {
7        "type": "TSDeclareFunction",
8        "function": {
9          "type": "ScriptFunction",
10          "id": {
11            "type": "Identifier",
12            "name": "func",
13            "loc": {
14              "start": {
15                "line": 17,
16                "column": 17
17              },
18              "end": {
19                "line": 17,
20                "column": 21
21              }
22            }
23          },
24          "generator": false,
25          "async": false,
26          "expression": false,
27          "params": [
28            {
29              "type": "Identifier",
30              "name": "a",
31              "typeAnnotation": {
32                "type": "TSNumberKeyword",
33                "loc": {
34                  "start": {
35                    "line": 17,
36                    "column": 25
37                  },
38                  "end": {
39                    "line": 17,
40                    "column": 31
41                  }
42                }
43              },
44              "loc": {
45                "start": {
46                  "line": 17,
47                  "column": 22
48                },
49                "end": {
50                  "line": 17,
51                  "column": 23
52                }
53              }
54            },
55            {
56              "type": "Identifier",
57              "name": "b",
58              "typeAnnotation": {
59                "type": "TSStringKeyword",
60                "loc": {
61                  "start": {
62                    "line": 17,
63                    "column": 36
64                  },
65                  "end": {
66                    "line": 17,
67                    "column": 42
68                  }
69                }
70              },
71              "loc": {
72                "start": {
73                  "line": 17,
74                  "column": 33
75                },
76                "end": {
77                  "line": 17,
78                  "column": 34
79                }
80              }
81            },
82            {
83              "type": "RestElement",
84              "argument": {
85                "type": "Identifier",
86                "name": "args",
87                "typeAnnotation": {
88                  "type": "TSArrayType",
89                  "elementType": {
90                    "type": "TSAnyKeyword",
91                    "loc": {
92                      "start": {
93                        "line": 17,
94                        "column": 53
95                      },
96                      "end": {
97                        "line": 17,
98                        "column": 56
99                      }
100                    }
101                  },
102                  "loc": {
103                    "start": {
104                      "line": 17,
105                      "column": 53
106                    },
107                    "end": {
108                      "line": 17,
109                      "column": 58
110                    }
111                  }
112                },
113                "loc": {
114                  "start": {
115                    "line": 17,
116                    "column": 47
117                  },
118                  "end": {
119                    "line": 17,
120                    "column": 51
121                  }
122                }
123              },
124              "loc": {
125                "start": {
126                  "line": 17,
127                  "column": 44
128                },
129                "end": {
130                  "line": 17,
131                  "column": 51
132                }
133              }
134            }
135          ],
136          "returnType": {
137            "type": "TSVoidKeyword",
138            "loc": {
139              "start": {
140                "line": 17,
141                "column": 61
142              },
143              "end": {
144                "line": 17,
145                "column": 65
146              }
147            }
148          },
149          "loc": {
150            "start": {
151              "line": 17,
152              "column": 8
153            },
154            "end": {
155              "line": 17,
156              "column": 66
157            }
158          }
159        },
160        "loc": {
161          "start": {
162            "line": 17,
163            "column": 8
164          },
165          "end": {
166            "line": 17,
167            "column": 66
168          }
169        }
170      },
171      "source": null,
172      "specifiers": [],
173      "loc": {
174        "start": {
175          "line": 17,
176          "column": 1
177        },
178        "end": {
179          "line": 17,
180          "column": 66
181        }
182      }
183    },
184    {
185      "type": "ExportNamedDeclaration",
186      "declaration": {
187        "type": "FunctionDeclaration",
188        "function": {
189          "type": "ScriptFunction",
190          "id": {
191            "type": "Identifier",
192            "name": "func",
193            "loc": {
194              "start": {
195                "line": 18,
196                "column": 17
197              },
198              "end": {
199                "line": 18,
200                "column": 21
201              }
202            }
203          },
204          "generator": false,
205          "async": false,
206          "expression": false,
207          "params": [
208            {
209              "type": "Identifier",
210              "name": "a",
211              "typeAnnotation": {
212                "type": "TSNumberKeyword",
213                "loc": {
214                  "start": {
215                    "line": 18,
216                    "column": 25
217                  },
218                  "end": {
219                    "line": 18,
220                    "column": 31
221                  }
222                }
223              },
224              "loc": {
225                "start": {
226                  "line": 18,
227                  "column": 22
228                },
229                "end": {
230                  "line": 18,
231                  "column": 23
232                }
233              }
234            },
235            {
236              "type": "Identifier",
237              "name": "b",
238              "typeAnnotation": {
239                "type": "TSStringKeyword",
240                "loc": {
241                  "start": {
242                    "line": 18,
243                    "column": 36
244                  },
245                  "end": {
246                    "line": 18,
247                    "column": 42
248                  }
249                }
250              },
251              "loc": {
252                "start": {
253                  "line": 18,
254                  "column": 33
255                },
256                "end": {
257                  "line": 18,
258                  "column": 34
259                }
260              }
261            }
262          ],
263          "returnType": {
264            "type": "TSAnyKeyword",
265            "loc": {
266              "start": {
267                "line": 18,
268                "column": 45
269              },
270              "end": {
271                "line": 18,
272                "column": 48
273              }
274            }
275          },
276          "body": {
277            "type": "BlockStatement",
278            "statements": [
279              {
280                "type": "ReturnStatement",
281                "argument": {
282                  "type": "BinaryExpression",
283                  "operator": "+",
284                  "left": {
285                    "type": "Identifier",
286                    "name": "a",
287                    "loc": {
288                      "start": {
289                        "line": 19,
290                        "column": 12
291                      },
292                      "end": {
293                        "line": 19,
294                        "column": 13
295                      }
296                    }
297                  },
298                  "right": {
299                    "type": "Identifier",
300                    "name": "b",
301                    "loc": {
302                      "start": {
303                        "line": 19,
304                        "column": 16
305                      },
306                      "end": {
307                        "line": 19,
308                        "column": 17
309                      }
310                    }
311                  },
312                  "loc": {
313                    "start": {
314                      "line": 19,
315                      "column": 12
316                    },
317                    "end": {
318                      "line": 19,
319                      "column": 17
320                    }
321                  }
322                },
323                "loc": {
324                  "start": {
325                    "line": 19,
326                    "column": 5
327                  },
328                  "end": {
329                    "line": 19,
330                    "column": 18
331                  }
332                }
333              }
334            ],
335            "loc": {
336              "start": {
337                "line": 18,
338                "column": 49
339              },
340              "end": {
341                "line": 20,
342                "column": 2
343              }
344            }
345          },
346          "loc": {
347            "start": {
348              "line": 18,
349              "column": 8
350            },
351            "end": {
352              "line": 20,
353              "column": 2
354            }
355          }
356        },
357        "loc": {
358          "start": {
359            "line": 18,
360            "column": 8
361          },
362          "end": {
363            "line": 20,
364            "column": 2
365          }
366        }
367      },
368      "source": null,
369      "specifiers": [],
370      "loc": {
371        "start": {
372          "line": 18,
373          "column": 1
374        },
375        "end": {
376          "line": 20,
377          "column": 2
378        }
379      }
380    }
381  ],
382  "loc": {
383    "start": {
384      "line": 1,
385      "column": 1
386    },
387    "end": {
388      "line": 20,
389      "column": 2
390    }
391  }
392}
393