title: What's the way to define props in vue3 (Typescript)
body: <p>In Vue3's defineComponent function, the first generic parameter is Props, so I provide my props type using Typescript interface here. like:</p>
  <pre class="lang-js prettyprint-override"><code>export default defineComponent&lt;{ initial?: number }&gt;({
    setup(props) {
      const count = ref(props.initial ?? 0);
      const increase = () =&gt; count.value++;
      const decrease = () =&gt; count.value--;
      return { count, increase, decrease };
    }
  });
  </code></pre>
  <p>But my props are not identified by Vue, it means the code below won't work:</p>
  <pre class="lang-html prettyprint-override"><code>&lt;Counter :initial=&quot;5&quot;&gt;&lt;/Counter&gt;
  </code></pre>
  <p>If I define props options in my components like:</p>
  <pre class="lang-js prettyprint-override"><code>export default defineComponent&lt;{ initial?: number }&gt;({
    props: {
      initial: { type: Number, required: false },
    },
    setup(props) {
      const count = ref(props.initial ?? 0);
      const increase = () =&gt; count.value++;
      const decrease = () =&gt; count.value--;
      return { count, increase, decrease };
    }
  });
  </code></pre>
  <p>it will occurred type error <code>TS2769: No overload matches this call.</code>
  And I know if I remove the generic parameter will clean up this error, but the props options is not native Typescript.</p>
  <p>Someone know how can I solve this?</p>