import type { TemplateResult } from './Html';
/**
* The `Renderer` class.
*
* @public
*/
export declare class Renderer {
private static readonly _document;
/**
* Constructs a new instance of the `Renderer` class.
*
* @public
*/
constructor();
/**
* @public
*/
createElement(name: string): T;
/**
* @public
*/
createComment(value: string): Comment;
/**
* @public
*/
createText(value: string): Text;
/**
* @public
*/
appendChild(parent: Node, newChild: Node | TemplateResult): Node;
/**
* @public
*/
insertBefore(parent: Node, newChild: Node, refChild: Node | null, isMove?: boolean): void;
/**
* @public
*/
insertAfter(newChild: Node, refChild: Node): void;
/**
* @public
*/
clear(parent: Node): void;
/**
* @public
*/
removeChild(parent: Node, oldChild: Node): void;
/**
* @public
*/
remove(node: Node, parent?: Node): void;
/**
* @public
*/
selectRootElement(selectorOrNode: string | Node, preserveContent?: boolean): Element;
/**
* @public
*/
parentNode(node: Node): ParentNode | null;
/**
* @public
*/
nextSibling(node: Node): ChildNode | null;
/**
* @public
*/
setAttribute(el: Element, name: string, value?: string, namespace?: string): void;
/**
* @public
*/
removeAttribute(el: Element, name: string, namespace?: string): void;
/**
* Adds a class to the element event the class not exist.
*
* @public
*/
addClass(e: Element, name: string): void;
removeClass(e: Element, name: string): void;
setStyle(e: HTMLElement, style: string, value: unknown): void;
removeStyle(e: HTMLElement, style: string): void;
setProperty(el: Element, name: string, value: string): void;
setValue(node: Node, value: string): void;
}
/**
* @public
*/
export declare class RendererServiceLocator {
private static _current;
static get current(): Renderer;
static isSet(): boolean;
static set(current: Renderer): void;
}
//# sourceMappingURL=Renderer.d.ts.map