import { jsxmlComponent } from "./jsxmlComponent";
import { jsxmlAttr } from "./jsxmlAttr";
import { jsxmlAttributes } from "./jsxmlAttributes";
import { jsxmlNode } from "./jsxmlNode";
import { DOMSource, ElementSource } from "./types";
import { jsxmlComponentVisitor } from "./jsxmlComponentVisitor";
export declare class jsxmlVisitor implements jsxmlComponentVisitor {
    /**
     * componentの入れ子状況
     */
    private _lineage;
    /**
     * Cellをソースに持つcomponentの配列
     */
    private _listening;
    /**
     * Stream::listenの戻り値。
     */
    private _unlisten;
    constructor();
    get context(): jsxmlComponent;
    visitCell(c: jsxmlComponent): void;
    buildNode(s: DOMSource, p: ParentNode): void;
    buildElement(source: ElementSource, p: ParentNode): void;
    visitNode(o: jsxmlNode): void;
    visitAttributes(attrs: jsxmlAttributes): void;
    visitAttr(attr: jsxmlAttr): void;
    detach(): void;
}
