### Version 3.2.26 ### Reproduction link [stackblitz.com](https://stackblitz.com/edit/vitejs-vite-rhqbpq?file=src/App.vue) ### Steps to reproduce ``` import { toRefs } from 'vue' const props = defineProps<{ isLive?: boolean }>() const { isLive } = toRefs(props) ``` ### What is expected? According to [fix(runtime-core): ensure declare prop keys are always present](https://github.com/vuejs/core/commit/4fe4de0a49ffc2461b0394e74674af38ff5e2a20) type of `isLive` should be: ``` Ref<boolean> ``` ### What is actually happening? The type of `isLive` actually is: ``` Ref<boolean | undefined> | undefined ``` --- `isLive` couldn't be undefined in no case <!-- generated by vue-issues. DO NOT REMOVE -->