@@ -15,6 +15,7 @@ import type {
1515 GlobalComponents ,
1616 GlobalDirectives ,
1717 SetupContext ,
18+ Data as TypeData ,
1819} from './component'
1920import type {
2021 ComponentObjectPropsOptions ,
@@ -67,6 +68,7 @@ export type DefineComponent<
6768 Exposed extends string = string ,
6869 Provide extends ComponentProvideOptions = ComponentProvideOptions ,
6970 MakeDefaultsOptional extends boolean = true ,
71+ TypeRefs extends TypeData = { } ,
7072> = ComponentPublicInstanceConstructor <
7173 CreateComponentPublicInstanceWithMixins <
7274 Props ,
@@ -84,7 +86,8 @@ export type DefineComponent<
8486 S ,
8587 LC & GlobalComponents ,
8688 Directives & GlobalDirectives ,
87- Exposed
89+ Exposed ,
90+ TypeRefs
8891 >
8992> &
9093 ComponentOptionsBase <
@@ -209,6 +212,7 @@ export function defineComponent<
209212 : { [ key in RuntimePropsKeys ] ?: any }
210213 : TypeProps ,
211214 ResolvedProps = Readonly < InferredProps & EmitsToProps < ResolvedEmits > > ,
215+ TypeRefs extends TypeData = { } ,
212216> (
213217 options : {
214218 props ?: ( RuntimePropsOptions & ThisType < void > ) | RuntimePropsKeys [ ]
@@ -220,6 +224,10 @@ export function defineComponent<
220224 * @private for language-tools use only
221225 */
222226 __typeEmits ?: TypeEmits
227+ /**
228+ * @private for language-tools use only
229+ */
230+ __typeRefs ?: TypeRefs
223231 } & ComponentOptionsBase <
224232 ResolvedProps ,
225233 SetupBindings ,
@@ -279,7 +287,8 @@ export function defineComponent<
279287 Provide ,
280288 // MakeDefaultsOptional - if TypeProps is provided, set to false to use
281289 // user props types verbatim
282- unknown extends TypeProps ? true : false
290+ unknown extends TypeProps ? true : false ,
291+ TypeRefs
283292>
284293
285294// implementation, close to no-op
0 commit comments