import { VNode, VNodeProps, VNodeEvents } from '../types';
export declare const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
export declare class MostlyVNode<T extends Node> implements VNode<T> {
    tagName: string | undefined;
    props: VNodeProps<Element>;
    children: Array<VNode> | undefined;
    element: T | undefined;
    text: string | undefined;
    key: string | number | undefined;
    scope: string | undefined;
    namespace: string | undefined;
    parent: MostlyVNode<Element> | undefined;
    constructor(tagName: string | undefined, props: VNodeProps<Element>, children: Array<VNode> | undefined, element: T | undefined, text: string | undefined, key: string | number | undefined, scope: string | undefined, namespace: string | undefined);
    static create(tagName: string | undefined, props: VNodeProps<Element>, children: Array<VNode> | undefined, text: string | undefined): MostlyVNode<Node>;
    static createText(text: string): MostlyVNode<Text>;
    static createSvg(tagName: string | undefined, props: VNodeProps<SVGElement, VNodeEvents<SVGElement, SVGElementEventMap>>, children: Array<VNode> | undefined, text: string | undefined): MostlyVNode<SVGElement>;
}
export declare function addSvgNamespace(vNode: MostlyVNode<Node>): void;
