@cabloy/vue-runtime-core 3.4.25 → 3.4.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1672 @@
1
+ import { computed as computed$1, ShallowUnwrapRef, UnwrapNestedRefs, DebuggerEvent, ComputedGetter, WritableComputedOptions, Ref, ReactiveEffect, ComputedRef, DebuggerOptions, reactive } from '@vue/reactivity';
2
+ export { ComputedGetter, ComputedRef, ComputedSetter, CustomRefFactory, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, EffectScheduler, EffectScope, MaybeRef, MaybeRefOrGetter, Raw, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags, Ref, ShallowReactive, ShallowRef, ShallowUnwrapRef, ToRef, ToRefs, TrackOpTypes, TriggerOpTypes, UnwrapNestedRefs, UnwrapRef, WritableComputedOptions, WritableComputedRef, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
3
+ import { IfAny, Prettify, Awaited, UnionToIntersection, LooseRequired } from '@vue/shared';
4
+ export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
+
6
+ export declare const computed: typeof computed$1;
7
+
8
+ export type Slot<T extends any = any> = (...args: IfAny<T, any[], [T] | (T extends undefined ? [] : never)>) => VNode[];
9
+ type InternalSlots = {
10
+ [name: string]: Slot | undefined;
11
+ };
12
+ export type Slots = Readonly<InternalSlots>;
13
+ declare const SlotSymbol: unique symbol;
14
+ export type SlotsType<T extends Record<string, any> = Record<string, any>> = {
15
+ [SlotSymbol]?: T;
16
+ };
17
+ type StrictUnwrapSlotsType<S extends SlotsType, T = NonNullable<S[typeof SlotSymbol]>> = [keyof S] extends [never] ? Slots : Readonly<T> & T;
18
+ type UnwrapSlotsType<S extends SlotsType, T = NonNullable<S[typeof SlotSymbol]>> = [keyof S] extends [never] ? Slots : Readonly<Prettify<{
19
+ [K in keyof T]: NonNullable<T[K]> extends (...args: any[]) => any ? T[K] : Slot<T[K]>;
20
+ }>>;
21
+ type RawSlots = {
22
+ [name: string]: unknown;
23
+ $stable?: boolean;
24
+ };
25
+
26
+ interface SchedulerJob extends Function {
27
+ id?: number;
28
+ pre?: boolean;
29
+ active?: boolean;
30
+ computed?: boolean;
31
+ /**
32
+ * Indicates whether the effect is allowed to recursively trigger itself
33
+ * when managed by the scheduler.
34
+ *
35
+ * By default, a job cannot trigger itself because some built-in method calls,
36
+ * e.g. Array.prototype.push actually performs reads as well (#1740) which
37
+ * can lead to confusing infinite loops.
38
+ * The allowed cases are component update functions and watch callbacks.
39
+ * Component update functions may update child component props, which in turn
40
+ * trigger flush: "pre" watch callbacks that mutates state that the parent
41
+ * relies on (#1801). Watch callbacks doesn't track its dependencies so if it
42
+ * triggers itself again, it's likely intentional and it is the user's
43
+ * responsibility to perform recursive state mutation that eventually
44
+ * stabilizes (#1727).
45
+ */
46
+ allowRecurse?: boolean;
47
+ /**
48
+ * Attached by renderer.ts when setting up a component's render effect
49
+ * Used to obtain component information when reporting max recursive updates.
50
+ * dev only.
51
+ */
52
+ ownerInstance?: ComponentInternalInstance;
53
+ }
54
+ type SchedulerJobs = SchedulerJob | SchedulerJob[];
55
+ export declare function nextTick<T = void, R = void>(this: T, fn?: (this: T) => R): Promise<Awaited<R>>;
56
+ export declare function queuePostFlushCb(cb: SchedulerJobs): void;
57
+
58
+ export type ObjectEmitsOptions = Record<string, ((...args: any[]) => any) | null>;
59
+ export type EmitsOptions = ObjectEmitsOptions | string[];
60
+ type EmitsToProps<T extends EmitsOptions> = T extends string[] ? {
61
+ [K in `on${Capitalize<T[number]>}`]?: (...args: any[]) => any;
62
+ } : T extends ObjectEmitsOptions ? {
63
+ [K in `on${Capitalize<string & keyof T>}`]?: K extends `on${infer C}` ? (...args: T[Uncapitalize<C>] extends (...args: infer P) => any ? P : T[Uncapitalize<C>] extends null ? any[] : never) => any : never;
64
+ } : {};
65
+ type ShortEmitsToObject<E> = E extends Record<string, any[]> ? {
66
+ [K in keyof E]: (...args: E[K]) => any;
67
+ } : E;
68
+ type EmitFn<Options = ObjectEmitsOptions, Event extends keyof Options = keyof Options> = Options extends Array<infer V> ? (event: V, ...args: any[]) => void : {} extends Options ? (event: string, ...args: any[]) => void : UnionToIntersection<{
69
+ [key in Event]: Options[key] extends (...args: infer Args) => any ? (event: key, ...args: Args) => void : Options[key] extends any[] ? (event: key, ...args: Options[key]) => void : (event: key, ...args: any[]) => void;
70
+ }[Event]>;
71
+
72
+ /**
73
+ * Custom properties added to component instances in any way and can be accessed through `this`
74
+ *
75
+ * @example
76
+ * Here is an example of adding a property `$router` to every component instance:
77
+ * ```ts
78
+ * import { createApp } from 'vue'
79
+ * import { Router, createRouter } from 'vue-router'
80
+ *
81
+ * declare module '@vue/runtime-core' {
82
+ * interface ComponentCustomProperties {
83
+ * $router: Router
84
+ * }
85
+ * }
86
+ *
87
+ * // effectively adding the router to every component instance
88
+ * const app = createApp({})
89
+ * const router = createRouter()
90
+ * app.config.globalProperties.$router = router
91
+ *
92
+ * const vm = app.mount('#app')
93
+ * // we can access the router from the instance
94
+ * vm.$router.push('/')
95
+ * ```
96
+ */
97
+ export interface ComponentCustomProperties {
98
+ }
99
+ type IsDefaultMixinComponent<T> = T extends ComponentOptionsMixin ? ComponentOptionsMixin extends T ? true : false : false;
100
+ type MixinToOptionTypes<T> = T extends ComponentOptionsBase<infer P, infer B, infer D, infer C, infer M, infer Mixin, infer Extends, any, any, infer Defaults, any, any, any> ? OptionTypesType<P & {}, B & {}, D & {}, C & {}, M & {}, Defaults & {}> & IntersectionMixin<Mixin> & IntersectionMixin<Extends> : never;
101
+ type ExtractMixin<T> = {
102
+ Mixin: MixinToOptionTypes<T>;
103
+ }[T extends ComponentOptionsMixin ? 'Mixin' : never];
104
+ type IntersectionMixin<T> = IsDefaultMixinComponent<T> extends true ? OptionTypesType : UnionToIntersection<ExtractMixin<T>>;
105
+ type UnwrapMixinsType<T, Type extends OptionTypesKeys> = T extends OptionTypesType ? T[Type] : never;
106
+ type EnsureNonVoid<T> = T extends void ? {} : T;
107
+ type ComponentPublicInstanceConstructor<T extends ComponentPublicInstance<Props, RawBindings, D, C, M> = ComponentPublicInstance<any>, Props = any, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = {
108
+ __isFragment?: never;
109
+ __isTeleport?: never;
110
+ __isSuspense?: never;
111
+ new (...args: any[]): T;
112
+ };
113
+ export type CreateComponentPublicInstance<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, PublicMixin = IntersectionMixin<Mixin> & IntersectionMixin<Extends>, PublicP = UnwrapMixinsType<PublicMixin, 'P'> & EnsureNonVoid<P>, PublicB = UnwrapMixinsType<PublicMixin, 'B'> & EnsureNonVoid<B>, PublicD = UnwrapMixinsType<PublicMixin, 'D'> & EnsureNonVoid<D>, PublicC extends ComputedOptions = UnwrapMixinsType<PublicMixin, 'C'> & EnsureNonVoid<C>, PublicM extends MethodOptions = UnwrapMixinsType<PublicMixin, 'M'> & EnsureNonVoid<M>, PublicDefaults = UnwrapMixinsType<PublicMixin, 'Defaults'> & EnsureNonVoid<Defaults>> = ComponentPublicInstance<PublicP, PublicB, PublicD, PublicC, PublicM, E, PublicProps, PublicDefaults, MakeDefaultsOptional, ComponentOptionsBase<P, B, D, C, M, Mixin, Extends, E, string, Defaults, {}, string, S>, I, S>;
114
+ export type ComponentPublicInstance<P = {}, // props type extracted from props option
115
+ B = {}, // raw bindings returned from setup()
116
+ D = {}, // return from data()
117
+ C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}, S extends SlotsType = {}> = {
118
+ $: ComponentInternalInstance;
119
+ $data: D;
120
+ $props: MakeDefaultsOptional extends true ? Partial<Defaults> & Omit<Prettify<P> & PublicProps, keyof Defaults> : Prettify<P> & PublicProps;
121
+ $attrs: Data;
122
+ $refs: Data;
123
+ $slots: UnwrapSlotsType<S>;
124
+ $root: ComponentPublicInstance | null;
125
+ $parent: ComponentPublicInstance | null;
126
+ $emit: EmitFn<E>;
127
+ $el: any;
128
+ $options: Options & MergedComponentOptionsOverride;
129
+ $forceUpdate: () => void;
130
+ $nextTick: typeof nextTick;
131
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R]) => any : (...args: any) => any, options?: WatchOptions): WatchStopHandle;
132
+ } & IfAny<P, P, Omit<P, keyof ShallowUnwrapRef<B>>> & ShallowUnwrapRef<B> & UnwrapNestedRefs<D> & ExtractComputedReturns<C> & M & ComponentCustomProperties & InjectToObject<I>;
133
+
134
+ declare enum LifecycleHooks {
135
+ BEFORE_CREATE = "bc",
136
+ CREATED = "c",
137
+ BEFORE_MOUNT = "bm",
138
+ MOUNTED = "m",
139
+ BEFORE_UPDATE = "bu",
140
+ UPDATED = "u",
141
+ BEFORE_UNMOUNT = "bum",
142
+ UNMOUNTED = "um",
143
+ DEACTIVATED = "da",
144
+ ACTIVATED = "a",
145
+ RENDER_TRIGGERED = "rtg",
146
+ RENDER_TRACKED = "rtc",
147
+ ERROR_CAPTURED = "ec",
148
+ SERVER_PREFETCH = "sp"
149
+ }
150
+
151
+ export interface SuspenseProps {
152
+ onResolve?: () => void;
153
+ onPending?: () => void;
154
+ onFallback?: () => void;
155
+ timeout?: string | number;
156
+ /**
157
+ * Allow suspense to be captured by parent suspense
158
+ *
159
+ * @default false
160
+ */
161
+ suspensible?: boolean;
162
+ }
163
+ declare const SuspenseImpl: {
164
+ name: string;
165
+ __isSuspense: boolean;
166
+ process(n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals): void;
167
+ hydrate: typeof hydrateSuspense;
168
+ create: typeof createSuspenseBoundary;
169
+ normalize: typeof normalizeSuspenseChildren;
170
+ };
171
+ export declare const Suspense: {
172
+ new (): {
173
+ $props: VNodeProps & SuspenseProps;
174
+ $slots: {
175
+ default(): VNode[];
176
+ fallback(): VNode[];
177
+ };
178
+ };
179
+ __isSuspense: true;
180
+ };
181
+ export interface SuspenseBoundary {
182
+ vnode: VNode<RendererNode, RendererElement, SuspenseProps>;
183
+ parent: SuspenseBoundary | null;
184
+ parentComponent: ComponentInternalInstance | null;
185
+ namespace: ElementNamespace;
186
+ container: RendererElement;
187
+ hiddenContainer: RendererElement;
188
+ activeBranch: VNode | null;
189
+ pendingBranch: VNode | null;
190
+ deps: number;
191
+ pendingId: number;
192
+ timeout: number;
193
+ isInFallback: boolean;
194
+ isHydrating: boolean;
195
+ isUnmounted: boolean;
196
+ effects: Function[];
197
+ resolve(force?: boolean, sync?: boolean): void;
198
+ fallback(fallbackVNode: VNode): void;
199
+ move(container: RendererElement, anchor: RendererNode | null, type: MoveType): void;
200
+ next(): RendererNode | null;
201
+ registerDep(instance: ComponentInternalInstance, setupRenderEffect: SetupRenderEffectFn): void;
202
+ unmount(parentSuspense: SuspenseBoundary | null, doRemove?: boolean): void;
203
+ }
204
+ declare function createSuspenseBoundary(vnode: VNode, parentSuspense: SuspenseBoundary | null, parentComponent: ComponentInternalInstance | null, container: RendererElement, hiddenContainer: RendererElement, anchor: RendererNode | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals, isHydrating?: boolean): SuspenseBoundary;
205
+ declare function hydrateSuspense(node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals, hydrateNode: (node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null;
206
+ declare function normalizeSuspenseChildren(vnode: VNode): void;
207
+
208
+ export type RootHydrateFunction = (vnode: VNode<Node, Element>, container: (Element | ShadowRoot) & {
209
+ _vnode?: VNode;
210
+ }) => void;
211
+
212
+ type Hook<T = () => void> = T | T[];
213
+ export interface BaseTransitionProps<HostElement = RendererElement> {
214
+ mode?: 'in-out' | 'out-in' | 'default';
215
+ appear?: boolean;
216
+ persisted?: boolean;
217
+ onBeforeEnter?: Hook<(el: HostElement) => void>;
218
+ onEnter?: Hook<(el: HostElement, done: () => void) => void>;
219
+ onAfterEnter?: Hook<(el: HostElement) => void>;
220
+ onEnterCancelled?: Hook<(el: HostElement) => void>;
221
+ onBeforeLeave?: Hook<(el: HostElement) => void>;
222
+ onLeave?: Hook<(el: HostElement, done: () => void) => void>;
223
+ onAfterLeave?: Hook<(el: HostElement) => void>;
224
+ onLeaveCancelled?: Hook<(el: HostElement) => void>;
225
+ onBeforeAppear?: Hook<(el: HostElement) => void>;
226
+ onAppear?: Hook<(el: HostElement, done: () => void) => void>;
227
+ onAfterAppear?: Hook<(el: HostElement) => void>;
228
+ onAppearCancelled?: Hook<(el: HostElement) => void>;
229
+ }
230
+ export interface TransitionHooks<HostElement = RendererElement> {
231
+ mode: BaseTransitionProps['mode'];
232
+ persisted: boolean;
233
+ beforeEnter(el: HostElement): void;
234
+ enter(el: HostElement): void;
235
+ leave(el: HostElement, remove: () => void): void;
236
+ clone(vnode: VNode): TransitionHooks<HostElement>;
237
+ afterLeave?(): void;
238
+ delayLeave?(el: HostElement, earlyRemove: () => void, delayedLeave: () => void): void;
239
+ delayedLeave?(): void;
240
+ }
241
+ export interface TransitionState {
242
+ isMounted: boolean;
243
+ isLeaving: boolean;
244
+ isUnmounting: boolean;
245
+ leavingVNodes: Map<any, Record<string, VNode>>;
246
+ }
247
+ export declare function useTransitionState(): TransitionState;
248
+ export declare const BaseTransitionPropsValidators: {
249
+ mode: StringConstructor;
250
+ appear: BooleanConstructor;
251
+ persisted: BooleanConstructor;
252
+ onBeforeEnter: (ArrayConstructor | FunctionConstructor)[];
253
+ onEnter: (ArrayConstructor | FunctionConstructor)[];
254
+ onAfterEnter: (ArrayConstructor | FunctionConstructor)[];
255
+ onEnterCancelled: (ArrayConstructor | FunctionConstructor)[];
256
+ onBeforeLeave: (ArrayConstructor | FunctionConstructor)[];
257
+ onLeave: (ArrayConstructor | FunctionConstructor)[];
258
+ onAfterLeave: (ArrayConstructor | FunctionConstructor)[];
259
+ onLeaveCancelled: (ArrayConstructor | FunctionConstructor)[];
260
+ onBeforeAppear: (ArrayConstructor | FunctionConstructor)[];
261
+ onAppear: (ArrayConstructor | FunctionConstructor)[];
262
+ onAfterAppear: (ArrayConstructor | FunctionConstructor)[];
263
+ onAppearCancelled: (ArrayConstructor | FunctionConstructor)[];
264
+ };
265
+ export declare const BaseTransition: new () => {
266
+ $props: BaseTransitionProps<any>;
267
+ $slots: {
268
+ default(): VNode[];
269
+ };
270
+ };
271
+ export declare function resolveTransitionHooks(vnode: VNode, props: BaseTransitionProps<any>, state: TransitionState, instance: ComponentInternalInstance): TransitionHooks;
272
+ export declare function setTransitionHooks(vnode: VNode, hooks: TransitionHooks): void;
273
+ export declare function getTransitionRawChildren(children: VNode[], keepComment?: boolean, parentKey?: VNode['key']): VNode[];
274
+
275
+ export interface Renderer<HostElement = RendererElement> {
276
+ render: RootRenderFunction<HostElement>;
277
+ createApp: CreateAppFunction<HostElement>;
278
+ }
279
+ export interface HydrationRenderer extends Renderer<Element | ShadowRoot> {
280
+ hydrate: RootHydrateFunction;
281
+ }
282
+ export type ElementNamespace = 'svg' | 'mathml' | undefined;
283
+ export type RootRenderFunction<HostElement = RendererElement> = (vnode: VNode | null, container: HostElement, namespace?: ElementNamespace) => void;
284
+ export interface RendererOptions<HostNode = RendererNode, HostElement = RendererElement> {
285
+ patchProp(el: HostElement, key: string, prevValue: any, nextValue: any, namespace?: ElementNamespace, prevChildren?: VNode<HostNode, HostElement>[], parentComponent?: ComponentInternalInstance | null, parentSuspense?: SuspenseBoundary | null, unmountChildren?: UnmountChildrenFn): void;
286
+ insert(el: HostNode, parent: HostElement, anchor?: HostNode | null): void;
287
+ remove(el: HostNode): void;
288
+ createElement(type: string, namespace?: ElementNamespace, isCustomizedBuiltIn?: string, vnodeProps?: (VNodeProps & {
289
+ [key: string]: any;
290
+ }) | null): HostElement;
291
+ createText(text: string): HostNode;
292
+ createComment(text: string): HostNode;
293
+ setText(node: HostNode, text: string): void;
294
+ setElementText(node: HostElement, text: string): void;
295
+ parentNode(node: HostNode): HostElement | null;
296
+ nextSibling(node: HostNode): HostNode | null;
297
+ querySelector?(selector: string): HostElement | null;
298
+ setScopeId?(el: HostElement, id: string): void;
299
+ cloneNode?(node: HostNode): HostNode;
300
+ insertStaticContent?(content: string, parent: HostElement, anchor: HostNode | null, namespace: ElementNamespace, start?: HostNode | null, end?: HostNode | null): [HostNode, HostNode];
301
+ }
302
+ export interface RendererNode {
303
+ [key: string]: any;
304
+ }
305
+ export interface RendererElement extends RendererNode {
306
+ }
307
+ interface RendererInternals<HostNode = RendererNode, HostElement = RendererElement> {
308
+ p: PatchFn;
309
+ um: UnmountFn;
310
+ r: RemoveFn;
311
+ m: MoveFn;
312
+ mt: MountComponentFn;
313
+ mc: MountChildrenFn;
314
+ pc: PatchChildrenFn;
315
+ pbc: PatchBlockChildrenFn;
316
+ n: NextFn;
317
+ o: RendererOptions<HostNode, HostElement>;
318
+ }
319
+ type PatchFn = (n1: VNode | null, // null means this is a mount
320
+ n2: VNode, container: RendererElement, anchor?: RendererNode | null, parentComponent?: ComponentInternalInstance | null, parentSuspense?: SuspenseBoundary | null, namespace?: ElementNamespace, slotScopeIds?: string[] | null, optimized?: boolean) => void;
321
+ type MountChildrenFn = (children: VNodeArrayChildren, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, start?: number) => void;
322
+ type PatchChildrenFn = (n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean) => void;
323
+ type PatchBlockChildrenFn = (oldChildren: VNode[], newChildren: VNode[], fallbackContainer: RendererElement, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null) => void;
324
+ type MoveFn = (vnode: VNode, container: RendererElement, anchor: RendererNode | null, type: MoveType, parentSuspense?: SuspenseBoundary | null) => void;
325
+ type NextFn = (vnode: VNode) => RendererNode | null;
326
+ type UnmountFn = (vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, doRemove?: boolean, optimized?: boolean) => void;
327
+ type RemoveFn = (vnode: VNode) => void;
328
+ type UnmountChildrenFn = (children: VNode[], parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, doRemove?: boolean, optimized?: boolean, start?: number) => void;
329
+ type MountComponentFn = (initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, optimized: boolean) => void;
330
+ type SetupRenderEffectFn = (instance: ComponentInternalInstance, initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, optimized: boolean) => void;
331
+ declare enum MoveType {
332
+ ENTER = 0,
333
+ LEAVE = 1,
334
+ REORDER = 2
335
+ }
336
+ /**
337
+ * The createRenderer function accepts two generic arguments:
338
+ * HostNode and HostElement, corresponding to Node and Element types in the
339
+ * host environment. For example, for runtime-dom, HostNode would be the DOM
340
+ * `Node` interface and HostElement would be the DOM `Element` interface.
341
+ *
342
+ * Custom renderers can pass in the platform specific types like this:
343
+ *
344
+ * ``` js
345
+ * const { render, createApp } = createRenderer<Node, Element>({
346
+ * patchProp,
347
+ * ...nodeOps
348
+ * })
349
+ * ```
350
+ */
351
+ export declare function createRenderer<HostNode = RendererNode, HostElement = RendererElement>(options: RendererOptions<HostNode, HostElement>): Renderer<HostElement>;
352
+ export declare function createHydrationRenderer(options: RendererOptions<Node, Element>): HydrationRenderer;
353
+
354
+ type MatchPattern = string | RegExp | (string | RegExp)[];
355
+ export interface KeepAliveProps {
356
+ include?: MatchPattern;
357
+ exclude?: MatchPattern;
358
+ max?: number | string;
359
+ }
360
+ export declare const KeepAlive: {
361
+ new (): {
362
+ $props: VNodeProps & KeepAliveProps;
363
+ $slots: {
364
+ default(): VNode[];
365
+ };
366
+ };
367
+ __isKeepAlive: true;
368
+ };
369
+ export declare function onActivated(hook: Function, target?: ComponentInternalInstance | null): void;
370
+ export declare function onDeactivated(hook: Function, target?: ComponentInternalInstance | null): void;
371
+
372
+ export declare const onBeforeMount: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
373
+ export declare const onMounted: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
374
+ export declare const onBeforeUpdate: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
375
+ export declare const onUpdated: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
376
+ export declare const onBeforeUnmount: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
377
+ export declare const onUnmounted: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
378
+ export declare const onServerPrefetch: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined;
379
+ type DebuggerHook = (e: DebuggerEvent) => void;
380
+ export declare const onRenderTriggered: (hook: DebuggerHook, target?: ComponentInternalInstance | null) => false | Function | undefined;
381
+ export declare const onRenderTracked: (hook: DebuggerHook, target?: ComponentInternalInstance | null) => false | Function | undefined;
382
+ type ErrorCapturedHook<TError = unknown> = (err: TError, instance: ComponentPublicInstance | null, info: string) => boolean | void;
383
+ export declare function onErrorCaptured<TError = Error>(hook: ErrorCapturedHook<TError>, target?: ComponentInternalInstance | null): void;
384
+
385
+ export type ComponentPropsOptions<P = Data> = ComponentObjectPropsOptions<P> | string[];
386
+ export type ComponentObjectPropsOptions<P = Data> = {
387
+ [K in keyof P]: Prop<P[K]> | null;
388
+ };
389
+ export type Prop<T, D = T> = PropOptions<T, D> | PropType<T>;
390
+ type DefaultFactory<T> = (props: Data) => T | null | undefined;
391
+ interface PropOptions<T = any, D = T> {
392
+ type?: PropType<T> | true | null;
393
+ required?: boolean;
394
+ default?: D | DefaultFactory<D> | null | undefined | object;
395
+ validator?(value: unknown, props: Data): boolean;
396
+ }
397
+ export type PropType<T> = PropConstructor<T> | PropConstructor<T>[];
398
+ type PropConstructor<T = any> = {
399
+ new (...args: any[]): T & {};
400
+ } | {
401
+ (): T;
402
+ } | PropMethod<T>;
403
+ type PropMethod<T, TConstructor = any> = [T] extends [
404
+ ((...args: any) => any) | undefined
405
+ ] ? {
406
+ new (): TConstructor;
407
+ (): T;
408
+ readonly prototype: TConstructor;
409
+ } : never;
410
+ type RequiredKeys<T> = {
411
+ [K in keyof T]: T[K] extends {
412
+ required: true;
413
+ } | {
414
+ default: any;
415
+ } | BooleanConstructor | {
416
+ type: BooleanConstructor;
417
+ } ? T[K] extends {
418
+ default: undefined | (() => undefined);
419
+ } ? never : K : never;
420
+ }[keyof T];
421
+ type OptionalKeys<T> = Exclude<keyof T, RequiredKeys<T>>;
422
+ type DefaultKeys<T> = {
423
+ [K in keyof T]: T[K] extends {
424
+ default: any;
425
+ } | BooleanConstructor | {
426
+ type: BooleanConstructor;
427
+ } ? T[K] extends {
428
+ type: BooleanConstructor;
429
+ required: true;
430
+ } ? never : K : never;
431
+ }[keyof T];
432
+ type InferPropType<T> = [T] extends [null] ? any : [T] extends [{
433
+ type: null | true;
434
+ }] ? any : [T] extends [ObjectConstructor | {
435
+ type: ObjectConstructor;
436
+ }] ? Record<string, any> : [T] extends [BooleanConstructor | {
437
+ type: BooleanConstructor;
438
+ }] ? boolean : [T] extends [DateConstructor | {
439
+ type: DateConstructor;
440
+ }] ? Date : [T] extends [(infer U)[] | {
441
+ type: (infer U)[];
442
+ }] ? U extends DateConstructor ? Date | InferPropType<U> : InferPropType<U> : [T] extends [Prop<infer V, infer D>] ? unknown extends V ? IfAny<V, V, D> : V : T;
443
+ /**
444
+ * Extract prop types from a runtime props options object.
445
+ * The extracted types are **internal** - i.e. the resolved props received by
446
+ * the component.
447
+ * - Boolean props are always present
448
+ * - Props with default values are always present
449
+ *
450
+ * To extract accepted props from the parent, use {@link ExtractPublicPropTypes}.
451
+ */
452
+ export type ExtractPropTypes<O> = {
453
+ [K in keyof Pick<O, RequiredKeys<O>>]: InferPropType<O[K]>;
454
+ } & {
455
+ [K in keyof Pick<O, OptionalKeys<O>>]?: InferPropType<O[K]>;
456
+ };
457
+ type PublicRequiredKeys<T> = {
458
+ [K in keyof T]: T[K] extends {
459
+ required: true;
460
+ } ? K : never;
461
+ }[keyof T];
462
+ type PublicOptionalKeys<T> = Exclude<keyof T, PublicRequiredKeys<T>>;
463
+ /**
464
+ * Extract prop types from a runtime props options object.
465
+ * The extracted types are **public** - i.e. the expected props that can be
466
+ * passed to component.
467
+ */
468
+ export type ExtractPublicPropTypes<O> = {
469
+ [K in keyof Pick<O, PublicRequiredKeys<O>>]: InferPropType<O[K]>;
470
+ } & {
471
+ [K in keyof Pick<O, PublicOptionalKeys<O>>]?: InferPropType<O[K]>;
472
+ };
473
+ export type ExtractDefaultPropTypes<O> = O extends object ? {
474
+ [K in keyof Pick<O, DefaultKeys<O>>]: InferPropType<O[K]>;
475
+ } : {};
476
+
477
+ /**
478
+ Runtime helper for applying directives to a vnode. Example usage:
479
+
480
+ const comp = resolveComponent('comp')
481
+ const foo = resolveDirective('foo')
482
+ const bar = resolveDirective('bar')
483
+
484
+ return withDirectives(h(comp), [
485
+ [foo, this.x],
486
+ [bar, this.y]
487
+ ])
488
+ */
489
+
490
+ export interface DirectiveBinding<V = any> {
491
+ instance: ComponentPublicInstance | null;
492
+ value: V;
493
+ oldValue: V | null;
494
+ arg?: string;
495
+ modifiers: DirectiveModifiers;
496
+ dir: ObjectDirective<any, V>;
497
+ }
498
+ export type DirectiveHook<T = any, Prev = VNode<any, T> | null, V = any> = (el: T, binding: DirectiveBinding<V>, vnode: VNode<any, T>, prevVNode: Prev) => void;
499
+ type SSRDirectiveHook = (binding: DirectiveBinding, vnode: VNode) => Data | undefined;
500
+ export interface ObjectDirective<T = any, V = any> {
501
+ created?: DirectiveHook<T, null, V>;
502
+ beforeMount?: DirectiveHook<T, null, V>;
503
+ mounted?: DirectiveHook<T, null, V>;
504
+ beforeUpdate?: DirectiveHook<T, VNode<any, T>, V>;
505
+ updated?: DirectiveHook<T, VNode<any, T>, V>;
506
+ beforeUnmount?: DirectiveHook<T, null, V>;
507
+ unmounted?: DirectiveHook<T, null, V>;
508
+ getSSRProps?: SSRDirectiveHook;
509
+ deep?: boolean;
510
+ }
511
+ export type FunctionDirective<T = any, V = any> = DirectiveHook<T, any, V>;
512
+ export type Directive<T = any, V = any> = ObjectDirective<T, V> | FunctionDirective<T, V>;
513
+ type DirectiveModifiers = Record<string, boolean>;
514
+ export type DirectiveArguments = Array<[Directive | undefined] | [Directive | undefined, any] | [Directive | undefined, any, string] | [Directive | undefined, any, string, DirectiveModifiers]>;
515
+ /**
516
+ * Adds directives to a VNode.
517
+ */
518
+ export declare function withDirectives<T extends VNode>(vnode: T, directives: DirectiveArguments): T;
519
+
520
+ declare enum DeprecationTypes$1 {
521
+ GLOBAL_MOUNT = "GLOBAL_MOUNT",
522
+ GLOBAL_MOUNT_CONTAINER = "GLOBAL_MOUNT_CONTAINER",
523
+ GLOBAL_EXTEND = "GLOBAL_EXTEND",
524
+ GLOBAL_PROTOTYPE = "GLOBAL_PROTOTYPE",
525
+ GLOBAL_SET = "GLOBAL_SET",
526
+ GLOBAL_DELETE = "GLOBAL_DELETE",
527
+ GLOBAL_OBSERVABLE = "GLOBAL_OBSERVABLE",
528
+ GLOBAL_PRIVATE_UTIL = "GLOBAL_PRIVATE_UTIL",
529
+ CONFIG_SILENT = "CONFIG_SILENT",
530
+ CONFIG_DEVTOOLS = "CONFIG_DEVTOOLS",
531
+ CONFIG_KEY_CODES = "CONFIG_KEY_CODES",
532
+ CONFIG_PRODUCTION_TIP = "CONFIG_PRODUCTION_TIP",
533
+ CONFIG_IGNORED_ELEMENTS = "CONFIG_IGNORED_ELEMENTS",
534
+ CONFIG_WHITESPACE = "CONFIG_WHITESPACE",
535
+ CONFIG_OPTION_MERGE_STRATS = "CONFIG_OPTION_MERGE_STRATS",
536
+ INSTANCE_SET = "INSTANCE_SET",
537
+ INSTANCE_DELETE = "INSTANCE_DELETE",
538
+ INSTANCE_DESTROY = "INSTANCE_DESTROY",
539
+ INSTANCE_EVENT_EMITTER = "INSTANCE_EVENT_EMITTER",
540
+ INSTANCE_EVENT_HOOKS = "INSTANCE_EVENT_HOOKS",
541
+ INSTANCE_CHILDREN = "INSTANCE_CHILDREN",
542
+ INSTANCE_LISTENERS = "INSTANCE_LISTENERS",
543
+ INSTANCE_SCOPED_SLOTS = "INSTANCE_SCOPED_SLOTS",
544
+ INSTANCE_ATTRS_CLASS_STYLE = "INSTANCE_ATTRS_CLASS_STYLE",
545
+ OPTIONS_DATA_FN = "OPTIONS_DATA_FN",
546
+ OPTIONS_DATA_MERGE = "OPTIONS_DATA_MERGE",
547
+ OPTIONS_BEFORE_DESTROY = "OPTIONS_BEFORE_DESTROY",
548
+ OPTIONS_DESTROYED = "OPTIONS_DESTROYED",
549
+ WATCH_ARRAY = "WATCH_ARRAY",
550
+ PROPS_DEFAULT_THIS = "PROPS_DEFAULT_THIS",
551
+ V_ON_KEYCODE_MODIFIER = "V_ON_KEYCODE_MODIFIER",
552
+ CUSTOM_DIR = "CUSTOM_DIR",
553
+ ATTR_FALSE_VALUE = "ATTR_FALSE_VALUE",
554
+ ATTR_ENUMERATED_COERCION = "ATTR_ENUMERATED_COERCION",
555
+ TRANSITION_CLASSES = "TRANSITION_CLASSES",
556
+ TRANSITION_GROUP_ROOT = "TRANSITION_GROUP_ROOT",
557
+ COMPONENT_ASYNC = "COMPONENT_ASYNC",
558
+ COMPONENT_FUNCTIONAL = "COMPONENT_FUNCTIONAL",
559
+ COMPONENT_V_MODEL = "COMPONENT_V_MODEL",
560
+ RENDER_FUNCTION = "RENDER_FUNCTION",
561
+ FILTERS = "FILTERS",
562
+ PRIVATE_APIS = "PRIVATE_APIS"
563
+ }
564
+ type CompatConfig = Partial<Record<DeprecationTypes$1, boolean | 'suppress-warning'>> & {
565
+ MODE?: 2 | 3 | ((comp: Component | null) => 2 | 3);
566
+ };
567
+ declare function configureCompat(config: CompatConfig): void;
568
+
569
+ /**
570
+ * Interface for declaring custom options.
571
+ *
572
+ * @example
573
+ * ```ts
574
+ * declare module '@vue/runtime-core' {
575
+ * interface ComponentCustomOptions {
576
+ * beforeRouteUpdate?(
577
+ * to: Route,
578
+ * from: Route,
579
+ * next: () => void
580
+ * ): void
581
+ * }
582
+ * }
583
+ * ```
584
+ */
585
+ export interface ComponentCustomOptions {
586
+ }
587
+ export type RenderFunction = () => VNodeChild;
588
+ export interface ComponentOptionsBase<Props, RawBindings, D, C extends ComputedOptions, M extends MethodOptions, Mixin extends ComponentOptionsMixin, Extends extends ComponentOptionsMixin, E extends EmitsOptions, EE extends string = string, Defaults = {}, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}> extends LegacyOptions<Props, D, C, M, Mixin, Extends, I, II>, ComponentInternalOptions, ComponentCustomOptions {
589
+ setup?: (this: void, props: LooseRequired<Props & Prettify<UnwrapMixinsType<IntersectionMixin<Mixin> & IntersectionMixin<Extends>, 'P'>>>, ctx: SetupContext<E, S>) => Promise<RawBindings> | RawBindings | RenderFunction | void;
590
+ name?: string;
591
+ template?: string | object;
592
+ render?: Function;
593
+ components?: Record<string, Component>;
594
+ directives?: Record<string, Directive>;
595
+ inheritAttrs?: boolean;
596
+ emits?: (E | EE[]) & ThisType<void>;
597
+ slots?: S;
598
+ expose?: string[];
599
+ serverPrefetch?(): void | Promise<any>;
600
+ compilerOptions?: RuntimeCompilerOptions;
601
+ call?: (this: unknown, ...args: unknown[]) => never;
602
+ __isFragment?: never;
603
+ __isTeleport?: never;
604
+ __isSuspense?: never;
605
+ __defaults?: Defaults;
606
+ }
607
+ /**
608
+ * Subset of compiler options that makes sense for the runtime.
609
+ */
610
+ export interface RuntimeCompilerOptions {
611
+ isCustomElement?: (tag: string) => boolean;
612
+ whitespace?: 'preserve' | 'condense';
613
+ comments?: boolean;
614
+ delimiters?: [string, string];
615
+ }
616
+ export type ComponentOptionsWithoutProps<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, PE = Props & EmitsToProps<E>> = ComponentOptionsBase<PE, RawBindings, D, C, M, Mixin, Extends, E, EE, {}, I, II, S> & {
617
+ props?: undefined;
618
+ } & ThisType<CreateComponentPublicInstance<PE, RawBindings, D, C, M, Mixin, Extends, E, PE, {}, false, I, S>>;
619
+ export type ComponentOptionsWithArrayProps<PropNames extends string = string, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, Props = Prettify<Readonly<{
620
+ [key in PropNames]?: any;
621
+ } & EmitsToProps<E>>>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, {}, I, II, S> & {
622
+ props: PropNames[];
623
+ } & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, Props, {}, false, I, S>>;
624
+ export type ComponentOptionsWithObjectProps<PropsOptions = ComponentObjectPropsOptions, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, Props = Prettify<Readonly<ExtractPropTypes<PropsOptions> & EmitsToProps<E>>>, Defaults = ExtractDefaultPropTypes<PropsOptions>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, I, II, S> & {
625
+ props: PropsOptions & ThisType<void>;
626
+ } & ThisType<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, Props, Defaults, false, I, S>>;
627
+ export type ComponentOptions<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = any, M extends MethodOptions = any, Mixin extends ComponentOptionsMixin = any, Extends extends ComponentOptionsMixin = any, E extends EmitsOptions = any, S extends SlotsType = any> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, string, S> & ThisType<CreateComponentPublicInstance<{}, RawBindings, D, C, M, Mixin, Extends, E, Readonly<Props>>>;
628
+ export type ComponentOptionsMixin = ComponentOptionsBase<any, any, any, any, any, any, any, any, any, any, any>;
629
+ export type ComputedOptions = Record<string, ComputedGetter<any> | WritableComputedOptions<any>>;
630
+ export interface MethodOptions {
631
+ [key: string]: Function;
632
+ }
633
+ type ExtractComputedReturns<T extends any> = {
634
+ [key in keyof T]: T[key] extends {
635
+ get: (...args: any[]) => infer TReturn;
636
+ } ? TReturn : T[key] extends (...args: any[]) => infer TReturn ? TReturn : never;
637
+ };
638
+ type ObjectWatchOptionItem = {
639
+ handler: WatchCallback | string;
640
+ } & WatchOptions;
641
+ type WatchOptionItem = string | WatchCallback | ObjectWatchOptionItem;
642
+ type ComponentWatchOptionItem = WatchOptionItem | WatchOptionItem[];
643
+ type ComponentWatchOptions = Record<string, ComponentWatchOptionItem>;
644
+ export type ComponentProvideOptions = ObjectProvideOptions | Function;
645
+ type ObjectProvideOptions = Record<string | symbol, unknown>;
646
+ export type ComponentInjectOptions = string[] | ObjectInjectOptions;
647
+ type ObjectInjectOptions = Record<string | symbol, string | symbol | {
648
+ from?: string | symbol;
649
+ default?: unknown;
650
+ }>;
651
+ type InjectToObject<T extends ComponentInjectOptions> = T extends string[] ? {
652
+ [K in T[number]]?: unknown;
653
+ } : T extends ObjectInjectOptions ? {
654
+ [K in keyof T]?: unknown;
655
+ } : never;
656
+ interface LegacyOptions<Props, D, C extends ComputedOptions, M extends MethodOptions, Mixin extends ComponentOptionsMixin, Extends extends ComponentOptionsMixin, I extends ComponentInjectOptions, II extends string> {
657
+ compatConfig?: CompatConfig;
658
+ [key: string]: any;
659
+ data?: (this: CreateComponentPublicInstance<Props, {}, {}, {}, MethodOptions, Mixin, Extends>, vm: CreateComponentPublicInstance<Props, {}, {}, {}, MethodOptions, Mixin, Extends>) => D;
660
+ computed?: C;
661
+ methods?: M;
662
+ watch?: ComponentWatchOptions;
663
+ provide?: ComponentProvideOptions;
664
+ inject?: I | II[];
665
+ filters?: Record<string, Function>;
666
+ mixins?: Mixin[];
667
+ extends?: Extends;
668
+ beforeCreate?(): void;
669
+ created?(): void;
670
+ beforeMount?(): void;
671
+ mounted?(): void;
672
+ beforeUpdate?(): void;
673
+ updated?(): void;
674
+ activated?(): void;
675
+ deactivated?(): void;
676
+ /** @deprecated use `beforeUnmount` instead */
677
+ beforeDestroy?(): void;
678
+ beforeUnmount?(): void;
679
+ /** @deprecated use `unmounted` instead */
680
+ destroyed?(): void;
681
+ unmounted?(): void;
682
+ renderTracked?: DebuggerHook;
683
+ renderTriggered?: DebuggerHook;
684
+ errorCaptured?: ErrorCapturedHook;
685
+ /**
686
+ * runtime compile only
687
+ * @deprecated use `compilerOptions.delimiters` instead.
688
+ */
689
+ delimiters?: [string, string];
690
+ /**
691
+ * #3468
692
+ *
693
+ * type-only, used to assist Mixin's type inference,
694
+ * typescript will try to simplify the inferred `Mixin` type,
695
+ * with the `__differentiator`, typescript won't be able to combine different mixins,
696
+ * because the `__differentiator` will be different
697
+ */
698
+ __differentiator?: keyof D | keyof C | keyof M;
699
+ }
700
+ type MergedHook<T = () => void> = T | T[];
701
+ type MergedComponentOptionsOverride = {
702
+ beforeCreate?: MergedHook;
703
+ created?: MergedHook;
704
+ beforeMount?: MergedHook;
705
+ mounted?: MergedHook;
706
+ beforeUpdate?: MergedHook;
707
+ updated?: MergedHook;
708
+ activated?: MergedHook;
709
+ deactivated?: MergedHook;
710
+ /** @deprecated use `beforeUnmount` instead */
711
+ beforeDestroy?: MergedHook;
712
+ beforeUnmount?: MergedHook;
713
+ /** @deprecated use `unmounted` instead */
714
+ destroyed?: MergedHook;
715
+ unmounted?: MergedHook;
716
+ renderTracked?: MergedHook<DebuggerHook>;
717
+ renderTriggered?: MergedHook<DebuggerHook>;
718
+ errorCaptured?: MergedHook<ErrorCapturedHook>;
719
+ };
720
+ type OptionTypesKeys = 'P' | 'B' | 'D' | 'C' | 'M' | 'Defaults';
721
+ type OptionTypesType<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Defaults = {}> = {
722
+ P: P;
723
+ B: B;
724
+ D: D;
725
+ C: C;
726
+ M: M;
727
+ Defaults: Defaults;
728
+ };
729
+
730
+ export interface InjectionKey<T> extends Symbol {
731
+ }
732
+ export declare function provide<T, K = InjectionKey<T> | string | number>(key: K, value: K extends InjectionKey<infer V> ? V : T): void;
733
+ export declare function inject<T>(key: InjectionKey<T> | string): T | undefined;
734
+ export declare function inject<T>(key: InjectionKey<T> | string, defaultValue: T, treatDefaultAsFactory?: false): T;
735
+ export declare function inject<T>(key: InjectionKey<T> | string, defaultValue: T | (() => T), treatDefaultAsFactory: true): T;
736
+ /**
737
+ * Returns true if `inject()` can be used without warning about being called in the wrong place (e.g. outside of
738
+ * setup()). This is used by libraries that want to use `inject()` internally without triggering a warning to the end
739
+ * user. One example is `useRoute()` in `vue-router`.
740
+ */
741
+ export declare function hasInjectionContext(): boolean;
742
+
743
+ export type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps;
744
+ type ResolveProps<PropsOrPropOptions, E extends EmitsOptions> = Readonly<PropsOrPropOptions extends ComponentPropsOptions ? ExtractPropTypes<PropsOrPropOptions> : PropsOrPropOptions> & ({} extends E ? {} : EmitsToProps<E>);
745
+ export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, PP = PublicProps, Props = ResolveProps<PropsOrPropOptions, E>, Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>, S extends SlotsType = {}> = ComponentPublicInstanceConstructor<CreateComponentPublicInstance<Props, RawBindings, D, C, M, Mixin, Extends, E, PP & Props, Defaults, true, {}, S>> & ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, {}, string, S> & PP;
746
+ export type DefineSetupFnComponent<P extends Record<string, any>, E extends EmitsOptions = {}, S extends SlotsType = SlotsType, Props = P & EmitsToProps<E>, PP = PublicProps> = new (props: Props & PP) => CreateComponentPublicInstance<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, E, PP, {}, false, {}, S>;
747
+ export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
748
+ props?: (keyof Props)[];
749
+ emits?: E | EE[];
750
+ slots?: S;
751
+ }): DefineSetupFnComponent<Props, E, S>;
752
+ export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
753
+ props?: ComponentObjectPropsOptions<Props>;
754
+ emits?: E | EE[];
755
+ slots?: S;
756
+ }): DefineSetupFnComponent<Props, E, S>;
757
+ export declare function defineComponent<Props = {}, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithoutProps<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, PublicProps, ResolveProps<Props, E>, ExtractDefaultPropTypes<Props>, S>;
758
+ export declare function defineComponent<PropNames extends string, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string, Props = Readonly<{
759
+ [key in PropNames]?: any;
760
+ }>>(options: ComponentOptionsWithArrayProps<PropNames, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>): DefineComponent<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, PublicProps, ResolveProps<Props, E>, ExtractDefaultPropTypes<Props>, S>;
761
+ export declare function defineComponent<PropsOptions extends Readonly<ComponentPropsOptions>, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, PublicProps, ResolveProps<PropsOptions, E>, ExtractDefaultPropTypes<PropsOptions>, S>;
762
+
763
+ export interface App<HostElement = any> {
764
+ version: string;
765
+ config: AppConfig;
766
+ use<Options extends unknown[]>(plugin: Plugin<Options>, ...options: Options): this;
767
+ use<Options>(plugin: Plugin<Options>, options: Options): this;
768
+ mixin(mixin: ComponentOptions): this;
769
+ component(name: string): Component | undefined;
770
+ component(name: string, component: Component | DefineComponent): this;
771
+ directive<T = any, V = any>(name: string): Directive<T, V> | undefined;
772
+ directive<T = any, V = any>(name: string, directive: Directive<T, V>): this;
773
+ mount(rootContainer: HostElement | string, isHydrate?: boolean, namespace?: boolean | ElementNamespace): ComponentPublicInstance;
774
+ unmount(): void;
775
+ provide<T>(key: InjectionKey<T> | string, value: T): this;
776
+ /**
777
+ * Runs a function with the app as active instance. This allows using of `inject()` within the function to get access
778
+ * to variables provided via `app.provide()`.
779
+ *
780
+ * @param fn - function to run with the app as active instance
781
+ */
782
+ runWithContext<T>(fn: () => T): T;
783
+ _uid: number;
784
+ _component: ConcreteComponent;
785
+ _props: Data | null;
786
+ _container: HostElement | null;
787
+ _context: AppContext;
788
+ _instance: ComponentInternalInstance | null;
789
+ /**
790
+ * v2 compat only
791
+ */
792
+ filter?(name: string): Function | undefined;
793
+ filter?(name: string, filter: Function): this;
794
+ }
795
+ export type OptionMergeFunction = (to: unknown, from: unknown) => any;
796
+ export interface AppConfig {
797
+ readonly isNativeTag: (tag: string) => boolean;
798
+ performance: boolean;
799
+ optionMergeStrategies: Record<string, OptionMergeFunction>;
800
+ globalProperties: ComponentCustomProperties & Record<string, any>;
801
+ errorHandler?: (err: unknown, instance: ComponentPublicInstance | null, info: string) => void;
802
+ warnHandler?: (msg: string, instance: ComponentPublicInstance | null, trace: string) => void;
803
+ /**
804
+ * Options to pass to `@vue/compiler-dom`.
805
+ * Only supported in runtime compiler build.
806
+ */
807
+ compilerOptions: RuntimeCompilerOptions;
808
+ /**
809
+ * @deprecated use config.compilerOptions.isCustomElement
810
+ */
811
+ isCustomElement?: (tag: string) => boolean;
812
+ /**
813
+ * TODO document for 3.5
814
+ * Enable warnings for computed getters that recursively trigger itself.
815
+ */
816
+ warnRecursiveComputed?: boolean;
817
+ }
818
+ export interface AppContext {
819
+ app: App;
820
+ config: AppConfig;
821
+ mixins: ComponentOptions[];
822
+ components: Record<string, Component>;
823
+ directives: Record<string, Directive>;
824
+ provides: Record<string | symbol, any>;
825
+ }
826
+ type PluginInstallFunction<Options = any[]> = Options extends unknown[] ? (app: App, ...options: Options) => any : (app: App, options: Options) => any;
827
+ export type ObjectPlugin<Options = any[]> = {
828
+ install: PluginInstallFunction<Options>;
829
+ };
830
+ export type FunctionPlugin<Options = any[]> = PluginInstallFunction<Options> & Partial<ObjectPlugin<Options>>;
831
+ export type Plugin<Options = any[]> = FunctionPlugin<Options> | ObjectPlugin<Options>;
832
+ export type CreateAppFunction<HostElement> = (rootComponent: Component, rootProps?: Data | null) => App<HostElement>;
833
+
834
+ type TeleportVNode = VNode<RendererNode, RendererElement, TeleportProps>;
835
+ export interface TeleportProps {
836
+ to: string | RendererElement | null | undefined;
837
+ disabled?: boolean;
838
+ }
839
+ declare const TeleportImpl: {
840
+ name: string;
841
+ __isTeleport: boolean;
842
+ process(n1: TeleportVNode | null, n2: TeleportVNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, internals: RendererInternals): void;
843
+ remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, optimized: boolean, { um: unmount, o: { remove: hostRemove } }: RendererInternals, doRemove: boolean): void;
844
+ move: typeof moveTeleport;
845
+ hydrate: typeof hydrateTeleport;
846
+ };
847
+ declare enum TeleportMoveTypes {
848
+ TARGET_CHANGE = 0,
849
+ TOGGLE = 1,// enable / disable
850
+ REORDER = 2
851
+ }
852
+ declare function moveTeleport(vnode: VNode, container: RendererElement, parentAnchor: RendererNode | null, { o: { insert }, m: move }: RendererInternals, moveType?: TeleportMoveTypes): void;
853
+ declare function hydrateTeleport(node: Node, vnode: TeleportVNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean, { o: { nextSibling, parentNode, querySelector }, }: RendererInternals<Node, Element>, hydrateChildren: (node: Node | null, vnode: VNode, container: Element, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null;
854
+ export declare const Teleport: {
855
+ new (): {
856
+ $props: VNodeProps & TeleportProps;
857
+ $slots: {
858
+ default(): VNode[];
859
+ };
860
+ };
861
+ __isTeleport: true;
862
+ };
863
+
864
+ /**
865
+ * @private
866
+ */
867
+ export declare function resolveComponent(name: string, maybeSelfReference?: boolean): ConcreteComponent | string;
868
+ declare const NULL_DYNAMIC_COMPONENT: unique symbol;
869
+ /**
870
+ * @private
871
+ */
872
+ export declare function resolveDynamicComponent(component: unknown): VNodeTypes;
873
+ /**
874
+ * @private
875
+ */
876
+ export declare function resolveDirective(name: string): Directive | undefined;
877
+
878
+ export declare const Fragment: {
879
+ new (): {
880
+ $props: VNodeProps;
881
+ };
882
+ __isFragment: true;
883
+ };
884
+ export declare const Text: unique symbol;
885
+ export declare const Comment: unique symbol;
886
+ export declare const Static: unique symbol;
887
+ export type VNodeTypes = string | VNode | Component | typeof Text | typeof Static | typeof Comment | typeof Fragment | typeof Teleport | typeof TeleportImpl | typeof Suspense | typeof SuspenseImpl;
888
+ export type VNodeRef = string | Ref | ((ref: Element | ComponentPublicInstance | null, refs: Record<string, any>) => void);
889
+ type VNodeNormalizedRefAtom = {
890
+ i: ComponentInternalInstance;
891
+ r: VNodeRef;
892
+ k?: string;
893
+ f?: boolean;
894
+ };
895
+ type VNodeNormalizedRef = VNodeNormalizedRefAtom | VNodeNormalizedRefAtom[];
896
+ type VNodeMountHook = (vnode: VNode) => void;
897
+ type VNodeUpdateHook = (vnode: VNode, oldVNode: VNode) => void;
898
+ export type VNodeProps = {
899
+ key?: string | number | symbol;
900
+ ref?: VNodeRef;
901
+ ref_for?: boolean;
902
+ ref_key?: string;
903
+ onVnodeBeforeMount?: VNodeMountHook | VNodeMountHook[];
904
+ onVnodeMounted?: VNodeMountHook | VNodeMountHook[];
905
+ onVnodeBeforeUpdate?: VNodeUpdateHook | VNodeUpdateHook[];
906
+ onVnodeUpdated?: VNodeUpdateHook | VNodeUpdateHook[];
907
+ onVnodeBeforeUnmount?: VNodeMountHook | VNodeMountHook[];
908
+ onVnodeUnmounted?: VNodeMountHook | VNodeMountHook[];
909
+ };
910
+ type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
911
+ export type VNodeArrayChildren = Array<VNodeArrayChildren | VNodeChildAtom>;
912
+ export type VNodeChild = VNodeChildAtom | VNodeArrayChildren;
913
+ export type VNodeNormalizedChildren = string | VNodeArrayChildren | RawSlots | null;
914
+ export interface VNode<HostNode = RendererNode, HostElement = RendererElement, ExtraProps = {
915
+ [key: string]: any;
916
+ }> {
917
+ type: VNodeTypes;
918
+ props: (VNodeProps & ExtraProps) | null;
919
+ key: string | number | symbol | null;
920
+ ref: VNodeNormalizedRef | null;
921
+ /**
922
+ * SFC only. This is assigned on vnode creation using currentScopeId
923
+ * which is set alongside currentRenderingInstance.
924
+ */
925
+ scopeId: string | null;
926
+ children: VNodeNormalizedChildren;
927
+ component: ComponentInternalInstance | null;
928
+ dirs: DirectiveBinding[] | null;
929
+ transition: TransitionHooks<HostElement> | null;
930
+ el: HostNode | null;
931
+ anchor: HostNode | null;
932
+ target: HostElement | null;
933
+ targetAnchor: HostNode | null;
934
+ suspense: SuspenseBoundary | null;
935
+ shapeFlag: number;
936
+ patchFlag: number;
937
+ appContext: AppContext | null;
938
+ }
939
+ /**
940
+ * Open a block.
941
+ * This must be called before `createBlock`. It cannot be part of `createBlock`
942
+ * because the children of the block are evaluated before `createBlock` itself
943
+ * is called. The generated code typically looks like this:
944
+ *
945
+ * ```js
946
+ * function render() {
947
+ * return (openBlock(),createBlock('div', null, [...]))
948
+ * }
949
+ * ```
950
+ * disableTracking is true when creating a v-for fragment block, since a v-for
951
+ * fragment always diffs its children.
952
+ *
953
+ * @private
954
+ */
955
+ export declare function openBlock(disableTracking?: boolean): void;
956
+ /**
957
+ * Block tracking sometimes needs to be disabled, for example during the
958
+ * creation of a tree that needs to be cached by v-once. The compiler generates
959
+ * code like this:
960
+ *
961
+ * ``` js
962
+ * _cache[1] || (
963
+ * setBlockTracking(-1),
964
+ * _cache[1] = createVNode(...),
965
+ * setBlockTracking(1),
966
+ * _cache[1]
967
+ * )
968
+ * ```
969
+ *
970
+ * @private
971
+ */
972
+ export declare function setBlockTracking(value: number): void;
973
+ /**
974
+ * @private
975
+ */
976
+ export declare function createElementBlock(type: string | typeof Fragment, props?: Record<string, any> | null, children?: any, patchFlag?: number, dynamicProps?: string[], shapeFlag?: number): VNode<RendererNode, RendererElement, {
977
+ [key: string]: any;
978
+ }>;
979
+ /**
980
+ * Create a block root vnode. Takes the same exact arguments as `createVNode`.
981
+ * A block root keeps track of dynamic nodes within the block in the
982
+ * `dynamicChildren` array.
983
+ *
984
+ * @private
985
+ */
986
+ export declare function createBlock(type: VNodeTypes | ClassComponent, props?: Record<string, any> | null, children?: any, patchFlag?: number, dynamicProps?: string[]): VNode;
987
+ export declare function isVNode(value: any): value is VNode;
988
+ declare let vnodeArgsTransformer: ((args: Parameters<typeof _createVNode>, instance: ComponentInternalInstance | null) => Parameters<typeof _createVNode>) | undefined;
989
+ /**
990
+ * Internal API for registering an arguments transform for createVNode
991
+ * used for creating stubs in the test-utils
992
+ * It is *internal* but needs to be exposed for test-utils to pick up proper
993
+ * typings
994
+ */
995
+ export declare function transformVNodeArgs(transformer?: typeof vnodeArgsTransformer): void;
996
+ export declare function createBaseVNode(type: VNodeTypes | ClassComponent | typeof NULL_DYNAMIC_COMPONENT, props?: (Data & VNodeProps) | null, children?: unknown, patchFlag?: number, dynamicProps?: string[] | null, shapeFlag?: number, isBlockNode?: boolean, needFullChildrenNormalization?: boolean): VNode<RendererNode, RendererElement, {
997
+ [key: string]: any;
998
+ }>;
999
+
1000
+ export declare const createVNode: typeof _createVNode;
1001
+ declare function _createVNode(type: VNodeTypes | ClassComponent | typeof NULL_DYNAMIC_COMPONENT, props?: (Data & VNodeProps) | null, children?: unknown, patchFlag?: number, dynamicProps?: string[] | null, isBlockNode?: boolean): VNode;
1002
+ export declare function guardReactiveProps(props: (Data & VNodeProps) | null): (Data & VNodeProps) | null;
1003
+ export declare function cloneVNode<T, U>(vnode: VNode<T, U>, extraProps?: (Data & VNodeProps) | null, mergeRef?: boolean): VNode<T, U>;
1004
+ /**
1005
+ * @private
1006
+ */
1007
+ export declare function createTextVNode(text?: string, flag?: number): VNode;
1008
+ /**
1009
+ * @private
1010
+ */
1011
+ export declare function createStaticVNode(content: string, numberOfNodes: number): VNode;
1012
+ /**
1013
+ * @private
1014
+ */
1015
+ export declare function createCommentVNode(text?: string, asBlock?: boolean): VNode;
1016
+ export declare function mergeProps(...args: (Data & VNodeProps)[]): Data;
1017
+
1018
+ type Data = Record<string, unknown>;
1019
+ /**
1020
+ * Public utility type for extracting the instance type of a component.
1021
+ * Works with all valid component definition types. This is intended to replace
1022
+ * the usage of `InstanceType<typeof Comp>` which only works for
1023
+ * constructor-based component definition types.
1024
+ *
1025
+ * Exmaple:
1026
+ * ```ts
1027
+ * const MyComp = { ... }
1028
+ * declare const instance: ComponentInstance<typeof MyComp>
1029
+ * ```
1030
+ */
1031
+ export type ComponentInstance<T> = T extends {
1032
+ new (): ComponentPublicInstance;
1033
+ } ? InstanceType<T> : T extends FunctionalComponent<infer Props, infer Emits> ? ComponentPublicInstance<Props, {}, {}, {}, {}, ShortEmitsToObject<Emits>> : T extends Component<infer Props, infer RawBindings, infer D, infer C, infer M> ? ComponentPublicInstance<unknown extends Props ? {} : Props, unknown extends RawBindings ? {} : RawBindings, unknown extends D ? {} : D, C, M> : never;
1034
+ /**
1035
+ * For extending allowed non-declared props on components in TSX
1036
+ */
1037
+ export interface ComponentCustomProps {
1038
+ }
1039
+ /**
1040
+ * Default allowed non-declared props on component in TSX
1041
+ */
1042
+ export interface AllowedComponentProps {
1043
+ class?: unknown;
1044
+ style?: unknown;
1045
+ }
1046
+ interface ComponentInternalOptions {
1047
+ /**
1048
+ * Compat build only, for bailing out of certain compatibility behavior
1049
+ */
1050
+ __isBuiltIn?: boolean;
1051
+ /**
1052
+ * This one should be exposed so that devtools can make use of it
1053
+ */
1054
+ __file?: string;
1055
+ /**
1056
+ * name inferred from filename
1057
+ */
1058
+ __name?: string;
1059
+ }
1060
+ export interface FunctionalComponent<P = {}, E extends EmitsOptions | Record<string, any[]> = {}, S extends Record<string, any> = any, EE extends EmitsOptions = ShortEmitsToObject<E>> extends ComponentInternalOptions {
1061
+ (props: P & EmitsToProps<EE>, ctx: Omit<SetupContext<EE, IfAny<S, {}, SlotsType<S>>>, 'expose'>): any;
1062
+ props?: ComponentPropsOptions<P>;
1063
+ emits?: EE | (keyof EE)[];
1064
+ slots?: IfAny<S, Slots, SlotsType<S>>;
1065
+ inheritAttrs?: boolean;
1066
+ displayName?: string;
1067
+ compatConfig?: CompatConfig;
1068
+ }
1069
+ interface ClassComponent {
1070
+ new (...args: any[]): ComponentPublicInstance<any, any, any, any, any>;
1071
+ __vccOpts: ComponentOptions;
1072
+ }
1073
+ /**
1074
+ * Concrete component type matches its actual value: it's either an options
1075
+ * object, or a function. Use this where the code expects to work with actual
1076
+ * values, e.g. checking if its a function or not. This is mostly for internal
1077
+ * implementation code.
1078
+ */
1079
+ export type ConcreteComponent<Props = {}, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, E extends EmitsOptions | Record<string, any[]> = {}, S extends Record<string, any> = any> = ComponentOptions<Props, RawBindings, D, C, M> | FunctionalComponent<Props, E, S>;
1080
+ /**
1081
+ * A type used in public APIs where a component type is expected.
1082
+ * The constructor type is an artificial type returned by defineComponent().
1083
+ */
1084
+ export type Component<Props = any, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, E extends EmitsOptions | Record<string, any[]> = {}, S extends Record<string, any> = any> = ConcreteComponent<Props, RawBindings, D, C, M, E, S> | ComponentPublicInstanceConstructor<Props>;
1085
+
1086
+ export type SetupContext<E = EmitsOptions, S extends SlotsType = {}> = E extends any ? {
1087
+ attrs: Data;
1088
+ slots: UnwrapSlotsType<S>;
1089
+ emit: EmitFn<E>;
1090
+ expose: (exposed?: Record<string, any>) => void;
1091
+ } : never;
1092
+ /**
1093
+ * We expose a subset of properties on the internal instance as they are
1094
+ * useful for advanced external libraries and tools.
1095
+ */
1096
+ export interface ComponentInternalInstance {
1097
+ uid: number;
1098
+ type: ConcreteComponent;
1099
+ parent: ComponentInternalInstance | null;
1100
+ root: ComponentInternalInstance;
1101
+ appContext: AppContext;
1102
+ /**
1103
+ * Vnode representing this component in its parent's vdom tree
1104
+ */
1105
+ vnode: VNode;
1106
+ /**
1107
+ * Root vnode of this component's own vdom tree
1108
+ */
1109
+ subTree: VNode;
1110
+ /**
1111
+ * Render effect instance
1112
+ */
1113
+ effect: ReactiveEffect;
1114
+ /**
1115
+ * Bound effect runner to be passed to schedulers
1116
+ */
1117
+ update: SchedulerJob;
1118
+ proxy: ComponentPublicInstance | null;
1119
+ exposed: Record<string, any> | null;
1120
+ exposeProxy: Record<string, any> | null;
1121
+ data: Data;
1122
+ props: Data;
1123
+ attrs: Data;
1124
+ slots: InternalSlots;
1125
+ refs: Data;
1126
+ emit: EmitFn;
1127
+ attrsProxy: Data | null;
1128
+ slotsProxy: Slots | null;
1129
+ isMounted: boolean;
1130
+ isUnmounted: boolean;
1131
+ isDeactivated: boolean;
1132
+ }
1133
+ export declare const getCurrentInstance: () => ComponentInternalInstance | null;
1134
+ export declare const setCurrentInstance: (instance: ComponentInternalInstance) => () => void;
1135
+ /**
1136
+ * For runtime-dom to register the compiler.
1137
+ * Note the exported method uses any to avoid d.ts relying on the compiler types.
1138
+ */
1139
+ export declare function registerRuntimeCompiler(_compile: any): void;
1140
+ export declare const isRuntimeOnly: () => boolean;
1141
+
1142
+ export type WatchEffect = (onCleanup: OnCleanup) => void;
1143
+ export type WatchSource<T = any> = Ref<T> | ComputedRef<T> | (() => T);
1144
+ export type WatchCallback<V = any, OV = any> = (value: V, oldValue: OV, onCleanup: OnCleanup) => any;
1145
+ type MapSources<T, Immediate> = {
1146
+ [K in keyof T]: T[K] extends WatchSource<infer V> ? Immediate extends true ? V | undefined : V : T[K] extends object ? Immediate extends true ? T[K] | undefined : T[K] : never;
1147
+ };
1148
+ type OnCleanup = (cleanupFn: () => void) => void;
1149
+ export interface WatchOptionsBase extends DebuggerOptions {
1150
+ flush?: 'pre' | 'post' | 'sync';
1151
+ }
1152
+ export interface WatchOptions<Immediate = boolean> extends WatchOptionsBase {
1153
+ immediate?: Immediate;
1154
+ deep?: boolean;
1155
+ once?: boolean;
1156
+ }
1157
+ export type WatchStopHandle = () => void;
1158
+ export declare function watchEffect(effect: WatchEffect, options?: WatchOptionsBase): WatchStopHandle;
1159
+ export declare function watchPostEffect(effect: WatchEffect, options?: DebuggerOptions): WatchStopHandle;
1160
+ export declare function watchSyncEffect(effect: WatchEffect, options?: DebuggerOptions): WatchStopHandle;
1161
+ type MultiWatchSources = (WatchSource<unknown> | object)[];
1162
+ export declare function watch<T, Immediate extends Readonly<boolean> = false>(source: WatchSource<T>, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchOptions<Immediate>): WatchStopHandle;
1163
+ export declare function watch<T extends MultiWatchSources, Immediate extends Readonly<boolean> = false>(sources: [...T], cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
1164
+ export declare function watch<T extends Readonly<MultiWatchSources>, Immediate extends Readonly<boolean> = false>(source: T, cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
1165
+ export declare function watch<T extends object, Immediate extends Readonly<boolean> = false>(source: T, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchOptions<Immediate>): WatchStopHandle;
1166
+
1167
+ type AsyncComponentResolveResult<T = Component> = T | {
1168
+ default: T;
1169
+ };
1170
+ export type AsyncComponentLoader<T = any> = () => Promise<AsyncComponentResolveResult<T>>;
1171
+ export interface AsyncComponentOptions<T = any> {
1172
+ loader: AsyncComponentLoader<T>;
1173
+ loadingComponent?: Component;
1174
+ errorComponent?: Component;
1175
+ delay?: number;
1176
+ timeout?: number;
1177
+ suspensible?: boolean;
1178
+ onError?: (error: Error, retry: () => void, fail: () => void, attempts: number) => any;
1179
+ }
1180
+ /*! #__NO_SIDE_EFFECTS__ */
1181
+ export declare function defineAsyncComponent<T extends Component = {
1182
+ new (): ComponentPublicInstance;
1183
+ }>(source: AsyncComponentLoader<T> | AsyncComponentOptions<T>): T;
1184
+
1185
+ /**
1186
+ * Vue `<script setup>` compiler macro for declaring component props. The
1187
+ * expected argument is the same as the component `props` option.
1188
+ *
1189
+ * Example runtime declaration:
1190
+ * ```js
1191
+ * // using Array syntax
1192
+ * const props = defineProps(['foo', 'bar'])
1193
+ * // using Object syntax
1194
+ * const props = defineProps({
1195
+ * foo: String,
1196
+ * bar: {
1197
+ * type: Number,
1198
+ * required: true
1199
+ * }
1200
+ * })
1201
+ * ```
1202
+ *
1203
+ * Equivalent type-based declaration:
1204
+ * ```ts
1205
+ * // will be compiled into equivalent runtime declarations
1206
+ * const props = defineProps<{
1207
+ * foo?: string
1208
+ * bar: number
1209
+ * }>()
1210
+ * ```
1211
+ *
1212
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits}
1213
+ *
1214
+ * This is only usable inside `<script setup>`, is compiled away in the
1215
+ * output and should **not** be actually called at runtime.
1216
+ */
1217
+ export declare function defineProps<PropNames extends string = string>(props: PropNames[]): Prettify<Readonly<{
1218
+ [key in PropNames]?: any;
1219
+ }>>;
1220
+ export declare function defineProps<PP extends ComponentObjectPropsOptions = ComponentObjectPropsOptions>(props: PP): Prettify<Readonly<ExtractPropTypes<PP>>>;
1221
+ export declare function defineProps<TypeProps>(): DefineProps<LooseRequired<TypeProps>, BooleanKey<TypeProps>>;
1222
+ export type DefineProps<T, BKeys extends keyof T> = Readonly<T> & {
1223
+ readonly [K in BKeys]-?: boolean;
1224
+ };
1225
+ type BooleanKey<T, K extends keyof T = keyof T> = K extends any ? [T[K]] extends [boolean | undefined] ? K : never : never;
1226
+ /**
1227
+ * Vue `<script setup>` compiler macro for declaring a component's emitted
1228
+ * events. The expected argument is the same as the component `emits` option.
1229
+ *
1230
+ * Example runtime declaration:
1231
+ * ```js
1232
+ * const emit = defineEmits(['change', 'update'])
1233
+ * ```
1234
+ *
1235
+ * Example type-based declaration:
1236
+ * ```ts
1237
+ * const emit = defineEmits<{
1238
+ * // <eventName>: <expected arguments>
1239
+ * change: []
1240
+ * update: [value: string] // named tuple syntax
1241
+ * }>()
1242
+ *
1243
+ * emit('change')
1244
+ * emit('update', 1)
1245
+ * ```
1246
+ *
1247
+ * This is only usable inside `<script setup>`, is compiled away in the
1248
+ * output and should **not** be actually called at runtime.
1249
+ *
1250
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits}
1251
+ */
1252
+ export declare function defineEmits<EE extends string = string>(emitOptions: EE[]): EmitFn<EE[]>;
1253
+ export declare function defineEmits<E extends EmitsOptions = EmitsOptions>(emitOptions: E): EmitFn<E>;
1254
+ export declare function defineEmits<T extends ((...args: any[]) => any) | Record<string, any[]>>(): T extends (...args: any[]) => any ? T : ShortEmits<T>;
1255
+ type RecordToUnion<T extends Record<string, any>> = T[keyof T];
1256
+ type ShortEmits<T extends Record<string, any>> = UnionToIntersection<RecordToUnion<{
1257
+ [K in keyof T]: (evt: K, ...args: T[K]) => void;
1258
+ }>>;
1259
+ /**
1260
+ * Vue `<script setup>` compiler macro for declaring a component's exposed
1261
+ * instance properties when it is accessed by a parent component via template
1262
+ * refs.
1263
+ *
1264
+ * `<script setup>` components are closed by default - i.e. variables inside
1265
+ * the `<script setup>` scope is not exposed to parent unless explicitly exposed
1266
+ * via `defineExpose`.
1267
+ *
1268
+ * This is only usable inside `<script setup>`, is compiled away in the
1269
+ * output and should **not** be actually called at runtime.
1270
+ *
1271
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineexpose}
1272
+ */
1273
+ export declare function defineExpose<Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed): void;
1274
+ /**
1275
+ * Vue `<script setup>` compiler macro for declaring a component's additional
1276
+ * options. This should be used only for options that cannot be expressed via
1277
+ * Composition API - e.g. `inheritAttrs`.
1278
+ *
1279
+ * @see {@link https://vuejs.org/api/sfc-script-setup.html#defineoptions}
1280
+ */
1281
+ export declare function defineOptions<RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin>(options?: ComponentOptionsWithoutProps<{}, RawBindings, D, C, M, Mixin, Extends> & {
1282
+ emits?: undefined;
1283
+ expose?: undefined;
1284
+ slots?: undefined;
1285
+ }): void;
1286
+ export declare function defineSlots<S extends Record<string, any> = Record<string, any>>(): StrictUnwrapSlotsType<SlotsType<S>>;
1287
+ export type ModelRef<T, M extends string | number | symbol = string> = Ref<T> & [
1288
+ ModelRef<T, M>,
1289
+ Record<M, true | undefined>
1290
+ ];
1291
+ type DefineModelOptions<T = any> = {
1292
+ get?: (v: T) => any;
1293
+ set?: (v: T) => any;
1294
+ };
1295
+ /**
1296
+ * Vue `<script setup>` compiler macro for declaring a
1297
+ * two-way binding prop that can be consumed via `v-model` from the parent
1298
+ * component. This will declare a prop with the same name and a corresponding
1299
+ * `update:propName` event.
1300
+ *
1301
+ * If the first argument is a string, it will be used as the prop name;
1302
+ * Otherwise the prop name will default to "modelValue". In both cases, you
1303
+ * can also pass an additional object which will be used as the prop's options.
1304
+ *
1305
+ * The returned ref behaves differently depending on whether the parent
1306
+ * provided the corresponding v-model props or not:
1307
+ * - If yes, the returned ref's value will always be in sync with the parent
1308
+ * prop.
1309
+ * - If not, the returned ref will behave like a normal local ref.
1310
+ *
1311
+ * @example
1312
+ * ```ts
1313
+ * // default model (consumed via `v-model`)
1314
+ * const modelValue = defineModel<string>()
1315
+ * modelValue.value = "hello"
1316
+ *
1317
+ * // default model with options
1318
+ * const modelValue = defineModel<string>({ required: true })
1319
+ *
1320
+ * // with specified name (consumed via `v-model:count`)
1321
+ * const count = defineModel<number>('count')
1322
+ * count.value++
1323
+ *
1324
+ * // with specified name and default value
1325
+ * const count = defineModel<number>('count', { default: 0 })
1326
+ * ```
1327
+ */
1328
+ export declare function defineModel<T, M extends string | number | symbol = string>(options: {
1329
+ required: true;
1330
+ } & PropOptions<T> & DefineModelOptions<T>): ModelRef<T, M>;
1331
+ export declare function defineModel<T, M extends string | number | symbol = string>(options: {
1332
+ default: any;
1333
+ } & PropOptions<T> & DefineModelOptions<T>): ModelRef<T, M>;
1334
+ export declare function defineModel<T, M extends string | number | symbol = string>(options?: PropOptions<T> & DefineModelOptions<T>): ModelRef<T | undefined, M>;
1335
+ export declare function defineModel<T, M extends string | number | symbol = string>(name: string, options: {
1336
+ required: true;
1337
+ } & PropOptions<T> & DefineModelOptions<T>): ModelRef<T, M>;
1338
+ export declare function defineModel<T, M extends string | number | symbol = string>(name: string, options: {
1339
+ default: any;
1340
+ } & PropOptions<T> & DefineModelOptions<T>): ModelRef<T, M>;
1341
+ export declare function defineModel<T, M extends string | number | symbol = string>(name: string, options?: PropOptions<T> & DefineModelOptions<T>): ModelRef<T | undefined, M>;
1342
+ type NotUndefined<T> = T extends undefined ? never : T;
1343
+ type MappedOmit<T, K extends keyof any> = {
1344
+ [P in keyof T as P extends K ? never : P]: T[P];
1345
+ };
1346
+ type InferDefaults<T> = {
1347
+ [K in keyof T]?: InferDefault<T, T[K]>;
1348
+ };
1349
+ type NativeType = null | number | string | boolean | symbol | Function;
1350
+ type InferDefault<P, T> = ((props: P) => T & {}) | (T extends NativeType ? T : never);
1351
+ type PropsWithDefaults<T, Defaults extends InferDefaults<T>, BKeys extends keyof T> = Readonly<MappedOmit<T, keyof Defaults>> & {
1352
+ readonly [K in keyof Defaults]-?: K extends keyof T ? Defaults[K] extends undefined ? T[K] : NotUndefined<T[K]> : never;
1353
+ } & {
1354
+ readonly [K in BKeys]-?: K extends keyof Defaults ? Defaults[K] extends undefined ? boolean | undefined : boolean : boolean;
1355
+ };
1356
+ /**
1357
+ * Vue `<script setup>` compiler macro for providing props default values when
1358
+ * using type-based `defineProps` declaration.
1359
+ *
1360
+ * Example usage:
1361
+ * ```ts
1362
+ * withDefaults(defineProps<{
1363
+ * size?: number
1364
+ * labels?: string[]
1365
+ * }>(), {
1366
+ * size: 3,
1367
+ * labels: () => ['default label']
1368
+ * })
1369
+ * ```
1370
+ *
1371
+ * This is only usable inside `<script setup>`, is compiled away in the output
1372
+ * and should **not** be actually called at runtime.
1373
+ *
1374
+ * @see {@link https://vuejs.org/guide/typescript/composition-api.html#typing-component-props}
1375
+ */
1376
+ export declare function withDefaults<T, BKeys extends keyof T, Defaults extends InferDefaults<T>>(props: DefineProps<T, BKeys>, defaults: Defaults): PropsWithDefaults<T, Defaults, BKeys>;
1377
+ export declare function useSlots(): SetupContext['slots'];
1378
+ export declare function useAttrs(): SetupContext['attrs'];
1379
+
1380
+ export declare function useModel<M extends string | number | symbol, T extends Record<string, any>, K extends keyof T>(props: T, name: K, options?: DefineModelOptions<T[K]>): ModelRef<T[K], M>;
1381
+
1382
+ type RawProps = VNodeProps & {
1383
+ __v_isVNode?: never;
1384
+ [Symbol.iterator]?: never;
1385
+ } & Record<string, any>;
1386
+ type RawChildren = string | number | boolean | VNode | VNodeArrayChildren | (() => any);
1387
+ interface Constructor<P = any> {
1388
+ __isFragment?: never;
1389
+ __isTeleport?: never;
1390
+ __isSuspense?: never;
1391
+ new (...args: any[]): {
1392
+ $props: P;
1393
+ };
1394
+ }
1395
+ type HTMLElementEventHandler = {
1396
+ [K in keyof HTMLElementEventMap as `on${Capitalize<K>}`]?: (ev: HTMLElementEventMap[K]) => any;
1397
+ };
1398
+ export declare function h<K extends keyof HTMLElementTagNameMap>(type: K, children?: RawChildren): VNode;
1399
+ export declare function h<K extends keyof HTMLElementTagNameMap>(type: K, props?: (RawProps & HTMLElementEventHandler) | null, children?: RawChildren | RawSlots): VNode;
1400
+ export declare function h(type: string, children?: RawChildren): VNode;
1401
+ export declare function h(type: string, props?: RawProps | null, children?: RawChildren | RawSlots): VNode;
1402
+ export declare function h(type: typeof Text | typeof Comment, children?: string | number | boolean): VNode;
1403
+ export declare function h(type: typeof Text | typeof Comment, props?: null, children?: string | number | boolean): VNode;
1404
+ export declare function h(type: typeof Fragment, children?: VNodeArrayChildren): VNode;
1405
+ export declare function h(type: typeof Fragment, props?: RawProps | null, children?: VNodeArrayChildren): VNode;
1406
+ export declare function h(type: typeof Teleport, props: RawProps & TeleportProps, children: RawChildren | RawSlots): VNode;
1407
+ export declare function h(type: typeof Suspense, children?: RawChildren): VNode;
1408
+ export declare function h(type: typeof Suspense, props?: (RawProps & SuspenseProps) | null, children?: RawChildren | RawSlots): VNode;
1409
+ export declare function h<P, E extends EmitsOptions = {}, S extends Record<string, any> = any>(type: FunctionalComponent<P, any, S, any>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | IfAny<S, RawSlots, S>): VNode;
1410
+ export declare function h(type: Component, children?: RawChildren): VNode;
1411
+ export declare function h<P>(type: ConcreteComponent | string, children?: RawChildren): VNode;
1412
+ export declare function h<P>(type: ConcreteComponent<P> | string, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren): VNode;
1413
+ export declare function h<P>(type: Component<P>, props?: (RawProps & P) | null, children?: RawChildren | RawSlots): VNode;
1414
+ export declare function h<P>(type: ComponentOptions<P>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
1415
+ export declare function h(type: Constructor, children?: RawChildren): VNode;
1416
+ export declare function h<P>(type: Constructor<P>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
1417
+ export declare function h(type: DefineComponent, children?: RawChildren): VNode;
1418
+ export declare function h<P>(type: DefineComponent<P>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
1419
+ export declare function h(type: string | Component, children?: RawChildren): VNode;
1420
+ export declare function h<P>(type: string | Component<P>, props?: (RawProps & P) | ({} extends P ? null : never), children?: RawChildren | RawSlots): VNode;
1421
+
1422
+ export declare const ssrContextKey: unique symbol;
1423
+ export declare const useSSRContext: <T = Record<string, any>>() => T | undefined;
1424
+
1425
+ declare function warn$1(msg: string, ...args: any[]): void;
1426
+
1427
+ export declare enum ErrorCodes {
1428
+ SETUP_FUNCTION = 0,
1429
+ RENDER_FUNCTION = 1,
1430
+ WATCH_GETTER = 2,
1431
+ WATCH_CALLBACK = 3,
1432
+ WATCH_CLEANUP = 4,
1433
+ NATIVE_EVENT_HANDLER = 5,
1434
+ COMPONENT_EVENT_HANDLER = 6,
1435
+ VNODE_HOOK = 7,
1436
+ DIRECTIVE_HOOK = 8,
1437
+ TRANSITION_HOOK = 9,
1438
+ APP_ERROR_HANDLER = 10,
1439
+ APP_WARN_HANDLER = 11,
1440
+ FUNCTION_REF = 12,
1441
+ ASYNC_COMPONENT_LOADER = 13,
1442
+ SCHEDULER = 14
1443
+ }
1444
+ type ErrorTypes = LifecycleHooks | ErrorCodes;
1445
+ export declare function callWithErrorHandling(fn: Function, instance: ComponentInternalInstance | null, type: ErrorTypes, args?: unknown[]): any;
1446
+ export declare function callWithAsyncErrorHandling(fn: Function | Function[], instance: ComponentInternalInstance | null, type: ErrorTypes, args?: unknown[]): any;
1447
+ export declare function handleError(err: unknown, instance: ComponentInternalInstance | null, type: ErrorTypes, throwInDev?: boolean): void;
1448
+
1449
+ export declare function initCustomFormatter(): void;
1450
+
1451
+ interface AppRecord {
1452
+ id: number;
1453
+ app: App;
1454
+ version: string;
1455
+ types: Record<string, string | Symbol>;
1456
+ }
1457
+ interface DevtoolsHook {
1458
+ enabled?: boolean;
1459
+ emit: (event: string, ...payload: any[]) => void;
1460
+ on: (event: string, handler: Function) => void;
1461
+ once: (event: string, handler: Function) => void;
1462
+ off: (event: string, handler: Function) => void;
1463
+ appRecords: AppRecord[];
1464
+ /**
1465
+ * Added at https://github.com/vuejs/devtools/commit/f2ad51eea789006ab66942e5a27c0f0986a257f9
1466
+ * Returns whether the arg was buffered or not
1467
+ */
1468
+ cleanupBuffer?: (matchArg: unknown) => boolean;
1469
+ }
1470
+ declare function setDevtoolsHook$1(hook: DevtoolsHook, target: any): void;
1471
+
1472
+ type HMRComponent = ComponentOptions | ClassComponent;
1473
+ export interface HMRRuntime {
1474
+ createRecord: typeof createRecord;
1475
+ rerender: typeof rerender;
1476
+ reload: typeof reload;
1477
+ }
1478
+ declare function createRecord(id: string, initialDef: HMRComponent): boolean;
1479
+ declare function rerender(id: string, newRender?: Function): void;
1480
+ declare function reload(id: string, newComp: HMRComponent): void;
1481
+
1482
+ /**
1483
+ * Set scope id when creating hoisted vnodes.
1484
+ * @private compiler helper
1485
+ */
1486
+ export declare function pushScopeId(id: string | null): void;
1487
+ /**
1488
+ * Technically we no longer need this after 3.0.8 but we need to keep the same
1489
+ * API for backwards compat w/ code generated by compilers.
1490
+ * @private
1491
+ */
1492
+ export declare function popScopeId(): void;
1493
+ /**
1494
+ * Only for backwards compat
1495
+ * @private
1496
+ */
1497
+ export declare const withScopeId: (_id: string) => typeof withCtx;
1498
+ /**
1499
+ * Wrap a slot function to memoize current rendering instance
1500
+ * @private compiler helper
1501
+ */
1502
+ export declare function withCtx(fn: Function, ctx?: ComponentInternalInstance | null, isNonScopedSlot?: boolean): Function;
1503
+
1504
+ /**
1505
+ * v-for string
1506
+ * @private
1507
+ */
1508
+ export declare function renderList(source: string, renderItem: (value: string, index: number) => VNodeChild): VNodeChild[];
1509
+ /**
1510
+ * v-for number
1511
+ */
1512
+ export declare function renderList(source: number, renderItem: (value: number, index: number) => VNodeChild): VNodeChild[];
1513
+ /**
1514
+ * v-for array
1515
+ */
1516
+ export declare function renderList<T>(source: T[], renderItem: (value: T, index: number) => VNodeChild): VNodeChild[];
1517
+ /**
1518
+ * v-for iterable
1519
+ */
1520
+ export declare function renderList<T>(source: Iterable<T>, renderItem: (value: T, index: number) => VNodeChild): VNodeChild[];
1521
+ /**
1522
+ * v-for object
1523
+ */
1524
+ export declare function renderList<T>(source: T, renderItem: <K extends keyof T>(value: T[K], key: K, index: number) => VNodeChild): VNodeChild[];
1525
+
1526
+ /**
1527
+ * For prefixing keys in v-on="obj" with "on"
1528
+ * @private
1529
+ */
1530
+ export declare function toHandlers(obj: Record<string, any>, preserveCaseIfNecessary?: boolean): Record<string, any>;
1531
+
1532
+ /**
1533
+ * Compiler runtime helper for rendering `<slot/>`
1534
+ * @private
1535
+ */
1536
+ export declare function renderSlot(slots: Slots, name: string, props?: Data, fallback?: () => VNodeArrayChildren, noSlotted?: boolean): VNode;
1537
+
1538
+ type SSRSlot = (...args: any[]) => VNode[] | undefined;
1539
+ interface CompiledSlotDescriptor {
1540
+ name: string;
1541
+ fn: SSRSlot;
1542
+ key?: string;
1543
+ }
1544
+ /**
1545
+ * Compiler runtime helper for creating dynamic slots object
1546
+ * @private
1547
+ */
1548
+ export declare function createSlots(slots: Record<string, SSRSlot>, dynamicSlots: (CompiledSlotDescriptor | CompiledSlotDescriptor[] | undefined)[]): Record<string, SSRSlot>;
1549
+
1550
+ export declare function withMemo(memo: any[], render: () => VNode<any, any>, cache: any[], index: number): VNode<any, any, {
1551
+ [key: string]: any;
1552
+ }>;
1553
+ export declare function isMemoSame(cached: VNode, memo: any[]): boolean;
1554
+
1555
+ export type LegacyConfig = {
1556
+ /**
1557
+ * @deprecated `config.silent` option has been removed
1558
+ */
1559
+ silent?: boolean;
1560
+ /**
1561
+ * @deprecated use __VUE_PROD_DEVTOOLS__ compile-time feature flag instead
1562
+ * https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags
1563
+ */
1564
+ devtools?: boolean;
1565
+ /**
1566
+ * @deprecated use `config.isCustomElement` instead
1567
+ * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement
1568
+ */
1569
+ ignoredElements?: (string | RegExp)[];
1570
+ /**
1571
+ * @deprecated
1572
+ * https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html
1573
+ */
1574
+ keyCodes?: Record<string, number | number[]>;
1575
+ /**
1576
+ * @deprecated
1577
+ * https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed
1578
+ */
1579
+ productionTip?: boolean;
1580
+ };
1581
+
1582
+ type LegacyPublicInstance = ComponentPublicInstance & LegacyPublicProperties;
1583
+ interface LegacyPublicProperties {
1584
+ $set(target: object, key: string, value: any): void;
1585
+ $delete(target: object, key: string): void;
1586
+ $mount(el?: string | Element): this;
1587
+ $destroy(): void;
1588
+ $scopedSlots: Slots;
1589
+ $on(event: string | string[], fn: Function): this;
1590
+ $once(event: string, fn: Function): this;
1591
+ $off(event?: string | string[], fn?: Function): this;
1592
+ $children: LegacyPublicProperties[];
1593
+ $listeners: Record<string, Function | Function[]>;
1594
+ }
1595
+
1596
+ /**
1597
+ * @deprecated the default `Vue` export has been removed in Vue 3. The type for
1598
+ * the default export is provided only for migration purposes. Please use
1599
+ * named imports instead - e.g. `import { createApp } from 'vue'`.
1600
+ */
1601
+ export type CompatVue = Pick<App, 'version' | 'component' | 'directive'> & {
1602
+ configureCompat: typeof configureCompat;
1603
+ new (options?: ComponentOptions): LegacyPublicInstance;
1604
+ version: string;
1605
+ config: AppConfig & LegacyConfig;
1606
+ nextTick: typeof nextTick;
1607
+ use(plugin: Plugin, ...options: any[]): CompatVue;
1608
+ mixin(mixin: ComponentOptions): CompatVue;
1609
+ component(name: string): Component | undefined;
1610
+ component(name: string, component: Component): CompatVue;
1611
+ directive<T = any, V = any>(name: string): Directive<T, V> | undefined;
1612
+ directive<T = any, V = any>(name: string, directive: Directive<T, V>): CompatVue;
1613
+ compile(template: string): RenderFunction;
1614
+ /**
1615
+ * @deprecated Vue 3 no longer supports extending constructors.
1616
+ */
1617
+ extend: (options?: ComponentOptions) => CompatVue;
1618
+ /**
1619
+ * @deprecated Vue 3 no longer needs set() for adding new properties.
1620
+ */
1621
+ set(target: any, key: string | number | symbol, value: any): void;
1622
+ /**
1623
+ * @deprecated Vue 3 no longer needs delete() for property deletions.
1624
+ */
1625
+ delete(target: any, key: string | number | symbol): void;
1626
+ /**
1627
+ * @deprecated use `reactive` instead.
1628
+ */
1629
+ observable: typeof reactive;
1630
+ /**
1631
+ * @deprecated filters have been removed from Vue 3.
1632
+ */
1633
+ filter(name: string, arg?: any): null;
1634
+ };
1635
+
1636
+ export declare const version: string;
1637
+
1638
+ export declare const warn: typeof warn$1;
1639
+
1640
+ export declare const devtools: DevtoolsHook;
1641
+ export declare const setDevtoolsHook: typeof setDevtoolsHook$1;
1642
+
1643
+ declare module '@vue/reactivity' {
1644
+ interface RefUnwrapBailTypes {
1645
+ runtimeCoreBailTypes: VNode | {
1646
+ $: ComponentInternalInstance;
1647
+ };
1648
+ }
1649
+ }
1650
+
1651
+ export declare const DeprecationTypes: typeof DeprecationTypes$1;
1652
+
1653
+ export { createBaseVNode as createElementVNode, };
1654
+ // Note: this file is auto concatenated to the end of the bundled d.ts during
1655
+ // build.
1656
+ type _defineProps = typeof defineProps
1657
+ type _defineEmits = typeof defineEmits
1658
+ type _defineExpose = typeof defineExpose
1659
+ type _defineOptions = typeof defineOptions
1660
+ type _defineSlots = typeof defineSlots
1661
+ type _defineModel = typeof defineModel
1662
+ type _withDefaults = typeof withDefaults
1663
+
1664
+ declare global {
1665
+ const defineProps: _defineProps
1666
+ const defineEmits: _defineEmits
1667
+ const defineExpose: _defineExpose
1668
+ const defineOptions: _defineOptions
1669
+ const defineSlots: _defineSlots
1670
+ const defineModel: _defineModel
1671
+ const withDefaults: _withDefaults
1672
+ }