/** * Read a string-valued property from an element, with framework compatibility. * Prefers the DOM property (set by Angular/React bindings), and falls back to * the attribute when the property is unset. */ export declare const readStringProp: (el: T, prop: string) => string | undefined; /** * Given a light-DOM child that is assigned to a Shadow DOM of `host`, * find the top-level wrapper element that is directly slotted into `host`. * Falls back to climbing parents until reaching `host`. */ export declare const findTopLevelSlottedWrapper: (child: HTMLElement, host: HTMLElement, slot?: HTMLSlotElement | null) => HTMLElement; /** * Compare two nodes by their position in the document for stable ordering. */ export declare const compareDomOrder: (a: Node, b: Node) => number; export declare const addScrollToRect: (rect: DOMRect) => DOMRect; export declare const getElementScrollBoundingClientRect: (element?: HTMLElement | null) => DOMRect | null; /** * Ensures that `rel="noopener noreferrer"` is included when `target="_blank"` is set. * noopener prevents the new page from accessing `window.opener`; noreferrer omits the Referer header. * * @param target - The target attribute value (e.g., "_blank") * @param rel - The existing rel attribute value (if any) * @returns The rel attribute value with "noopener" and "noreferrer" when target="_blank" */ export declare const getSecureRelAttribute: (target: string | undefined, rel: string | undefined) => string | undefined;