import type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue' import { type Prettify, expectType } from './utils' const propsOptions = { foo: { default: 1, }, bar: { type: String, required: true, }, baz: Boolean, qux: Array, } as const // internal facing props declare const props: Prettify> expectType(props.foo) expectType(props.bar) expectType(props.baz) expectType(props.qux) // external facing props declare const publicProps: Prettify> expectType(publicProps.foo) expectType(publicProps.bar) expectType(publicProps.baz) expectType(publicProps.qux)