UNPKG

mostly-dom

Version:
19 lines (18 loc) 1.4 kB
import { HtmlTagNames, SvgTagNames, VNode, VNodeProps } from '../types'; export declare const h: HyperscriptFn; export declare type VNodeChildren = string | number | null | VNode; export declare type HyperscriptChildren = VNodeChildren | ArrayLike<VNodeChildren> | ArrayLike<VNodeChildren | ArrayLike<VNodeChildren>> | ArrayLike<ArrayLike<VNodeChildren>>; export interface ComponentFn { (props: VNodeProps, children: Array<string | null | VNode>): VNode; } export declare type ValidTagNames = HtmlTagNames | SvgTagNames | ComponentFn; export interface HyperscriptFn { (tagName: ValidTagNames): VNode; (tagName: ValidTagNames, props: VNodeProps<any>): VNode; (tagName: ValidTagNames, children: HyperscriptChildren): VNode; (tagName: ValidTagNames, props: VNodeProps<any>, children: HyperscriptChildren): VNode; <T extends Node, Props extends VNodeProps<Element> = VNodeProps<Element>>(tagName: ValidTagNames): VNode<T, Props>; <T extends Node, Props extends VNodeProps<Element> = VNodeProps<Element>>(tagName: ValidTagNames, props: Props): VNode<T>; <T extends Node, Props extends VNodeProps<Element> = VNodeProps<Element>>(tagName: ValidTagNames, children: HyperscriptChildren): VNode<T, Props>; <T extends Node, Props extends VNodeProps<Element> = VNodeProps<Element>>(tagName: ValidTagNames, props: Props, children: HyperscriptChildren): VNode<T, Props>; }