/**
* HTML element or selector that will be passed to `document.querySelector()`
*/
export type ElementOrSelector = Element | string;
/**
*
*/
export type SettableAttributeValue = string | null | undefined;
/**
* Appends given element to the given container
* @param el Element to append
* @param to Container
* @returns Container
*/
export declare function mount(el: Element, to: ElementOrSelector): Element | undefined;
/**
* Sets attributes of an element. Ignores `id`, `class` and `style` attributes.
*
* @param el Element to set attributes of
* @param attrs Attributes object
* @param clear If `true`, all element attributes will be cleared
*/
export declare function setAttrs(el: Element, attrs: Record): void;
/**
* Clears attributes of an element.
*
* @param el Element whose attributes must be cleared
*/
export declare function clearAttrs(el: Element): void;
/**
* Sets an attribute of an element
*
* @param el Element
* @param name Attribute name
* @param value Attribute value
*/
export declare function setAttr(el: Element, name: string, value: SettableAttributeValue): void;
/**
* Creates and appends to the `` a unique style element. Behavior:
*
* 1. If there's no element with the given ID, will create a style element.
* 1. If existing element **is** a style, won't do anything.
* 1. If existing element **is not** a style, it will be replaced with a style element
*
* @param id Style ID
* @param css CSS styles
* @returns Created style element
*/
export declare function createStyle(id: string, css: string): HTMLElement;