import { 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 behaviour of the element. * @param isClient */ export declare function safelyDefineCustomElement(name: string, constructor: CustomElementConstructor, isClient?: boolean): void; /** * Sets an attribute on the given `el`. 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; /** * 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;