export declare function getShadowRootOrDocument(elem?: HTMLElement): HTMLDocument | ShadowRoot; export declare function closestShadowRootOrBody(element: HTMLElement): HTMLBodyElement | ShadowRoot; /** * Checks if element is nested within parent element on any level. * @param parent * @param child */ export declare function isDescendant(child: Element, parent: Element): boolean; /** * Find correct event target. * @param e */ export declare function getEventTarget(e: any): any; export declare function isInputArea(el: HTMLElement): boolean; /** * Cross-browser element.classList.contains * @param element HTML DOM element * @param className Class name without dot. */ export declare function classListContains(element: HTMLElement, className: string): boolean; /** * Search parent element by class name. * @param el HTML DOM element * @param className Class name without dot. */ export declare function findSelfOrAncestor(el: HTMLElement | null, className: string): HTMLElement | null; /** * Search parent element by attribute name. * @param el HTML DOM element * @param className Attribute name. */ export declare function findSelfOrAncestorAttr(el: HTMLElement | null, attrName: string): HTMLElement | null; /** * Get element's numerical index in its parent element. * @param el HTML DOM element */ export declare function findElementIndex(el: Element): number; export declare function isTouchEventsEnabled(): boolean; export type DomEventCoordinates = { pageX: number; pageY: number; clientX: number; clientY: number; }; export declare function getEventCoordinates(event: MouseEvent | TouchEvent | PointerEvent): DomEventCoordinates; export declare function reversePopupRotation(popupWrapperToRotate: HTMLElement, rotation: number, iconToRotate?: HTMLElement): void; /** * Simulate mouse event. * @param element * @param eventType */ export declare function triggerMouseEvent(element: Element, eventType: string): void; export declare function triggerFullStackClick(element: Element): void; /** * Removes most dangerous tags from html string. **/ export declare function sanitizeHTML(input: any): any; /** * Returns the highest accessible window (`top` or `parent`) without throwing. * * Safely handles cross-origin iframe scenarios where accessing `window.top` * or `window.parent` may throw a `SecurityError`. * * Fallback order: * - `window.top` (if accessible) * - `window.parent` (if accessible) * - current `window` * * See DOC-7339 * * @ignore */ export declare function getSafeTopWindow(): Window; /** * Resolves a global option from the window hierarchy in a safe way. * * The lookup prioritizes the current `window` and falls back to the highest * accessible parent window (`top` or `parent`) when running inside iframes. * * Designed to work in cross-origin environments without throwing * `SecurityError` exceptions. * * See DOC-7339 * * @ignore * * @param key - The global option name to resolve. * @returns The resolved option value, or `null` if not found. */ export declare function resolveGlobalWindowOption(key: string): T | null;