import { VNode } from 'snabbdom/vnode'; import { Observable } from 'rxjs'; /** * Renders the layout. * @export * @class Renderer */ export declare class Renderer { private _rendered; private _lastVNode; private _containerEl; private _nodeGenerator; private _mountPoint; private _document; private _patch; /** * Notifies when a render cycle has finished. * @type {Observable} */ rendered: Observable; /** * Initializes the renderer with the containing DOM element to mount to. * @param {Node} containerEl */ initialize(): void; setContainer(containerEl: Node): void; /** * Sets a the function that generates the virtual DOM tree. * @param {function(): VNode} fn */ useNodeGenerator(fn: () => VNode): void; /** * Updates the DOM with the current state of the renderable tree. * @returns {void} */ render(): void; /** * Destroys the renderer. */ destroy(): void; /** * Resets the render state. A full rerender of the DOM will apply on the next render. */ reset(): void; /** * Detatches the renderer and it's DOM node from the containing element. */ detach(): void; }