import { computed as computed$1, ShallowUnwrapRef, UnwrapNestedRefs, DebuggerEvent, ComputedGetter, WritableComputedOptions, Ref, ReactiveFlags, ReactiveEffect, EffectScope, ComputedRef, DebuggerOptions, reactive } from '@vue/reactivity'; 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'; import { IfAny, Prettify, SlotFlags, UnionToIntersection, LooseRequired } from '@vue/shared'; export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared'; export declare const computed: typeof computed$1; export type Slot = (...args: IfAny) => VNode[]; type InternalSlots = { [name: string]: Slot | undefined; }; export type Slots = Readonly; declare const SlotSymbol: unique symbol; export type SlotsType = Record> = { [SlotSymbol]?: T; }; type StrictUnwrapSlotsType> = [keyof S] extends [never] ? Slots : Readonly; type UnwrapSlotsType> = [keyof S] extends [never] ? Slots : Readonly extends (...args: any[]) => any ? T[K] : Slot; }>>; type RawSlots = { [name: string]: unknown; $stable?: boolean; /* removed internal: _ctx */ /* removed internal: _ */ }; interface SchedulerJob extends Function { id?: number; pre?: boolean; active?: boolean; computed?: boolean; /** * Indicates whether the effect is allowed to recursively trigger itself * when managed by the scheduler. * * By default, a job cannot trigger itself because some built-in method calls, * e.g. Array.prototype.push actually performs reads as well (#1740) which * can lead to confusing infinite loops. * The allowed cases are component update functions and watch callbacks. * Component update functions may update child component props, which in turn * trigger flush: "pre" watch callbacks that mutates state that the parent * relies on (#1801). Watch callbacks doesn't track its dependencies so if it * triggers itself again, it's likely intentional and it is the user's * responsibility to perform recursive state mutation that eventually * stabilizes (#1727). */ allowRecurse?: boolean; /** * Attached by renderer.ts when setting up a component's render effect * Used to obtain component information when reporting max recursive updates. * dev only. */ ownerInstance?: ComponentInternalInstance; } type SchedulerJobs = SchedulerJob | SchedulerJob[]; export declare function nextTick(this: T, fn?: (this: T) => void): Promise; export declare function queuePostFlushCb(cb: SchedulerJobs): void; export type ObjectEmitsOptions = Record any) | null>; export type EmitsOptions = ObjectEmitsOptions | string[]; type EmitsToProps = T extends string[] ? { [K in string & `on${Capitalize}`]?: (...args: any[]) => any; } : T extends ObjectEmitsOptions ? { [K in string & `on${Capitalize}`]?: K extends `on${infer C}` ? T[Uncapitalize] extends null ? (...args: any[]) => any : (...args: T[Uncapitalize] extends (...args: infer P) => any ? P : never) => any : never; } : {}; type EmitFn = Options extends Array ? (event: V, ...args: any[]) => void : {} extends Options ? (event: string, ...args: any[]) => void : UnionToIntersection<{ [key in Event]: Options[key] extends (...args: infer Args) => any ? (event: key, ...args: Args) => void : (event: key, ...args: any[]) => void; }[Event]>; /** * Custom properties added to component instances in any way and can be accessed through `this` * * @example * Here is an example of adding a property `$router` to every component instance: * ```ts * import { createApp } from 'vue' * import { Router, createRouter } from 'vue-router' * * declare module '@vue/runtime-core' { * interface ComponentCustomProperties { * $router: Router * } * } * * // effectively adding the router to every component instance * const app = createApp({}) * const router = createRouter() * app.config.globalProperties.$router = router * * const vm = app.mount('#app') * // we can access the router from the instance * vm.$router.push('/') * ``` */ export interface ComponentCustomProperties { } type IsDefaultMixinComponent = T extends ComponentOptionsMixin ? ComponentOptionsMixin extends T ? true : false : false; type MixinToOptionTypes = T extends ComponentOptionsBase ? OptionTypesType

& IntersectionMixin & IntersectionMixin : never; type ExtractMixin = { Mixin: MixinToOptionTypes; }[T extends ComponentOptionsMixin ? 'Mixin' : never]; type IntersectionMixin = IsDefaultMixinComponent extends true ? OptionTypesType<{}, {}, {}, {}, {}> : UnionToIntersection>; type UnwrapMixinsType = T extends OptionTypesType ? T[Type] : never; type EnsureNonVoid = T extends void ? {} : T; type ComponentPublicInstanceConstructor = ComponentPublicInstance, Props = any, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions> = { __isFragment?: never; __isTeleport?: never; __isSuspense?: never; new (...args: any[]): T; }; export type CreateComponentPublicInstance

& IntersectionMixin, PublicP = UnwrapMixinsType & EnsureNonVoid

, PublicB = UnwrapMixinsType & EnsureNonVoid, PublicD = UnwrapMixinsType & EnsureNonVoid, PublicC extends ComputedOptions = UnwrapMixinsType & EnsureNonVoid, PublicM extends MethodOptions = UnwrapMixinsType & EnsureNonVoid, PublicDefaults = UnwrapMixinsType & EnsureNonVoid> = ComponentPublicInstance, I, S>; export type ComponentPublicInstance

