import { CoreHtmlComponent } from "./CoreHtmlComponent";
import { IHtmlNode } from "../html-node";
import { Binding } from "./Binding";
import { CoreHtmlFile } from "./CoreHtmlFile";
import IndentedWriter from "./IndentedWriter";
export declare class WANode {
parent: WAElement;
name?: string;
readonly atomParent: WAComponent;
readonly namedParent: WAComponent;
constructor(parent: WAElement, name?: string);
readonly coreHtmlFile: CoreHtmlFile;
write(iw: IndentedWriter): void;
}
export declare class WAAttribute extends WANode {
binding: Binding;
value: string;
template: string;
write(iw: IndentedWriter): void;
}
export declare class WAElement extends WANode {
protected element: IHtmlNode;
static tid: number;
attributes: WAAttribute[];
children: WAElement[];
presenterParent: {
name: string;
parent: WAComponent;
};
id: string;
readonly eid: string;
constructor(p: WAElement, element: IHtmlNode, name?: string);
addChild(child: WAElement): void;
setAttribute(name: string, value: string, tn?: string): void;
parseNode(e: IHtmlNode): void;
processTagName(e: IHtmlNode): void;
resolveNames(c: CoreHtmlComponent): void;
writePresenter(iw: IndentedWriter): void;
writeAttributes(iw: IndentedWriter): void;
writeChildren(iw: IndentedWriter): void;
write(iw: IndentedWriter): void;
}
export declare class WATextElement extends WAElement {
constructor(p: WAElement, e: IHtmlNode);
write(iw: IndentedWriter): void;
}
export declare class WAComment extends WAElement {
write(iw: IndentedWriter): void;
}
export declare class WAComponent extends WAElement {
protected element: IHtmlNode;
name: string;
baseType?: string;
ids: number;
export: boolean;
properties: Array<{
key: string;
value: string;
type?: string;
v2?: boolean;
}>;
presenters: Array<{
key: string;
value: string;
}>;
injects: Array<{
key: string;
type: string;
}>;
readonly templates: WAComponent[];
private mTemplates;
constructor(p: WAElement, element: IHtmlNode, name: string, baseType?: string);
resolveNames(e: CoreHtmlComponent): void;
write(iw: IndentedWriter): void;
writeNamedComponent(iw: IndentedWriter): void;
writeComponent(iw: IndentedWriter): void;
}
//# sourceMappingURL=WAComponents.d.ts.map