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<T = Element>(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