import type { LitElement } from 'lit'; /** * Requests an animation frame and waits for it to be resolved. * * @param callback - Invoked on the next animation frame. */ export declare function raf(callback?: () => void): Promise; /** * Builds an `exportsparts` attribute value given an array of `parts` and an optional `prefix`. * * @param parts * @param prefix */ export declare function buildExportPartsAttr(parts: string[], prefix: string | ((part: string) => string)): string; /** * Registers a custom element in the CustomElementRegistry. By "safely" we mean: * * - Called only client-side (`window` is defined). * - The element is only registered if it hasn't been registered before under the given `name`. * * @param name - A string representing the name you are giving the element. * @param constructor - A class object that defines the behavior of the element. * @param isClient */ export declare function safelyDefineCustomElement(name: string, constructor: CustomElementConstructor, isClient?: boolean): void; /** * Sets an attribute on the given `element`. If the `attrValue` is `undefined`or `null` the * attribute will be removed. * * @param element - The element to set the attribute on. * @param attrName - The name of the attribute. * @param attrValue - The value of the attribute. */ export declare function setAttribute(element: Element, attrName: string, attrValue?: string | boolean | undefined | null): void; /** * Sets an attribute on the given `element` if it does not have the attribute set. * * @param element - The element to set the attribute on. * @param attrName - The name of the attribute. * @param attrValue - The value of the attribute. */ export declare function setAttributeIfEmpty(element: Element, attrName: string, attrValue: string): void; /** * Sets a CSS property on the given `element`. * * @param element - The element to set the CSS property on. * @param name - The name of the CSS property. * @param value - The value of the CSS property. * @param prefix - The library CSS property prefix (default: 'vds'). */ export declare function setCSSProperty(element: HTMLElement, name: string, value?: string | null, prefix?: string): void; /** * Returns elements assigned to the given slot in the shadow root. Filters out all nodes * which are not of type `Node.ELEMENT_NODE`. * * @param el - The element containing the slot. * @param name - The name of the slot (optional). */ export declare function getSlottedChildren(el: HTMLElement, name?: string): Element[]; export declare function getElementAttributes(elementCtor: typeof LitElement): Set; export declare function observeAttributes(element: Element, attributes: Set, onChange: (attrName: string, attrValue: string | null) => void): MutationObserver; //# sourceMappingURL=dom.d.ts.map