Actually upon further investigation, `VNodeChild` only causes an error with `[email protected]`, not newer versions, so I guess `RenderFunction` is okay. Just avoid the problematic version of `vue-tsc`.
Fix vue TypeScript declarations, again
======================================
I'm not sure why `DefineComponent` was changed to `RenderFunction` in #322, but it has a wrong signature (returns `VNodeChild` instead of `VNode`) and is now causing #516 with newer versions of `vue-tsc` (allegedly, I didn't downgrade it to check):
```
error TS2786: '...' cannot be used as a JSX component.
Its return type 'VNodeChild' is not a valid JSX element.
Type 'undefined' is not assignable to type 'Element | null'.
```
as documented in #516. So here we change `RenderFunction` back to `DefineComponent`.