import { ComponentClass, Props, VNodeComponentClass, IntactDom, VNode, TypeDefs } from 'misstime'; import { SetOptions, InjectionKey, LifecycleEvents } from '../utils/types'; import { Event } from './event'; import { Template } from 'vdt'; import { WatchOptions } from './watch'; export declare let currentInstance: Component | null; export declare function useInstance(): Component | null; export declare function setInstance(instance: Component | null): void; declare type NoInfer = [T][T extends any ? 0 : never]; export declare abstract class Component

extends Event>> implements ComponentClass

{ static readonly template: Template | string; static readonly defaults: () => object; static readonly typeDefs?: TypeDefs; static readonly displayName?: string; refs: Record; $props: Props; $SVG: boolean; $vNode: VNodeComponentClass; $senior: Component | null; $mountedQueue: Function[]; $lastInput: VNode | null; $blockRender: boolean; $queue: Function[] | null; $pendingQueue: Function[] | null; $provides: Record | null; $uid: number; $inited: boolean; $rendered: boolean; $mounted: boolean; $unmounted: boolean; $template: Template; private triggerReceiveEvents; constructor(props: Props> | null | undefined, $vNode: VNodeComponentClass, $SVG: boolean, $mountedQueue: Function[], $senior: ComponentClass | null); $init(props: Props | null): void; $render(lastVNode: VNodeComponentClass | null, nextVNode: VNodeComponentClass, parentDom: Element, anchor: IntactDom | null, mountedQueue: Function[]): void; $mount(lastVNode: VNodeComponentClass | null, nextVNode: VNodeComponentClass): void; $update(lastVNode: VNodeComponentClass, nextVNode: VNodeComponentClass, parentDom: Element, anchor: IntactDom | null, mountedQueue: Function[], force: boolean): void; $unmount(vNode: VNodeComponentClass, nextVNode: VNodeComponentClass | null): void; init?(props: Props> | null | undefined): any; beforeMount?(lastVNode: VNodeComponentClass | null, nextVNode: VNodeComponentClass): void; mounted?(lastVNode: VNodeComponentClass | null, nextVNode: VNodeComponentClass): void; beforeUpdate?(lastVNode: VNodeComponentClass, nextVNode: VNodeComponentClass): void; updated?(lastVNode: VNodeComponentClass, nextVNode: VNodeComponentClass): void; beforeUnmount?(vNode: VNodeComponentClass, nextVNode: VNodeComponentClass | null): void; unmounted?(vNode: VNodeComponentClass, nextVNode: VNodeComponentClass | null): void; set(key: K, value: P[K], options?: SetOptions): void; set(key: K, value: T[K], options?: SetOptions): void; set(key: string, value: NoInfer, options?: SetOptions): void; set(data: Pick, options?: SetOptions): void; set(data: Partial

& NoInfer, options?: SetOptions): void; set(data: NoInfer, options?: SetOptions): void; get(): Props; get>(key: K): Props[K]; get(key: V extends void ? never : string): V; forceUpdate(callback?: Function): void; trigger(name: K, ...args: any[] & E[K]): void; watch>(key: K, callback: (newValue: Props[K], oldValue: Props[K] | undefined) => void, options?: WatchOptions): void; } export {};