title: Testing Vuejs and TypeScript with Jest causes an error "Property 'xxx' does not exist on type 'CombinedVueInstance'
body: <p>I'm trying to create a basic test for a function in Vue component and failing miserably. </p>
  
  <p>main.ts</p>
  
  <pre><code>new Vue({
    render: (h) =&gt; h(App),
    router,
    store,
  }).$mount('#app')
  </code></pre>
  
  <p>App.ts</p>
  
  <pre><code>const App = Vue.extend({
      components: { MainContainer },
      data() {
          return {
              msg: 'Test',
          }
      },
      name: 'App',
      template: `&lt;MainContainer /&gt;`,
  })
  
  export default App
  </code></pre>
  
  <p>MainContainer.vue </p>
  
  <pre><code>const MainContainer = Vue.extend({
      components: {
          Content,
      },
      methods: {
          sum: (a: number, b: number): number =&gt; a + b,
      },
  })
  
  export default MainContainer
  </code></pre>
  
  <p>MainContainer.spec.ts</p>
  
  <pre><code>import { createLocalVue, shallowMount } from '@vue/test-utils'
  
  describe('MainComponent.vue', () =&gt; {
      const localVue = createLocalVue()
  
      test('sum method should add number together', () =&gt; {
      const wrapper = shallowMount(MainContainer, { localVue })
      expect(wrapper.vm.sum(1, 2)).toEqual(3)
  })
  </code></pre>
  
  <p>Tests fails with the error </p>
  
  <pre><code>Property 'sum' does not exist on type 'CombinedVueInstance&lt;Vue, object, object, object, Record&lt;never, any&gt;&gt;'.
  </code></pre>
  
  <p>The same behavior I see if I try to test data.msg from App.ts. I'd appreciate any help. Thanks</p>