export interface Handler { (evt: T, elem: uElement): void; } export interface RenderHandler { (node: HTMLElement, elem: uElement): void; } export interface uElement { t?: string; c?: string; id?: string; parent?: string; children?: uElement[]; ix?: number; key?: string; dirty?: boolean; semantic?: string; tween?: any; enter?: any; leave?: any; debug?: any; contentEditable?: boolean; checked?: boolean; draggable?: boolean; spellcheck?: boolean; href?: string; src?: string; data?: any; download?: string; allowfullscreen?: boolean; placeholder?: string; selected?: boolean; tabindex?: number; text?: string; strictText?: boolean; type?: string; value?: string; dangerouslySetInnerHTML?: string; target?: string; style?: string; flex?: number | string; left?: number | string; top?: number | string; width?: number | string; height?: number | string; textAlign?: string; transform?: string; verticalAlign?: string; zIndex?: number; backgroundColor?: string; backgroundImage?: string; border?: string; borderColor?: string; borderWidth?: number | string; borderRadius?: number | string; color?: string; colspan?: number; fontFamily?: string; fontSize?: string; opacity?: number; svg?: boolean; x?: number | string; y?: number | string; dx?: number | string; dy?: number | string; cx?: number | string; cy?: number | string; r?: number | string; d?: number | string; fill?: string; stroke?: string; strokeWidth?: string; startOffset?: number | string; textAnchor?: string; viewBox?: string; xlinkhref?: string; dblclick?: Handler; click?: Handler; contextmenu?: Handler; mousedown?: Handler; mousemove?: Handler; mouseup?: Handler; mouseover?: Handler; mouseout?: Handler; mouseleave?: Handler; mousewheel?: Handler; dragover?: Handler; dragstart?: Handler; dragend?: Handler; drag?: Handler; drop?: Handler; scroll?: Handler; focus?: Handler; blur?: Handler; input?: Handler; change?: Handler; keyup?: Handler; keydown?: Handler; cut?: Handler; copy?: Handler; paste?: Handler; postRender?: RenderHandler; [attr: string]: any; } export declare class Renderer { static _compileRenderer: { [id: string]: Renderer; }; static compile(elem: uElement): HTMLElement | undefined; content: HTMLElement; elementCache: { [id: string]: HTMLElement | undefined; }; prevTree: { [id: string]: uElement; }; tree: { [id: string]: uElement; }; postRenders: uElement[]; lastDiff: { adds: string[]; updates: {}; }; queued: boolean; handleEvent: (any); constructor(); reset(): void; domify(): void; diff(): { adds: string[]; updates: {}; }; prepare(root: uElement): { [id: string]: uElement; }; postDomify(): void; render(elems: uElement[]): void; }