import { VNodeElement, VNodeTextElement, ComponentConstructor, ComponentFunction, VNode as IVNode, Props, Ref, Key, Children, Types, ChildrenTypes, IntactDom, VNodeTag, VNodeProps, VNodeChildren, VNodeRef, TransitionHooks, TransitionPosition, Hooks } from '../utils/types'; export declare class VNode implements IVNode { dom: IntactDom | null; type: Types; tag: T; childrenType: ChildrenTypes; props?: Readonly> | null; children?: VNodeChildren | null; className?: string | null; key: Key | null; ref: VNodeRef | null; isValidated?: boolean; transition: TransitionHooks | null; position: TransitionPosition | null; newPosition: TransitionPosition | null; hooks: Hooks | null; constructor(type: Types, tag: T, childrenType: ChildrenTypes, children?: VNodeChildren | null, className?: string | null, props?: VNodeProps | null, key?: Key | null, ref?: VNodeRef | null); } export declare function createVNode(tag: T, props?: VNodeProps | null, children?: Children | null): VNode; export declare function getTypeForVNodeElement(tag: string): Types; export declare function createElementVNode(type: Types, tag: string, children?: Children | null, childrenType?: ChildrenTypes | null, className?: string | null, props?: Props | null, key?: Key | null, ref?: Ref | null): VNodeElement; export declare function createComponentVNode(type: Types, tag: T, props: VNodeProps | null, key?: Key | null, ref?: VNodeRef | null): VNode; export declare function createUnknownComponentVNode(tag: T, props: VNodeProps | null, key?: Key | null, ref?: VNodeRef | null): VNode; export declare function createTextVNode(text: string | number, key?: Key | null): VNodeTextElement; export declare function createVoidVNode(): VNodeTextElement; export declare function createUnescapeTextVNode(text: string | number): VNodeTextElement; export declare function createCommentVNode(comment: string, key?: Key | null): VNodeTextElement; export declare function createFragment(children: Children, childrenType: ChildrenTypes, key?: Key | null): VNodeElement; export declare function directClone(vNode: T): T; export declare function normalizeChildren(vNode: VNode, children: Children): VNode; export declare function normalizeRoot(vNode: Children, parentVNode: VNode): VNode;