import { AnimationFrame } from '../types/safeTypes';
import { Slot } from 'vue';
/**
 * @param el
 * @returns
 */
export declare const isElement: (el: HTMLElement) => boolean;
/**
 * @param el
 * @returns
 */
export declare const getBCR: (el: HTMLElement) => DOMRect | null;
/**
 * @param excludes
 * @returns
 */
export declare const getActiveElement: (excludes?: never[]) => Element | null;
/**
 * @param el
 * @returns
 */
export declare const isActiveElement: (el: HTMLElement) => boolean;
/**
 * @param el
 * @param options
 * @returns
 */
export declare const attemptFocus: (el: HTMLElement, options?: {}) => boolean;
/**
 * Attempt to blur an element, and return `true` if successful
 *
 * @param el
 * @returns
 */
export declare const attemptBlur: (el: HTMLElement) => boolean;
/**
 * @param el
 * @param prop
 * @returns
 */
export declare const getStyle: (el: HTMLElement, prop: string) => string | null;
/**
 * @param parent
 * @param child
 * @returns
 */
export declare const contains: (parent: Node, child: Node) => boolean;
/**
 * @param el
 * @returns
 */
export declare const isVisible: (el: HTMLElement) => boolean;
/**
 * @param slot
 * @param data
 * @returns
 */
export declare const isEmptySlot: (slot: Slot | undefined, data?: any) => boolean;
/**
 * @param el
 * @returns
 */
export declare const offset: (el: HTMLElement) => {
    top: number;
    left: number;
};
/**
 * Select a single element, returns `null` if not found
 *
 * @param selector
 * @param root
 * @returns
 */
export declare const select: (selector: any, root: any) => any;
/**
 * @param selector
 * @param root
 * @returns
 */
export declare const selectAll: (selector: any, root: any) => any[];
/**
 * @param el
 * @param attr
 * @returns
 */
export declare const getAttr: (el: HTMLElement, attr: string) => string | null;
/**
 * @param el
 * @param attr
 * @param value
 */
export declare const setAttr: (el: HTMLElement, attr: string, value: string) => void;
/**
 * Remove an attribute from an element
 *
 * @param el
 * @param attr
 */
export declare const removeAttr: (el: HTMLElement, attr: string) => void;
/**
 * @param tag
 * @param name
 * @returns
 */
export declare const isTag: (tag: any, name: any) => boolean;
export declare const requestAF: AnimationFrame;
