import Bind from "./Bind"; import { IClassOf } from "./types"; export interface IAttributes { [key: string]: string | number | null | any; } export declare class RootObject { get vsProps(): { [k in keyof this]?: this[k] | Bind; } | { [k: string]: any; } | {}; } declare global { namespace JSX { interface ElementAttributesProperty { vsProps: any; } type HtmlPartial = { [k in keyof T]?: { [tx in keyof T[k]]?: T[k][tx] | any; } | { eventClick?: any; eventBlur?: any; eventFocus?: any; text?: string | any; [key: string]: any; }; }; type IAllHtmlElements = HtmlPartial; interface IntrinsicElements extends IAllHtmlElements { } } } export declare type IMergedControl = { [P in keyof (T & T1)]?: (T & T1)[P]; } & { vsProps: { [P in keyof (T & T1)]?: (T & T1)[P]; }; }; export declare type NodeFactory = (a?: any, ...nodes: XNode[]) => XNode; export declare type AttachedNode = (n: any) => { [key: string]: any; }; export default class XNode { name: string | Function; attributes: IAttributes; children: XNode[] | XNode[][] | any[]; isProperty?: boolean; isTemplate?: boolean; static attach(n: IClassOf, tag: K): new (...a: any[]) => IMergedControl; static attach(n: IClassOf, tag: (a?: Partial, ...nodes: XNode[]) => XNode): new (...a: any[]) => IMergedControl; static prepare(n: any, isProperty?: boolean, isTemplate?: boolean): ((attributes: Partial, ...nodes: XNode[]) => XNode); static template(): NodeFactory; /** * This is only for intellisense... */ static attached(): AttachedNode; static property(): NodeFactory; /** * Declares Root Namespace and Assembly. You can use return function to * to declare the type * @param ns Root Namespace */ static namespace(ns: string, assemblyName: string): (type: string, isTemplate?: boolean) => (c: any) => void; static create(name: string | Function, attributes: IAttributes, ...children: Array): XNode; constructor(name: string | Function, attributes: IAttributes, children: XNode[] | XNode[][] | any[], isProperty?: boolean, isTemplate?: boolean); toString(): string; } //# sourceMappingURL=XNode.d.ts.map