export declare enum NODE_TYPE {
    ElementNode = 1,
    TextNode = 3,
    CommentNode = 8,
    DocumentNode = 9,
    DocumentTypeNode = 10,
    DocumentFragment = 11
}
export declare function closestElement(selector: string, base?: Element): Element;
/**
 * Get direct child elements / nodes from from any element (for when querySelectorAll(':scope > .selector') fails)
 * @param el - a root element to query from
 * @param sel - a query selector string
 * @param elesOnly - return only Elements (no Nodes)
 * @returns an array of direct child DOM nodes
 */
export declare function getDirectChildren<T = HTMLElement>(el: Element, sel: string, elesOnly?: true): Array<T>;
export declare function getDirectChildren<T = HTMLElement>(el: Element, sel: string, elesOnly?: 'slot'): Array<T>;
export declare function getDirectChildren<T = HTMLElement>(el: Element, sel: string, elesOnly?: false): Array<T | Node>;
export declare const getSiblings: <T extends Element>(el: Element, sel?: string) => Array<T>;
export declare function getOffset(element: HTMLElement, parent: HTMLElement): {
    top: number;
    left: number;
};
