export default function wrap(node: HTMLElement | string): INode;
export interface INode {
    /**
     * Adds the given attributes to the node.
     *
     * @param map the attribute map
     */
    addAttributes(map: {}): INode;
    /**
     * Removes the given attributes from the node.
     *
     * @param qualifiers the attributes qualifiers
     */
    removeAttributes(...qualifiers: string[]): INode;
    /**
     * Returns the attribute value
     *
     * @param qualifier the attribute qualifier
     */
    getAttribute(qualifier: string): string | null;
    /**
     * Adds the given attributes to the nodes dataset
     *
     * @see https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
     */
    addDataAttributes(map: {}): INode;
    /**
     * Adds the given classes to the node.
     *
     * @param classes the classes to add
     */
    addClasses(...classes: string[]): INode;
    /**
     * Removes the given classes from the node.
     *
     * @param classes the classes to remove
     */
    removeClasses(...classes: string[]): INode;
    /**
     * Check if classList contains className
     *
     * @param className the class which should be contained
     */
    containsClass(className: string): boolean;
    /**
     * Appends the given node to the node.
     *
     * @param node the node to add
     */
    appendChild(node: INode | string): INode;
    /**
     * Adds the given class name to the node if missing. Removes it otherwise.
     *
     * @param className the class name
     */
    toggleClass(className: string): void;
    /**
     * Get the parent by class of the node
     */
    getParentByClass(className: string): INode | undefined;
    /**
     * Returns the first element with an id attribute. Yields null if no element was found.
     */
    getChildWithId(): INode | null;
    toggle(): void;
    onClick(callback: (e: MouseEvent) => void, options?: AddEventListenerOptions): void;
    parent(): INode | null;
    removeChild(node: INode): void;
    unwrap(): HTMLElement;
    find(selector: string): INode;
    findAll(selector: string): Array<INode>;
    innerText(str?: string): INode;
    setStyle(map: {
        [key: string]: string;
    }): INode;
    setName(name?: string): INode;
    setId(id?: string): INode;
    setRequired(required?: boolean): INode;
}
