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; }