, I extends ComponentInjectOptions = {}, S extends SlotsType = {}> = { $: ComponentInternalInstance; $data: D; $props: Prettify & Omit

: P & PublicProps>; $attrs: Data; $refs: Data; $slots: UnwrapSlotsType; $root: ComponentPublicInstance | null; $parent: ComponentPublicInstance | null; $emit: EmitFn; $el: any; $options: Options & MergedComponentOptionsOverride; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R]) => any : (...args: any) => any, options?: WatchOptions): WatchStopHandle; } & P & ShallowUnwrapRef & UnwrapNestedRefs & ExtractComputedReturns & M & ComponentCustomProperties & InjectToObject; declare const enum LifecycleHooks { BEFORE_CREATE = "bc", CREATED = "c", BEFORE_MOUNT = "bm", MOUNTED = "m", BEFORE_UPDATE = "bu", UPDATED = "u", BEFORE_UNMOUNT = "bum", UNMOUNTED = "um", DEACTIVATED = "da", ACTIVATED = "a", RENDER_TRIGGERED = "rtg", RENDER_TRACKED = "rtc", ERROR_CAPTURED = "ec", SERVER_PREFETCH = "sp" } export interface SuspenseProps { onResolve?: () => void; onPending?: () => void; onFallback?: () => void; timeout?: string | number; /** * Allow suspense to be captured by parent suspense * * @default false */ suspensible?: boolean; } declare const SuspenseImpl: { name: string; __isSuspense: boolean; process(n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals): void; hydrate: typeof hydrateSuspense; create: typeof createSuspenseBoundary; normalize: typeof normalizeSuspenseChildren; }; export declare const Suspense: { new (): { $props: VNodeProps & SuspenseProps; $slots: { default(): VNode[]; fallback(): VNode[]; }; }; __isSuspense: true; }; export interface SuspenseBoundary { vnode: VNode; parent: SuspenseBoundary | null; parentComponent: ComponentInternalInstance | null; isSVG: boolean; container: RendererElement; hiddenContainer: RendererElement; anchor: RendererNode | null; activeBranch: VNode | null; pendingBranch: VNode | null; deps: number; pendingId: number; timeout: number; isInFallback: boolean; isHydrating: boolean; isUnmounted: boolean; effects: Function[]; resolve(force?: boolean, sync?: boolean): void; fallback(fallbackVNode: VNode): void; move(container: RendererElement, anchor: RendererNode | null, type: MoveType): void; next(): RendererNode | null; registerDep(instance: ComponentInternalInstance, setupRenderEffect: SetupRenderEffectFn): void; unmount(parentSuspense: SuspenseBoundary | null, doRemove?: boolean): void; } declare function createSuspenseBoundary(vnode: VNode, parentSuspense: SuspenseBoundary | null, parentComponent: ComponentInternalInstance | null, container: RendererElement, hiddenContainer: RendererElement, anchor: RendererNode | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals, isHydrating?: boolean): SuspenseBoundary; declare function hydrateSuspense(node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, 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; declare function normalizeSuspenseChildren(vnode: VNode): void; export type RootHydrateFunction = (vnode: VNode, container: (Element | ShadowRoot) & { _vnode?: VNode; }) => void; export interface Renderer { render: RootRenderFunction; createApp: CreateAppFunction; } export interface HydrationRenderer extends Renderer { hydrate: RootHydrateFunction; } export type RootRenderFunction = (vnode: VNode | null, container: HostElement, isSVG?: boolean) => void; export interface RendererOptions { patchProp(el: HostElement, key: string, prevValue: any, nextValue: any, isSVG?: boolean, prevChildren?: VNode[], parentComponent?: ComponentInternalInstance | null, parentSuspense?: SuspenseBoundary | null, unmountChildren?: UnmountChildrenFn): void; insert(el: HostNode, parent: HostElement, anchor?: HostNode | null): void; remove(el: HostNode): void; createElement(type: string, isSVG?: boolean, isCustomizedBuiltIn?: string, vnodeProps?: (VNodeProps & { [key: string]: any; }) | null): HostElement; createText(text: string): HostNode; createComment(text: string): HostNode; setText(node: HostNode, text: string): void; setElementText(node: HostElement, text: string): void; parentNode(node: HostNode): HostElement | null; nextSibling(node: HostNode): HostNode | null; querySelector?(selector: string): HostElement | null; setScopeId?(el: HostElement, id: string): void; cloneNode?(node: HostNode): HostNode; insertStaticContent?(content: string, parent: HostElement, anchor: HostNode | null, isSVG: boolean, start?: HostNode | null, end?: HostNode | null): [HostNode, HostNode]; } export interface RendererNode { [key: string]: any; } export interface RendererElement extends RendererNode { } interface RendererInternals { p: PatchFn; um: UnmountFn; r: RemoveFn; m: MoveFn; mt: MountComponentFn; mc: MountChildrenFn; pc: PatchChildrenFn; pbc: PatchBlockChildrenFn; n: NextFn; o: RendererOptions; } type PatchFn = (n1: VNode | null, // null means this is a mount n2: VNode, container: RendererElement, anchor?: RendererNode | null, parentComponent?: ComponentInternalInstance | null, parentSuspense?: SuspenseBoundary | null, isSVG?: boolean, slotScopeIds?: string[] | null, optimized?: boolean) => void; type MountChildrenFn = (children: VNodeArrayChildren, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, start?: number) => void; type PatchChildrenFn = (n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean) => void; type PatchBlockChildrenFn = (oldChildren: VNode[], newChildren: VNode[], fallbackContainer: RendererElement, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null) => void; type MoveFn = (vnode: VNode, container: RendererElement, anchor: RendererNode | null, type: MoveType, parentSuspense?: SuspenseBoundary | null) => void; type NextFn = (vnode: VNode) => RendererNode | null; type UnmountFn = (vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, doRemove?: boolean, optimized?: boolean) => void; type RemoveFn = (vnode: VNode) => void; type UnmountChildrenFn = (children: VNode[], parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, doRemove?: boolean, optimized?: boolean, start?: number) => void; type MountComponentFn = (initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, optimized: boolean) => void; type SetupRenderEffectFn = (instance: ComponentInternalInstance, initialVNode: VNode, container: RendererElement, anchor: RendererNode | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, optimized: boolean) => void; declare const enum MoveType { ENTER = 0, LEAVE = 1, REORDER = 2 } /** * The createRenderer function accepts two generic arguments: * HostNode and HostElement, corresponding to Node and Element types in the * host environment. For example, for runtime-dom, HostNode would be the DOM * `Node` interface and HostElement would be the DOM `Element` interface. * * Custom renderers can pass in the platform specific types like this: * * ``` js * const { render, createApp } = createRenderer({ * patchProp, * ...nodeOps * }) * ``` */ export declare function createRenderer(options: RendererOptions): Renderer; export declare function createHydrationRenderer(options: RendererOptions): HydrationRenderer; type MatchPattern = string | RegExp | (string | RegExp)[]; export interface KeepAliveProps { include?: MatchPattern; exclude?: MatchPattern; max?: number | string; } export declare const KeepAlive: { new (): { $props: VNodeProps & KeepAliveProps; $slots: { default(): VNode[]; }; }; __isKeepAlive: true; }; export declare function onActivated(hook: Function, target?: ComponentInternalInstance | null): void; export declare function onDeactivated(hook: Function, target?: ComponentInternalInstance | null): void; export declare const onBeforeMount: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined; export declare const onMounted: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined; export declare const onBeforeUpdate: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined; export declare const onUpdated: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined; export declare const onBeforeUnmount: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined; export declare const onUnmounted: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined; export declare const onServerPrefetch: (hook: () => any, target?: ComponentInternalInstance | null) => false | Function | undefined; type DebuggerHook = (e: DebuggerEvent) => void; export declare const onRenderTriggered: (hook: DebuggerHook, target?: ComponentInternalInstance | null) => false | Function | undefined; export declare const onRenderTracked: (hook: DebuggerHook, target?: ComponentInternalInstance | null) => false | Function | undefined; type ErrorCapturedHook = (err: TError, instance: ComponentPublicInstance | null, info: string) => boolean | void; export declare function onErrorCaptured(hook: ErrorCapturedHook, target?: ComponentInternalInstance | null): void; export type ComponentPropsOptions

= ComponentObjectPropsOptions

| string[]; export type ComponentObjectPropsOptions

= { [K in keyof P]: Prop | null; }; export type Prop = PropOptions | PropType; type DefaultFactory = (props: Data) => T | null | undefined; interface PropOptions { type?: PropType | true | null; required?: boolean; default?: D | DefaultFactory | null | undefined | object; validator?(value: unknown): boolean; /* removed internal: skipCheck */ /* removed internal: skipFactory */ } export type PropType = PropConstructor | PropConstructor[]; type PropConstructor = { new (...args: any[]): T & {}; } | { (): T; } | PropMethod; type PropMethod = [T] extends [ ((...args: any) => any) | undefined ] ? { new (): TConstructor; (): T; readonly prototype: TConstructor; } : never; type RequiredKeys = { [K in keyof T]: T[K] extends { required: true; } | { default: any; } | BooleanConstructor | { type: BooleanConstructor; } ? T[K] extends { default: undefined | (() => undefined); } ? never : K : never; }[keyof T]; type OptionalKeys = Exclude>; type DefaultKeys = { [K in keyof T]: T[K] extends { default: any; } | BooleanConstructor | { type: BooleanConstructor; } ? T[K] extends { type: BooleanConstructor; required: true; } ? never : K : never; }[keyof T]; type InferPropType = [T] extends [null] ? any : [T] extends [{ type: null | true; }] ? any : [T] extends [ObjectConstructor | { type: ObjectConstructor; }] ? Record : [T] extends [BooleanConstructor | { type: BooleanConstructor; }] ? boolean : [T] extends [DateConstructor | { type: DateConstructor; }] ? Date : [T] extends [(infer U)[] | { type: (infer U)[]; }] ? U extends DateConstructor ? Date | InferPropType : InferPropType : [T] extends [Prop] ? unknown extends V ? IfAny : V : T; /** * Extract prop types from a runtime props options object. * The extracted types are **internal** - i.e. the resolved props received by * the component. * - Boolean props are always present * - Props with default values are always present * * To extract accepted props from the parent, use {@link ExtractPublicPropTypes}. */ export type ExtractPropTypes = { [K in keyof Pick>]: InferPropType; } & { [K in keyof Pick>]?: InferPropType; }; type PublicRequiredKeys = { [K in keyof T]: T[K] extends { required: true; } ? K : never; }[keyof T]; type PublicOptionalKeys = Exclude>; /** * Extract prop types from a runtime props options object. * The extracted types are **public** - i.e. the expected props that can be * passed to component. */ export type ExtractPublicPropTypes = { [K in keyof Pick>]: InferPropType; } & { [K in keyof Pick>]?: InferPropType; }; declare const enum BooleanFlags { shouldCast = 0, shouldCastTrue = 1 } export type ExtractDefaultPropTypes = O extends object ? { [K in keyof Pick>]: InferPropType; } : {}; type NormalizedProp = null | (PropOptions & { [BooleanFlags.shouldCast]?: boolean; [BooleanFlags.shouldCastTrue]?: boolean; }); type NormalizedProps = Record; type NormalizedPropsOptions = [NormalizedProps, string[]] | []; /** Runtime helper for applying directives to a vnode. Example usage: const comp = resolveComponent('comp') const foo = resolveDirective('foo') const bar = resolveDirective('bar') return withDirectives(h(comp), [ [foo, this.x], [bar, this.y] ]) */ export interface DirectiveBinding { instance: ComponentPublicInstance | null; value: V; oldValue: V | null; arg?: string; modifiers: DirectiveModifiers; dir: ObjectDirective; } export type DirectiveHook | null, V = any> = (el: T, binding: DirectiveBinding, vnode: VNode, prevVNode: Prev) => void; type SSRDirectiveHook = (binding: DirectiveBinding, vnode: VNode) => Data | undefined; export interface ObjectDirective { created?: DirectiveHook; beforeMount?: DirectiveHook; mounted?: DirectiveHook; beforeUpdate?: DirectiveHook, V>; updated?: DirectiveHook, V>; beforeUnmount?: DirectiveHook; unmounted?: DirectiveHook; getSSRProps?: SSRDirectiveHook; deep?: boolean; } export type FunctionDirective = DirectiveHook; export type Directive = ObjectDirective | FunctionDirective; type DirectiveModifiers = Record; export type DirectiveArguments = Array<[Directive | undefined] | [Directive | undefined, any] | [Directive | undefined, any, string] | [Directive | undefined, any, string, DirectiveModifiers]>; /** * Adds directives to a VNode. */ export declare function withDirectives(vnode: T, directives: DirectiveArguments): T; export declare const enum DeprecationTypes { GLOBAL_MOUNT = "GLOBAL_MOUNT", GLOBAL_MOUNT_CONTAINER = "GLOBAL_MOUNT_CONTAINER", GLOBAL_EXTEND = "GLOBAL_EXTEND", GLOBAL_PROTOTYPE = "GLOBAL_PROTOTYPE", GLOBAL_SET = "GLOBAL_SET", GLOBAL_DELETE = "GLOBAL_DELETE", GLOBAL_OBSERVABLE = "GLOBAL_OBSERVABLE", GLOBAL_PRIVATE_UTIL = "GLOBAL_PRIVATE_UTIL", CONFIG_SILENT = "CONFIG_SILENT", CONFIG_DEVTOOLS = "CONFIG_DEVTOOLS", CONFIG_KEY_CODES = "CONFIG_KEY_CODES", CONFIG_PRODUCTION_TIP = "CONFIG_PRODUCTION_TIP", CONFIG_IGNORED_ELEMENTS = "CONFIG_IGNORED_ELEMENTS", CONFIG_WHITESPACE = "CONFIG_WHITESPACE", CONFIG_OPTION_MERGE_STRATS = "CONFIG_OPTION_MERGE_STRATS", INSTANCE_SET = "INSTANCE_SET", INSTANCE_DELETE = "INSTANCE_DELETE", INSTANCE_DESTROY = "INSTANCE_DESTROY", INSTANCE_EVENT_EMITTER = "INSTANCE_EVENT_EMITTER", INSTANCE_EVENT_HOOKS = "INSTANCE_EVENT_HOOKS", INSTANCE_CHILDREN = "INSTANCE_CHILDREN", INSTANCE_LISTENERS = "INSTANCE_LISTENERS", INSTANCE_SCOPED_SLOTS = "INSTANCE_SCOPED_SLOTS", INSTANCE_ATTRS_CLASS_STYLE = "INSTANCE_ATTRS_CLASS_STYLE", OPTIONS_DATA_FN = "OPTIONS_DATA_FN", OPTIONS_DATA_MERGE = "OPTIONS_DATA_MERGE", OPTIONS_BEFORE_DESTROY = "OPTIONS_BEFORE_DESTROY", OPTIONS_DESTROYED = "OPTIONS_DESTROYED", WATCH_ARRAY = "WATCH_ARRAY", PROPS_DEFAULT_THIS = "PROPS_DEFAULT_THIS", V_ON_KEYCODE_MODIFIER = "V_ON_KEYCODE_MODIFIER", CUSTOM_DIR = "CUSTOM_DIR", ATTR_FALSE_VALUE = "ATTR_FALSE_VALUE", ATTR_ENUMERATED_COERCION = "ATTR_ENUMERATED_COERCION", TRANSITION_CLASSES = "TRANSITION_CLASSES", TRANSITION_GROUP_ROOT = "TRANSITION_GROUP_ROOT", COMPONENT_ASYNC = "COMPONENT_ASYNC", COMPONENT_FUNCTIONAL = "COMPONENT_FUNCTIONAL", COMPONENT_V_MODEL = "COMPONENT_V_MODEL", RENDER_FUNCTION = "RENDER_FUNCTION", FILTERS = "FILTERS", PRIVATE_APIS = "PRIVATE_APIS" } declare function warnDeprecation(key: DeprecationTypes, instance: ComponentInternalInstance | null, ...args: any[]): void; type CompatConfig = Partial> & { MODE?: 2 | 3 | ((comp: Component | null) => 2 | 3); }; declare function configureCompat(config: CompatConfig): void; declare function isCompatEnabled(key: DeprecationTypes, instance: ComponentInternalInstance | null, enableForBuiltIn?: boolean): boolean; /** * Use this for features where legacy usage is still possible, but will likely * lead to runtime error if compat is disabled. (warn in all cases) */ declare function softAssertCompatEnabled(key: DeprecationTypes, instance: ComponentInternalInstance | null, ...args: any[]): boolean; /** * Use this for features with the same syntax but with mutually exclusive * behavior in 2 vs 3. Only warn if compat is enabled. * e.g. render function */ declare function checkCompatEnabled(key: DeprecationTypes, instance: ComponentInternalInstance | null, ...args: any[]): boolean; /** * Interface for declaring custom options. * * @example * ```ts * declare module '@vue/runtime-core' { * interface ComponentCustomOptions { * beforeRouteUpdate?( * to: Route, * from: Route, * next: () => void * ): void * } * } * ``` */ export interface ComponentCustomOptions { } export type RenderFunction = () => VNodeChild; export interface ComponentOptionsBase extends LegacyOptions, ComponentInternalOptions, ComponentCustomOptions { setup?: (this: void, props: LooseRequired & IntersectionMixin, 'P'>>>, ctx: SetupContext) => Promise | RawBindings | RenderFunction | void; name?: string; template?: string | object; render?: Function; components?: Record; directives?: Record; inheritAttrs?: boolean; emits?: (E | EE[]) & ThisType; slots?: S; expose?: string[]; serverPrefetch?(): void | Promise; compilerOptions?: RuntimeCompilerOptions; /* removed internal: ssrRender */ /* removed internal: __ssrInlineRender */ /* removed internal: __asyncLoader */ /* removed internal: __asyncResolved */ call?: (this: unknown, ...args: unknown[]) => never; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; __defaults?: Defaults; } /** * Subset of compiler options that makes sense for the runtime. */ export interface RuntimeCompilerOptions { isCustomElement?: (tag: string) => boolean; whitespace?: 'preserve' | 'condense'; comments?: boolean; delimiters?: [string, string]; } export type ComponentOptionsWithoutProps> = ComponentOptionsBase & { props?: undefined; } & ThisType>; export type ComponentOptionsWithArrayProps>>> = ComponentOptionsBase & { props: PropNames[]; } & ThisType>; export type ComponentOptionsWithObjectProps & EmitsToProps>>, Defaults = ExtractDefaultPropTypes> = ComponentOptionsBase & { props: PropsOptions & ThisType; } & ThisType>; export type ComponentOptions = ComponentOptionsBase & ThisType>>; export type ComponentOptionsMixin = ComponentOptionsBase; export type ComputedOptions = Record | WritableComputedOptions>; export interface MethodOptions { [key: string]: Function; } type ExtractComputedReturns = { [key in keyof T]: T[key] extends { get: (...args: any[]) => infer TReturn; } ? TReturn : T[key] extends (...args: any[]) => infer TReturn ? TReturn : never; }; type ObjectWatchOptionItem = { handler: WatchCallback | string; } & WatchOptions; type WatchOptionItem = string | WatchCallback | ObjectWatchOptionItem; type ComponentWatchOptionItem = WatchOptionItem | WatchOptionItem[]; type ComponentWatchOptions = Record; export type ComponentProvideOptions = ObjectProvideOptions | Function; type ObjectProvideOptions = Record; export type ComponentInjectOptions = string[] | ObjectInjectOptions; type ObjectInjectOptions = Record; type InjectToObject = T extends string[] ? { [K in T[number]]?: unknown; } : T extends ObjectInjectOptions ? { [K in keyof T]?: unknown; } : never; interface LegacyOptions { compatConfig?: CompatConfig; [key: string]: any; data?: (this: CreateComponentPublicInstance, vm: CreateComponentPublicInstance) => D; computed?: C; methods?: M; watch?: ComponentWatchOptions; provide?: ComponentProvideOptions; inject?: I | II[]; filters?: Record; mixins?: Mixin[]; extends?: Extends; beforeCreate?(): void; created?(): void; beforeMount?(): void; mounted?(): void; beforeUpdate?(): void; updated?(): void; activated?(): void; deactivated?(): void; /** @deprecated use `beforeUnmount` instead */ beforeDestroy?(): void; beforeUnmount?(): void; /** @deprecated use `unmounted` instead */ destroyed?(): void; unmounted?(): void; renderTracked?: DebuggerHook; renderTriggered?: DebuggerHook; errorCaptured?: ErrorCapturedHook; /** * runtime compile only * @deprecated use `compilerOptions.delimiters` instead. */ delimiters?: [string, string]; /** * #3468 * * type-only, used to assist Mixin's type inference, * typescript will try to simplify the inferred `Mixin` type, * with the `__differentiator`, typescript won't be able to combine different mixins, * because the `__differentiator` will be different */ __differentiator?: keyof D | keyof C | keyof M; } type MergedHook void> = T | T[]; type MergedComponentOptions = ComponentOptions & MergedComponentOptionsOverride; type MergedComponentOptionsOverride = { beforeCreate?: MergedHook; created?: MergedHook; beforeMount?: MergedHook; mounted?: MergedHook; beforeUpdate?: MergedHook; updated?: MergedHook; activated?: MergedHook; deactivated?: MergedHook; /** @deprecated use `beforeUnmount` instead */ beforeDestroy?: MergedHook; beforeUnmount?: MergedHook; /** @deprecated use `unmounted` instead */ destroyed?: MergedHook; unmounted?: MergedHook; renderTracked?: MergedHook; renderTriggered?: MergedHook; errorCaptured?: MergedHook; }; type OptionTypesKeys = 'P' | 'B' | 'D' | 'C' | 'M' | 'Defaults'; type OptionTypesType

= { P: P; B: B; D: D; C: C; M: M; Defaults: Defaults; }; export interface InjectionKey extends Symbol { } export declare function provide | string | number>(key: K, value: K extends InjectionKey ? V : T): void; export declare function inject(key: InjectionKey | string): T | undefined; export declare function inject(key: InjectionKey | string, defaultValue: T, treatDefaultAsFactory?: false): T; export declare function inject(key: InjectionKey | string, defaultValue: T | (() => T), treatDefaultAsFactory: true): T; /** * Returns true if `inject()` can be used without warning about being called in the wrong place (e.g. outside of * setup()). This is used by libraries that want to use `inject()` internally without triggering a warning to the end * user. One example is `useRoute()` in `vue-router`. */ export declare function hasInjectionContext(): boolean; export interface App { version: string; config: AppConfig; use(plugin: Plugin, ...options: Options): this; use(plugin: Plugin, options: Options): this; mixin(mixin: ComponentOptions): this; component(name: string): Component | undefined; component(name: string, component: Component): this; directive(name: string): Directive | undefined; directive(name: string, directive: Directive): this; mount(rootContainer: HostElement | string, isHydrate?: boolean, isSVG?: boolean): ComponentPublicInstance; unmount(): void; provide(key: InjectionKey | string, value: T): this; /** * Runs a function with the app as active instance. This allows using of `inject()` within the function to get access * to variables provided via `app.provide()`. * * @param fn - function to run with the app as active instance */ runWithContext(fn: () => T): T; _uid: number; _component: ConcreteComponent; _props: Data | null; _container: HostElement | null; _context: AppContext; _instance: ComponentInternalInstance | null; /** * v2 compat only */ filter?(name: string): Function | undefined; filter?(name: string, filter: Function): this; /* removed internal: _createRoot */ } export type OptionMergeFunction = (to: unknown, from: unknown) => any; export interface AppConfig { readonly isNativeTag?: (tag: string) => boolean; performance: boolean; optionMergeStrategies: Record; globalProperties: ComponentCustomProperties & Record; errorHandler?: (err: unknown, instance: ComponentPublicInstance | null, info: string) => void; warnHandler?: (msg: string, instance: ComponentPublicInstance | null, trace: string) => void; /** * Options to pass to `@vue/compiler-dom`. * Only supported in runtime compiler build. */ compilerOptions: RuntimeCompilerOptions; /** * @deprecated use config.compilerOptions.isCustomElement */ isCustomElement?: (tag: string) => boolean; /** * Temporary config for opt-in to unwrap injected refs. * @deprecated this no longer has effect. 3.3 always unwraps injected refs. */ unwrapInjectedRef?: boolean; } export interface AppContext { app: App; config: AppConfig; mixins: ComponentOptions[]; components: Record; directives: Record; provides: Record; /* removed internal: optionsCache */ /* removed internal: propsCache */ /* removed internal: emitsCache */ /* removed internal: reload */ /* removed internal: filters */ } type PluginInstallFunction = Options extends unknown[] ? (app: App, ...options: Options) => any : (app: App, options: Options) => any; export type Plugin = (PluginInstallFunction & { install?: PluginInstallFunction; }) | { install: PluginInstallFunction; }; export type CreateAppFunction = (rootComponent: Component, rootProps?: Data | null) => App; type Hook void> = T | T[]; export interface BaseTransitionProps { mode?: 'in-out' | 'out-in' | 'default'; appear?: boolean; persisted?: boolean; onBeforeEnter?: Hook<(el: HostElement) => void>; onEnter?: Hook<(el: HostElement, done: () => void) => void>; onAfterEnter?: Hook<(el: HostElement) => void>; onEnterCancelled?: Hook<(el: HostElement) => void>; onBeforeLeave?: Hook<(el: HostElement) => void>; onLeave?: Hook<(el: HostElement, done: () => void) => void>; onAfterLeave?: Hook<(el: HostElement) => void>; onLeaveCancelled?: Hook<(el: HostElement) => void>; onBeforeAppear?: Hook<(el: HostElement) => void>; onAppear?: Hook<(el: HostElement, done: () => void) => void>; onAfterAppear?: Hook<(el: HostElement) => void>; onAppearCancelled?: Hook<(el: HostElement) => void>; } export interface TransitionHooks { mode: BaseTransitionProps['mode']; persisted: boolean; beforeEnter(el: HostElement): void; enter(el: HostElement): void; leave(el: HostElement, remove: () => void): void; clone(vnode: VNode): TransitionHooks; afterLeave?(): void; delayLeave?(el: HostElement, earlyRemove: () => void, delayedLeave: () => void): void; delayedLeave?(): void; } export interface TransitionState { isMounted: boolean; isLeaving: boolean; isUnmounting: boolean; leavingVNodes: Map>; } export declare function useTransitionState(): TransitionState; export declare const BaseTransitionPropsValidators: { mode: StringConstructor; appear: BooleanConstructor; persisted: BooleanConstructor; onBeforeEnter: (ArrayConstructor | FunctionConstructor)[]; onEnter: (ArrayConstructor | FunctionConstructor)[]; onAfterEnter: (ArrayConstructor | FunctionConstructor)[]; onEnterCancelled: (ArrayConstructor | FunctionConstructor)[]; onBeforeLeave: (ArrayConstructor | FunctionConstructor)[]; onLeave: (ArrayConstructor | FunctionConstructor)[]; onAfterLeave: (ArrayConstructor | FunctionConstructor)[]; onLeaveCancelled: (ArrayConstructor | FunctionConstructor)[]; onBeforeAppear: (ArrayConstructor | FunctionConstructor)[]; onAppear: (ArrayConstructor | FunctionConstructor)[]; onAfterAppear: (ArrayConstructor | FunctionConstructor)[]; onAppearCancelled: (ArrayConstructor | FunctionConstructor)[]; }; export declare const BaseTransition: new () => { $props: BaseTransitionProps; $slots: { default(): VNode[]; }; }; export declare function resolveTransitionHooks(vnode: VNode, props: BaseTransitionProps, state: TransitionState, instance: ComponentInternalInstance): TransitionHooks; export declare function setTransitionHooks(vnode: VNode, hooks: TransitionHooks): void; export declare function getTransitionRawChildren(children: VNode[], keepComment?: boolean, parentKey?: VNode['key']): VNode[]; type TeleportVNode = VNode; export interface TeleportProps { to: string | RendererElement | null | undefined; disabled?: boolean; } declare const TeleportImpl: { __isTeleport: boolean; process(n1: TeleportVNode | null, n2: TeleportVNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, isSVG: boolean, slotScopeIds: string[] | null, optimized: boolean, internals: RendererInternals): void; remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, optimized: boolean, { um: unmount, o: { remove: hostRemove } }: RendererInternals, doRemove: Boolean): void; move: typeof moveTeleport; hydrate: typeof hydrateTeleport; }; declare const enum TeleportMoveTypes { TARGET_CHANGE = 0, TOGGLE = 1, REORDER = 2 } declare function moveTeleport(vnode: VNode, container: RendererElement, parentAnchor: RendererNode | null, { o: { insert }, m: move }: RendererInternals, moveType?: TeleportMoveTypes): void; declare function hydrateTeleport(node: Node, vnode: TeleportVNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean, { o: { nextSibling, parentNode, querySelector } }: RendererInternals, hydrateChildren: (node: Node | null, vnode: VNode, container: Element, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null; export declare const Teleport: { new (): { $props: VNodeProps & TeleportProps; $slots: { default(): VNode[]; }; }; __isTeleport: true; }; /** * @private */ export declare function resolveComponent(name: string, maybeSelfReference?: boolean): ConcreteComponent | string; declare const NULL_DYNAMIC_COMPONENT: unique symbol; /** * @private */ export declare function resolveDynamicComponent(component: unknown): VNodeTypes; /** * @private */ export declare function resolveDirective(name: string): Directive | undefined; /* removed internal: resolveFilter$1 */ export declare const Fragment: { new (): { $props: VNodeProps; }; __isFragment: true; }; export declare const Text: unique symbol; export declare const Comment: unique symbol; export declare const Static: unique symbol; export type VNodeTypes = string | VNode | Component | typeof Text | typeof Static | typeof Comment | typeof Fragment | typeof Teleport | typeof TeleportImpl | typeof Suspense | typeof SuspenseImpl; export type VNodeRef = string | Ref | ((ref: Element | ComponentPublicInstance | null, refs: Record) => void); type VNodeNormalizedRefAtom = { i: ComponentInternalInstance; r: VNodeRef; k?: string; f?: boolean; }; type VNodeNormalizedRef = VNodeNormalizedRefAtom | VNodeNormalizedRefAtom[]; type VNodeMountHook = (vnode: VNode) => void; type VNodeUpdateHook = (vnode: VNode, oldVNode: VNode) => void; export type VNodeProps = { key?: string | number | symbol; ref?: VNodeRef; ref_for?: boolean; ref_key?: string; onVnodeBeforeMount?: VNodeMountHook | VNodeMountHook[]; onVnodeMounted?: VNodeMountHook | VNodeMountHook[]; onVnodeBeforeUpdate?: VNodeUpdateHook | VNodeUpdateHook[]; onVnodeUpdated?: VNodeUpdateHook | VNodeUpdateHook[]; onVnodeBeforeUnmount?: VNodeMountHook | VNodeMountHook[]; onVnodeUnmounted?: VNodeMountHook | VNodeMountHook[]; }; type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void; export type VNodeArrayChildren = Array; export type VNodeChild = VNodeChildAtom | VNodeArrayChildren; export type VNodeNormalizedChildren = string | VNodeArrayChildren | RawSlots | null; export interface VNode { /* removed internal: __v_isVNode */ type: VNodeTypes; props: (VNodeProps & ExtraProps) | null; key: string | number | symbol | null; ref: VNodeNormalizedRef | null; /** * SFC only. This is assigned on vnode creation using currentScopeId * which is set alongside currentRenderingInstance. */ scopeId: string | null; /* removed internal: slotScopeIds */ children: VNodeNormalizedChildren; component: ComponentInternalInstance | null; dirs: DirectiveBinding[] | null; transition: TransitionHooks | null; el: HostNode | null; anchor: HostNode | null; target: HostElement | null; targetAnchor: HostNode | null; /* removed internal: staticCount */ suspense: SuspenseBoundary | null; /* removed internal: ssContent */ /* removed internal: ssFallback */ shapeFlag: number; patchFlag: number; /* removed internal: dynamicProps */ /* removed internal: dynamicChildren */ appContext: AppContext | null; /* removed internal: ctx */ /* removed internal: memo */ /* removed internal: isCompatRoot */ /* removed internal: ce */ } /** * Open a block. * This must be called before `createBlock`. It cannot be part of `createBlock` * because the children of the block are evaluated before `createBlock` itself * is called. The generated code typically looks like this: * * ```js * function render() { * return (openBlock(),createBlock('div', null, [...])) * } * ``` * disableTracking is true when creating a v-for fragment block, since a v-for * fragment always diffs its children. * * @private */ export declare function openBlock(disableTracking?: boolean): void; /** * Block tracking sometimes needs to be disabled, for example during the * creation of a tree that needs to be cached by v-once. The compiler generates * code like this: * * ``` js * _cache[1] || ( * setBlockTracking(-1), * _cache[1] = createVNode(...), * setBlockTracking(1), * _cache[1] * ) * ``` * * @private */ export declare function setBlockTracking(value: number): void; /** * @private */ export declare function createElementBlock(type: string | typeof Fragment, props?: Record | null, children?: any, patchFlag?: number, dynamicProps?: string[], shapeFlag?: number): VNode; /** * Create a block root vnode. Takes the same exact arguments as `createVNode`. * A block root keeps track of dynamic nodes within the block in the * `dynamicChildren` array. * * @private */ export declare function createBlock(type: VNodeTypes | ClassComponent, props?: Record | null, children?: any, patchFlag?: number, dynamicProps?: string[]): VNode; export declare function isVNode(value: any): value is VNode; declare let vnodeArgsTransformer: ((args: Parameters, instance: ComponentInternalInstance | null) => Parameters) | undefined; /** * Internal API for registering an arguments transform for createVNode * used for creating stubs in the test-utils * It is *internal* but needs to be exposed for test-utils to pick up proper * typings */ export declare function transformVNodeArgs(transformer?: typeof vnodeArgsTransformer): void; 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; export declare const createVNode: typeof _createVNode; declare function _createVNode(type: VNodeTypes | ClassComponent | typeof NULL_DYNAMIC_COMPONENT, props?: (Data & VNodeProps) | null, children?: unknown, patchFlag?: number, dynamicProps?: string[] | null, isBlockNode?: boolean): VNode; export declare function guardReactiveProps(props: (Data & VNodeProps) | null): (Data & VNodeProps) | null; export declare function cloneVNode(vnode: VNode, extraProps?: (Data & VNodeProps) | null, mergeRef?: boolean): VNode; /** * @private */ export declare function createTextVNode(text?: string, flag?: number): VNode; /** * @private */ export declare function createStaticVNode(content: string, numberOfNodes: number): VNode; /** * @private */ export declare function createCommentVNode(text?: string, asBlock?: boolean): VNode; declare function normalizeVNode(child: VNodeChild): VNode; export declare function mergeProps(...args: (Data & VNodeProps)[]): Data; type Data = Record; /** * For extending allowed non-declared props on components in TSX */ export interface ComponentCustomProps { } /** * Default allowed non-declared props on component in TSX */ export interface AllowedComponentProps { class?: unknown; style?: unknown; } interface ComponentInternalOptions { /* removed internal: __scopeId */ /* removed internal: __cssModules */ /* removed internal: __hmrId */ /** * Compat build only, for bailing out of certain compatibility behavior */ __isBuiltIn?: boolean; /** * This one should be exposed so that devtools can make use of it */ __file?: string; /** * name inferred from filename */ __name?: string; } export interface FunctionalComponent

= any> extends ComponentInternalOptions { (props: P, ctx: Omit>>, 'expose'>): any; props?: ComponentPropsOptions

; emits?: E | (keyof E)[]; slots?: IfAny>; inheritAttrs?: boolean; displayName?: string; compatConfig?: CompatConfig; } interface ClassComponent { new (...args: any[]): ComponentPublicInstance; __vccOpts: ComponentOptions; } /** * Concrete component type matches its actual value: it's either an options * object, or a function. Use this where the code expects to work with actual * values, e.g. checking if its a function or not. This is mostly for internal * implementation code. */ export type ConcreteComponent = ComponentOptions | FunctionalComponent; /** * A type used in public APIs where a component type is expected. * The constructor type is an artificial type returned by defineComponent(). */ export type Component = ConcreteComponent | ComponentPublicInstanceConstructor; type LifecycleHook = TFn[] | null; export type SetupContext = E extends any ? { attrs: Data; slots: UnwrapSlotsType; emit: EmitFn; expose: (exposed?: Record) => void; } : never; /* removed internal: InternalRenderFunction */ /** * We expose a subset of properties on the internal instance as they are * useful for advanced external libraries and tools. */ export interface ComponentInternalInstance { uid: number; type: ConcreteComponent; parent: ComponentInternalInstance | null; root: ComponentInternalInstance; appContext: AppContext; /** * Vnode representing this component in its parent's vdom tree */ vnode: VNode; /* removed internal: next */ /** * Root vnode of this component's own vdom tree */ subTree: VNode; /** * Render effect instance */ effect: ReactiveEffect; /** * Bound effect runner to be passed to schedulers */ update: SchedulerJob; /* removed internal: render */ /* removed internal: ssrRender */ /* removed internal: provides */ /* removed internal: scope */ /* removed internal: accessCache */ /* removed internal: renderCache */ /* removed internal: components */ /* removed internal: directives */ /* removed internal: filters */ /* removed internal: propsOptions */ /* removed internal: emitsOptions */ /* removed internal: inheritAttrs */ /* removed internal: isCE */ /* removed internal: ceReload */ proxy: ComponentPublicInstance | null; exposed: Record | null; exposeProxy: Record | null; /* removed internal: withProxy */ /* removed internal: ctx */ data: Data; props: Data; attrs: Data; slots: InternalSlots; refs: Data; emit: EmitFn; attrsProxy: Data | null; slotsProxy: Slots | null; /* removed internal: emitted */ /* removed internal: propsDefaults */ /* removed internal: setupState */ /* removed internal: devtoolsRawSetupState */ /* removed internal: setupContext */ /* removed internal: suspense */ /* removed internal: suspenseId */ /* removed internal: asyncDep */ /* removed internal: asyncResolved */ isMounted: boolean; isUnmounted: boolean; isDeactivated: boolean; /* removed internal: f */ /* removed internal: n */ /* removed internal: ut */ } declare function createComponentInstance(vnode: VNode, parent: ComponentInternalInstance | null, suspense: SuspenseBoundary | null): ComponentInternalInstance; export declare const getCurrentInstance: () => ComponentInternalInstance | null; declare function setupComponent(instance: ComponentInternalInstance, isSSR?: boolean): Promise | undefined; /** * For runtime-dom to register the compiler. * Note the exported method uses any to avoid d.ts relying on the compiler types. */ export declare function registerRuntimeCompiler(_compile: any): void; export declare const isRuntimeOnly: () => boolean; export type WatchEffect = (onCleanup: OnCleanup) => void; export type WatchSource = Ref | ComputedRef | (() => T); export type WatchCallback = (value: V, oldValue: OV, onCleanup: OnCleanup) => any; type MapSources = { [K in keyof T]: T[K] extends WatchSource ? Immediate extends true ? V | undefined : V : T[K] extends object ? Immediate extends true ? T[K] | undefined : T[K] : never; }; type OnCleanup = (cleanupFn: () => void) => void; export interface WatchOptionsBase extends DebuggerOptions { flush?: 'pre' | 'post' | 'sync'; } export interface WatchOptions extends WatchOptionsBase { immediate?: Immediate; deep?: boolean; } export type WatchStopHandle = () => void; export declare function watchEffect(effect: WatchEffect, options?: WatchOptionsBase): WatchStopHandle; export declare function watchPostEffect(effect: WatchEffect, options?: DebuggerOptions): WatchStopHandle; export declare function watchSyncEffect(effect: WatchEffect, options?: DebuggerOptions): WatchStopHandle; type MultiWatchSources = (WatchSource | object)[]; export declare function watch = false>(sources: [...T], cb: WatchCallback, MapSources>, options?: WatchOptions): WatchStopHandle; export declare function watch, Immediate extends Readonly = false>(source: T, cb: WatchCallback, MapSources>, options?: WatchOptions): WatchStopHandle; export declare function watch = false>(source: WatchSource, cb: WatchCallback, options?: WatchOptions): WatchStopHandle; export declare function watch = false>(source: T, cb: WatchCallback, options?: WatchOptions): WatchStopHandle; type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps; type ResolveProps = Readonly : PropsOrPropOptions> & ({} extends E ? {} : EmitsToProps); export type DefineComponent, Defaults = ExtractDefaultPropTypes, S extends SlotsType = {}> = ComponentPublicInstanceConstructor & Props> & ComponentOptionsBase & PP; export declare function defineComponent, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext) => RenderFunction | Promise, options?: Pick & { props?: (keyof Props)[]; emits?: E | EE[]; slots?: S; }): (props: Props & EmitsToProps) => any; export declare function defineComponent, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext) => RenderFunction | Promise, options?: Pick & { props?: ComponentObjectPropsOptions; emits?: E | EE[]; slots?: S; }): (props: Props & EmitsToProps) => any; export declare function defineComponent(options: ComponentOptionsWithoutProps): DefineComponent, ExtractDefaultPropTypes, S>; export declare function defineComponent>(options: ComponentOptionsWithArrayProps): DefineComponent, ExtractDefaultPropTypes, S>; export declare function defineComponent, 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): DefineComponent, ExtractDefaultPropTypes, S>; type AsyncComponentResolveResult = T | { default: T; }; export type AsyncComponentLoader = () => Promise>; export interface AsyncComponentOptions { loader: AsyncComponentLoader; loadingComponent?: Component; errorComponent?: Component; delay?: number; timeout?: number; suspensible?: boolean; onError?: (error: Error, retry: () => void, fail: () => void, attempts: number) => any; } export declare function defineAsyncComponent(source: AsyncComponentLoader | AsyncComponentOptions): T; /** * Vue `