import { HtmlTag } from './html-builder.utils';
export type TagAttributes = Record;
export declare class HtmlBuilder {
private tag;
private attributes;
private content;
private children;
constructor(tag: HtmlTag, attributes?: TagAttributes, content?: string);
getTag(): HtmlTag;
getAttributes(): TagAttributes;
setAttributes(attributes: TagAttributes): void;
getContent(): string;
setContent(content: string): void;
getChildren(): HtmlBuilder[];
setChildren(children: HtmlBuilder[]): void;
getChildByTag(tag: HtmlTag): HtmlBuilder | undefined;
getId(): string;
getChildById(id: string): HtmlBuilder | undefined;
createElement(tag: HtmlTag, attributes?: TagAttributes, content?: string): HtmlBuilder;
appendElement(element: HtmlBuilder): HtmlBuilder;
appendNewElement(tag: HtmlTag, attributes?: TagAttributes, content?: string): HtmlBuilder;
appendElementByTag(targetTag: HtmlTag, element: HtmlBuilder): HtmlBuilder;
appendNewElementByTag(targetTag: HtmlTag, tag: HtmlTag, attributes?: TagAttributes, content?: string): HtmlBuilder;
appendElementById(targetId: string, tag: HtmlTag, attributes?: TagAttributes, content?: string): HtmlBuilder;
setAttribute(key: string, value: string): HtmlBuilder;
setRecursiveAttribute(key: string, value: string, override?: boolean): HtmlBuilder;
setRecursiveStyle(key: string, value: string, override?: boolean): HtmlBuilder;
addRecursiveClass(className: string): this;
setStyle(key: string, value: string): HtmlBuilder;
setTextContent(content: string): HtmlBuilder;
toHtml(): string;
static createHtmlDocument(): HtmlBuilder;
createAndAppendToHead(tag: HtmlTag, attributes?: TagAttributes, content?: string): HtmlBuilder;
appendToHead(element: HtmlBuilder): HtmlBuilder;
createAndAppendToBody(tag: HtmlTag, attributes?: TagAttributes, content?: string): HtmlBuilder;
appendToBody(element: HtmlBuilder): HtmlBuilder;
static copyElement(element: HtmlBuilder, options?: {
deep?: boolean;
attributes?: boolean;
content?: boolean;
}): HtmlBuilder;
}