import type VNode from 'core/vdom/vnode'
import type Watcher from 'core/observer/watcher'
import { ComponentOptions } from './options'
import { SetupContext } from 'v3/apiSetup'
import { ScopedSlotsData, VNodeChildren, VNodeData } from './vnode'
import { GlobalAPI } from './global-api'
import { EffectScope } from 'v3/reactivity/effectScope'
export declare class Component {
constructor(options?: any)
// constructor information
static cid: number
static options: Record<string, any>
// extend
static extend: GlobalAPI['extend']
static superOptions: Record<string, any>
static extendOptions: Record<string, any>
static sealedOptions: Record<string, any>
static super: typeof Component
// assets
static directive: GlobalAPI['directive']
static component: GlobalAPI['component']
static filter: GlobalAPI['filter']
// functional context constructor
static FunctionalRenderContext: Function
static mixin: GlobalAPI['mixin']
static use: GlobalAPI['use']
// public properties
$el: any // so that we can attach __vue__ to it
$data: Record<string, any>
$props: Record<string, any>
$options: ComponentOptions
$parent: Component | undefined
$root: Component
$children: Array<Component>
$refs: {
[key: string]: Component | Element | Array<Component | Element> | undefined
}
$slots: { [key: string]: Array<VNode> }
$scopedSlots: { [key: string]: () => VNode[] | undefined }
$vnode: VNode
$attrs: { [key: string]: string }
$listeners: Record<string, Function | Array<Function>>
$isServer: boolean
$mount: (
el?: Element | string,
hydrating?: boolean
) => Component & { [key: string]: any }
$forceUpdate: () => void
$destroy: () => void
$set: <T>(
target: Record<string, any> | Array<T>,
key: string | number,
val: T
) => T
$delete: <T>(
target: Record<string, any> | Array<T>,
key: string | number
) => void
$watch: (
expOrFn: string | (() => any),
cb: Function,
options?: Record<string, any>
) => Function
$on: (event: string | Array<string>, fn: Function) => Component
$once: (event: string, fn: Function) => Component
$off: (event?: string | Array<string>, fn?: Function) => Component
$emit: (event: string, ...args: Array<any>) => Component
$nextTick: (fn: (...args: any[]) => any) => void | Promise<any>
$createElement: (
tag?: string | Component,
data?: Record<string, any>,
children?: VNodeChildren
) => VNode
_uid: number | string
_name: string
_isVue: true
__v_skip: true
_self: Component
_renderProxy: Component
_renderContext?: Component
_watcher: Watcher | null
_scope: EffectScope
_computedWatchers: { [key: string]: Watcher }
_data: Record<string, any>
_props: Record<string, any>
_events: Record<string, any>
_inactive: boolean | null
_directInactive: boolean
_isMounted: boolean
_isDestroyed: boolean
_isBeingDestroyed: boolean
_vnode?: VNode | null
_staticTrees?: Array<VNode> | null
_hasHookEvent: boolean
_provided: Record<string, any>
_setupState?: Record<string, any>
_setupProxy?: Record<string, any>
_setupContext?: SetupContext
_attrsProxy?: Record<string, any>
_listenersProxy?: Record<string, Function | Function[]>
_slotsProxy?: Record<string, () => VNode[]>
_preWatchers?: Watcher[]
_init: Function
_mount: (el?: Element | void, hydrating?: boolean) => Component
_update: (vnode: VNode, hydrating?: boolean) => void
_render: () => VNode
__patch__: (
a: Element | VNode | void | null,
b: VNode | null,
hydrating?: boolean,
removeOnly?: boolean,
parentElm?: any,
refElm?: any
) => any
_c: (
vnode?: VNode,
data?: VNodeData,
children?: VNodeChildren,
normalizationType?: number
) => VNode | void
_m: (index: number, isInFor?: boolean) => VNode | VNodeChildren
_o: (
vnode: VNode | Array<VNode>,
index: number,
key: string
) => VNode | VNodeChildren
_s: (value: any) => string
_v: (value: string | number) => VNode
_n: (value: string) => number | string
_e: () => VNode
_q: (a: any, b: any) => boolean
_i: (arr: Array<any>, val: any) => number
_f: (id: string) => Function
_l: (val: any, render: Function) => Array<VNode> | null
_t: (
name: string,
fallback?: Array<VNode>,
props?: Record<string, any>
) => Array<VNode> | null
_b: (
data: any,
tag: string,
value: any,
asProp: boolean,
isSync?: boolean
) => VNodeData
_g: (data: any, value: any) => VNodeData
_k: (
eventKeyCode: number,
key: string,
builtInAlias?: number | Array<number>,
eventKeyName?: string
) => boolean | null
_u: (
scopedSlots: ScopedSlotsData,
res?: Record<string, any>
) => { [key: string]: Function }
_ssrNode: Function
_ssrList: Function
_ssrEscape: Function
_ssrAttr: Function
_ssrAttrs: Function
_ssrDOMProps: Function
_ssrClass: Function
_ssrStyle: Function
}