import type { FC } from '../jsx'; import type { PropertyPathItem, WatchHandler, WatchOptions } from '../vm'; import { type ComponentHost } from './component'; import type { RefValue } from './ref'; export declare function setCurrentComponentHost(component: ComponentHost | undefined): void; export declare function getCurrentComponentHost(): ComponentHost; /** 监听 vm 对象的 property 属性的变更。 */ export declare function watch(vm: T, property: P, handler: WatchHandler, options?: WatchOptions): void; /** 深度监听 vm 对象的任何变更 */ export declare function watch(vm: T, handler: WatchHandler, options?: { /** 是否立即执行监听回调函数,默认 false。 */ immediate?: boolean; }): void; /** 监听 vm 对象上的 property path 属性,即多层的子对象的属性。 */ export declare function watch(vm: T, propertyPath: PropertyPathItem[], handler: WatchHandler, options?: WatchOptions): void; export declare function onMount(fn: () => (() => void) | void): void; export declare function onUnmount(fn: () => void): void; export declare function context(key: string | symbol, value: T): void; export declare function context(key: string | symbol): T; export declare function expose(instance: RefValue[0]['ref']>): void; export declare function firstDOM(): Node; export declare function lastDOM(): Node;