@@ -2,6 +2,7 @@ import { Vue, CreateElement, CombinedVueInstance } from './vue'
2
2
import { VNode , VNodeData , VNodeDirective , NormalizedScopedSlot } from './vnode'
3
3
import { SetupContext } from './v3-setup-context'
4
4
import { DebuggerEvent } from './v3-generated'
5
+ import { DefineComponent } from './v3-define-component'
5
6
6
7
type Constructor = {
7
8
new ( ...args : any [ ] ) : any
@@ -19,6 +20,7 @@ export type Component<
19
20
| typeof Vue
20
21
| FunctionalComponentOptions < Props >
21
22
| ComponentOptions < never , Data , Methods , Computed , Props , SetupBindings >
23
+ | DefineComponent < any , any , any , any , any >
22
24
23
25
type EsModule < T > = T | { default : T }
24
26
@@ -174,7 +176,10 @@ export interface ComponentOptions<
174
176
el ?: Element | string
175
177
template ?: string
176
178
// hack is for functional component type inference, should not be used in user code
177
- render ?( createElement : CreateElement , hack : RenderContext < Props > ) : VNode
179
+ render ?(
180
+ createElement : CreateElement ,
181
+ hack : RenderContext < Props >
182
+ ) : VNode | null | void
178
183
renderError ?( createElement : CreateElement , err : Error ) : VNode
179
184
staticRenderFns ?: ( ( createElement : CreateElement ) => VNode ) [ ]
180
185
@@ -198,6 +203,7 @@ export interface ComponentOptions<
198
203
[ key : string ] :
199
204
| Component < any , any , any , any >
200
205
| AsyncComponent < any , any , any , any >
206
+ | DefineComponent < any , any , any , any , any , any , any , any , any , any >
201
207
}
202
208
transitions ?: { [ key : string ] : object }
203
209
filters ?: { [ key : string ] : Function }
0 commit comments